Interactive Art and Computational Design

Spring 2015 Syllabus
Prof. Golan Levin


Course Numbers: 60-412, 62-726, 51-482, 51-882
Location: CFA-111, CFA building, CMU
Time: Tuesday/Thursday mornings, 8:30-11:30am
Course Calendar:


This is an advanced studio course in arts-computing and new media practice, with a special emphasis on generative design, information visualization, and experimental interaction design. Our core objective is the creation of new culture through exploratory software development. Topics surveyed in the course will be tailored to student interests, and may include: experimental interface design, data-driven cultural analytics, game design, real-time audiovisuals, locative and mobile media, computational form-generation, image processing and vision-based interactions, simulation, and other topics. Through a small number of exploratory assignments and a public capstone project, students will bolster interdisciplinary problem-solving abilities and explore computation as a medium for curiosity-driven experimentation.


Upon successful completion of this course, students will:

  • Gain familiarity with the repertoire of artists, designers, works and activities around interactive art, information visualization, and computational design
  • Have practical skills in the use of popular open-source arts engineering tools, such as Processing and OpenFrameworks, for new-media arts development
  • Understand the use of computational techniques in 2D and 3D form generation
  • Learn how to execute a project iteratively from prototype to final work
  • Learn how to document and present creative work in person and online


Students should have access to a personal laptop; OSX, Windows and Linux are all acceptable. However, although nearly all of the toolkits with which we work are free and cross-platform, example projects will generally only be given for OSX. An Android or iOS smartphone may also be helpful for some projects.

Except where otherwise indicated, students may develop projects in their preferred programming environment. The programming environments used for example projects and sample code are Processing (Java), Python, JavaScript, and OpenFrameworks (C++). For OpenFrameworks, students should have a suitable IDE installed (such as XCode or Visual Studio). Auxiliary (optional) workshops will include Max/MSP and Arduino toolkits.


Enrolling students are expected to have demonstrable programming skills, without exception, beyond the level of an introductory class such as 15-112. Although the course will provide technical overviews of major arts-engineering toolkits, assignments may be executed (except where indicated) in the student’s preferred programming environment. Graduate students should register for section 51-882, which meets with the undergraduate sections 60-412, 51-482, and 62-726.


Spring 2015: 12 Units
Spring 2016 and beyond: 18 Units


There are five main assignments: Four small projects due at (approximately) 14-21 day intervals, and a Capstone project with a proposal, check-in, and public exhibition phase. Additionally, students must make weekly “Looking Outwards” research reports based on Internet research. More details are on the Assignments page.