There are no specific course prerequisites for this course, but students must be familiar with programming basics, 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.


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.


Laptop. Students should have access to a personal laptop. Recent, well-updated installations of Mac OSX, Windows and Linux are all acceptable operating systems. However, although nearly 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. A smartphone that supports a JavaScript-enabled web browser may also be helpful for some projects.

Sketchbook. It is wise to plan your projects on paper before writing any code. You are therefore requested to maintain a paper sketchbook for this course.


This semester we may make occasional reference to the following media. You may purchase them if you wish.


This course uses the following software systems to share information: