September 1

Prelude to a Semester of Art Hacking

Welcome & class logistics (briefly):

Please be informed about the Deliverables due on Thursday September 3.

Some Perspectives on Art.

Here are two relevant perspectives on Art.

John Maeda, in a quote about purpose of art from the New York Times:













Jean Tinguely on Art and Poetry:

Maeda says art is the thing worth living for; Tinguely says art is bullshit. Are they talking about the same thing? Tinguely is referring to forms which have become encrusted with idioms and rules and expectations. What Maeda calls art, Tinguely calls life itself.

Arting, with a Computer

The first exhibitions of computer art were in 1965, fifty years ago, featuring work by Georg Nees, Frieder Nake, and Michael Noll. Computer art is older than acrylic paint. In the mid-1960s there were fewer than a dozen artists working with computers. Their work looked like this:

In 1985, Andy Warhol, at the height of his career, and widely held to be the pre-eminent American artist, made some drawings with a computer. It was scandalous and provocative; most painters wouldn’t have been caught dead anywhere near a computer. Magazines wrote articles like the one below. Does this attitude still exist today?


Computing, outside a School of Computer Science

  • How many of you have taken a programming computer science course? More than one?
  • How many of you are considering taking Computer Science courses?
  • As curious and creative people (inventors, artists, designers, musicians, etc.), in what ways have such courses disappointed you?

Leah Buechley has observed that “STEM” (Science, Technology, Engineering, Math) subjects generally fail to educate students who:

  • Learn concretely (from examples) rather than abstractly (from equations)
  • Work improvisationally rather than by planning everything in advance
  • Are interested in creating expressive, rather than utilitarian, projects.

STEM education might benefit from the inclusion of arts-oriented pedagogic approaches. But that’s not the problem that concerns us in this room. Instead, in a world in which computing now touches every discipline, it should no longer be taken for granted that computing must be taught by computer scientists. Computer Science is a discipline, but programming is a skill (or a tool, or a medium, or better yet, a craft) which has different communities of use with different pedagogic needs.

This class is intended to address that.
Our objective is to make stirring and provocative new forms of culture.
Our medium is software and electronics.
We learn codecraft as necessary to execute our ideas.

Why We Are Here

Artists need a seat at the table: a voice in critiquing technological agendas and establishing new ones. To achieve this, we need to be hybrids. We are here to attain this hybridity. We will be working with arts-engineering tools made for artists, by artists — for this class, p5.js.

How Shall We Live in the World?

Challenges and Perils to making Art with Computers

Zachary Lieberman in IdN Interaction Issue (December 2012)poems-not-demos






Jim Campbell, “Formula for Computer Art” (Early 2000s).

Some exemplary works of poetic and critical computing

Unlike large Pixar productions with hundreds or sometimes thousands of credits, nearly all of these projects were created by just one or two individuals. This is often made possible (in part) by leveraging the strengths of open-source arts engineering toolkits. It’s also the case that these practitioners have profound hybridity.

Some previous projects by my students at Carnegie Mellon

What can a student do?

Getting Started with p5.js

Let’s watch Lauren’s video for Hello p5.js.

Download the p5.js editor for your operating system from here. Note: for the first day or two of class, we will use the p5.js editor, but we will likely dispense with it soon, and do most of our development in Sublime Text and the Chrome Browser.


  • IDE; run code
  • Browse examples (online & downloaded)
  • Examine & discuss code elements
  • Publishing: how to
  • Errors, browser console, printing to console
  • Variables linked to visual properties
  • Graphics: ellipse, rect, color, coordinates, responding to button press


FYI, the teaching assistants took notes from Roger’s lecture on Monday; their notes are here.