There are no specific course prerequisites for this course, but students must be familiar and comfortable with computer programming fundamentals, such as iteration, conditional testing, functional abstraction, static and dynamic memory structures, and object-oriented programming, as taught in a course like 15-104, 15-110, or 15-112. A strong foundation in mathematics, especially including geometry, algebra, and trigonometry, will also be very helpful. This course is taught primarily with JavaScript; students fluent only in Python may need to do some additional preparation.


60-212 provides 12 units of academic credit, and satisfies the software skills portal requirement for CFA (arts), Dietrich (humanities), 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.


Sketchbook. It is extremely wise to plan your projects on paper before writing any code. In support of this, you are required to maintain a paper sketchbook for this course.

Laptop. Students should have access to a personal laptop with a webcam. A reliable internet connection will be very important.

Software. Recent, well-updated installations of Mac OSX, Windows and Linux are all acceptable operating systems. However, although all of the programming toolkits with which we work are free and cross-platform, it is possible that example projects may only be provided for Mac OSX. This is a polyglot course; the programming environments used for example projects and sample code will be a mixture of p5.js (JavaScript), Unity3D (JavaScript or C#), Processing (Java), and Python.

Camera. Students should have access to some sort of camera to document their sketches. A smartphone with a camera is acceptable.


This course uses the following software systems to share information:

  • Zoom, for remote meetings. A link and password will be sent to you. (Note: we might switch to Discord.)
  • Email. The Professor will send emails once or twice a week. Please read them.
  • This WordPress website, through which you will publish your projects.
  • A Google Calendar,