Learning Objectives

Upon successful completion of this course, students will:

  • be proficient in creating basic computer programs capable of responding graphically to user interaction; and
  • have developed an understanding of the underlying concepts of computation and their role in the arts.

Required Course Materials

Laptop. It is strongly recommended that students have access to a personal laptop. Mac OSX, Windows and Linux are all acceptable. However, although all of the toolkits with which we work are free and cross-platform, example projects may only be tested on OSX.

Sketchbook. It is wise to plan your projects on paper before writing any code. We recommend the 5″x8.25″ Moleskine dotted notebook, but any sketchbook will do.

Optional Course Materials

This semester we will be making occasional reference to the following two textbooks, and their associated online materials (YouTube videos, Github code repositories, etc.). You may purchase them if you wish.

(Why aren’t they required? Well, McCarthy’s book is not available until mid-semester, and Shiffman’s book uses examples written in Java instead of JavaScript.)

Credits & Prerequisites

15-104 and 60-212 provide 10 units of academic credit, and satisfy the software skills portal requirement for CFA (arts), Dietrich (humanities) college and other students pursuing IDeATe minors and concentrations. 60-212 additionally satisfies the same Electronic Media Studio requirement as 60-210 (sometimes called EMS2) for students pursuing BFA and BXA majors in the School of Art. There are no prerequisites for this course.


This course expects students to produce weekly Deliverables, which consist of:

  • Assignments, which are submitted through Autolab, and
  • Projects and Looking Outwards reports, which are posted on this site.

The last of the Projects is a Capstone project with a proposal, check-in, and final presentation phase. More details are on the Deliverables page.

Rubrics (evaluation and grading criteria) for deliverables can be found here.

Communication Tools

This course uses three software systems:

  • Autolab, through which students submit Assigments;
  • This WordPress blog, through which students publish Projects and reports;
  • A Piazza forum, for public and private discussions among the classmembers and course staff.

15-104 and 60-212 share a Piazza forum, where you can ask and answer questions, and discuss course topics. The system is highly catered to getting you help fast and efficiently from classmates, the TA, and the professors. Rather than emailing questions to the teaching staff, we encourage you to post your questions on Piazza. Find our class page at: You should already be “enrolled” on Piazza (use your Andrew ID). Please contact your professor if you need to be added.