There are no specific course prerequisites for this course. Although coding skills are not absolutely mandatory, they can be extremely helpful, and it is recommended that students already be demonstrably comfortable with the basics of programming, such as for() loops, if() statements, arrays, and objects, as taught in courses like 15-104, 15-110, 15-112, or an equivalent. Students who are inexperienced in coding should be prepared to fake it.


60-461/761 provides 12 units of academic credit.


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. The programming environments used for example projects and sample code will be Unity, Processing (Java), Python, OpenFrameworks (C++), and p5.js (JavaScript). For OpenFrameworks, students should be prepared to install a suitable IDE (such as XCode or Visual Studio).

Camera. A smartphone with a camera will also be helpful. Students should have access to a camera to document their work. This could be a smartphone camera if necessary.

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


This course uses the following software systems to share information:

  • Email. The Professors will send emails once or twice a week. Please read them.
  • This WordPress website, through which students publish Deliverables.
  • A Google Calendar,