Switch branches/tags
Nothing to show
Find file History
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


An Introduction

A first-day lesson plan for "Introduction to Interactivy and Computation" (60-210), a required course for sophomores at the Carnegie Mellon School of Art.


  • Roll call
  • What do you think this class is about?
  • What are some things you have seen?
  • What are some skills you may have?

Orienting Ourselves

Arting, with a Computer

Warhol drawing, 1985

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 ("Can a computer, austere and logical, be a tool for creative personal expression?"). Does this attitude still exist today?

Warhol article

Nowadays, people use computers for everything. Photoshop and such tools have been around more than a quarter century. In this course, we will distinguish between art that happens to have been made on a compute, and art which necessarily requires the development of new technology (software, circuits).

  • "When you use someone else's software, you are living in their dream."
    — John Maeda


Computing, Outside a School of Computer Science

  • How many of you have taken a computer science course? More than one?
  • As curious and creative people (inventors, artists, designers, musicians, etc.), in what ways have such courses disappointed you?
  • How many of you came to Art School in order to avoid computers?

Leah Buechley

Designer/educator/engineer, Leah Buechley, has observed that STEM 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 objects, rather than utilitarian solutions.

Of traditional computer science introductions, educator-innovator Mitch Resnick has remarked, "It's like offering a writing class that teaches only grammar and punctuation without provideing students a chance to write their own stories."

Mitch Resnick quote

This class is intended to address that.

It's possible that 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.

“Creative coding” describes the growing set of cultural practices by which artists, designers, architects, and poets employ computer programming and custom software as their chosen medium. This burgeoning field has been accelerated by the widespread adoption of open-source arts-engineering toolkits, such as Processing, p5.js, and openFrameworks, into the curricula of hundreds of art and design schools around the world. Created by artists, for artists, these toolkits are specifically oriented to the needs and working styles of cultural practitioners, and have radically democratized software development as a potent mode of creative inquiry.

  • 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.

We don't need much in order to make something powerful:

Sniffin' Glue

We can learn by hands-on tinkering and experimentation:

Changing stuff

Also, it takes a while:

Ira Glass on the Creative Process

How to

The tools we are using were made by artist-educators who care a great deal to improve the experiences of new learners. They have made lots of great resources to help you, including written documentation and video tutorials.

**Here are some of those people: **


The Challenge

Zachary Lieberman, in IdN Interaction Issue (December 2012), describes the challenge of making art by writing software as follows:

Lieberman quote

Computer Art is more than 50 Years Old

Lecture on Machine Art (time permitting)

Some exemplary recent works of poetic 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 software toolkits for the arts.

One defining characteristic of work that we can make with code is that it can be interactive: it can respond in a unique and open-ended way to its visitor/participant/observer.

Moth Generator Moth Generator by Everest Pipkin

Another defining characteristic of code as an artistic medium, is that it can be generative. We "make a thing that makes a thing":

Steinkamp Madame Curie by Jennifer Steinkamp

New media works can also function as self-standing artworks, public installations, provocations, apps. and much more:

If time permits, we'll watch a bit of:


Exercise 1: Blind Drawing

There are two drawings made by the Professor, Drawing-1 and Drawing-2.

  • Divide students into pairs. Call one person of each pair X, the other Y.
  • X students get Drawing-1.
  • Y students get Drawing-2.
  • Distribute blank paper and pens if necessary.
  • Pairs sit back to back without looking at the other’s drawing
  • X student describes their drawing to Y; Y tries to draw it from X's instructions. Switch at a reasonable time.
  • Y student describes their drawing to X; X tries to draw it from Y's instructions.
  • Pin up the drawings at the end, so people can see.
  • Group by X/Y.
  • Discuss the results.

Exercise 2: Conditional Design

These exercises are by the Conditional Design group.



First Step:
The first player draws a line. The other players draw a line that goes over and under the last drawn line.

In Turns:
The player elongates his/her line on both ends. The elongations have to go over and under a line of another player and may not go over the line of the same color twice in a row. When a line can no longer be elongated, it is considered dead for the rest of the game. When both ends of a line have died, the player may place a new line.


The Beach


Each player has one color pen. The paper is divided into 4 imaginary segments, in which a player operates. Each turn a player is either leader or follower. The players decide which person may be the leader first.

Clockwise in turns a player is the leader, for approx. 30 sec. The other 3 people are the followers. The leader draws freely in his segment using only straight lines. The followers must mirror the drawing of the leader, synchronously while he/she is drawing.

The ending of the game is decided by the player who proposed to play it.


The Beach

The Beach

Each turn, find the most empty space on the paper and place a dot in the middle of it.

Individual Work (Before Next Session)

  1. Create a (free) account on OpenProcessing.org.
  2. Create a (free) account on the p5.js Alpha Editor
  3. Spend some time browsing the p5.js Examples. Examine at least six Examples, including their code.
  4. Spend some time browsing the p5.js Reference. Examine at least 6 Reference pages, starting with the Shape commands.
  5. Browse CreativeApplications.net (using the login provided in class) and the MediaArtTube YouTube channel. Identify a project you find interesting. Later this week, you will be asked to write a paragraph about this project.

What Questions do You Have?