Creative Coding and Software Design 2

Spring 2018

Instructor - Grigore Burloiu / moc.liamg|uiolrubg#moc.liamg|uiolrubg

Credits - 6 ECTS

Course Prerequisites

This class assumes a high degree of computer and media literacy, but not a high degree of programming ability. A logical, structured approach to solving creative problems is encouraged. Previous experience with visual or interpreted programming languages is a plus, but not required.

Course Description

This course builds on the programming experience gathered in the first semester, turning the focus to visual, interpreted (non-compiled) programming. We continue the exploration of event-driven, concurrent real-time processes, and how to design them into systems that implement various behaviours, user interfaces and graphical outputs. The results will be complete user-facing interactive applications, made possible by a swift prototyping and experimentation workflow.

Course Objectives

Students in this course will:

  • aquire a solid level of audio/video programming proficiency using Cycling’74 Max
  • gain conceptual and practical knowledge of human-computer interaction using Max
  • understand elements of control mapping, physical modelling, 3D graphics
  • complete an interactive creative coding project

Course Structure

This course will be comprised of 11 weekly classes, 1 final project proposal, and 1 final project. Additionally, there will be small weekly homework assignments, which we will go over and build upon in class. Homework assignments will often be supplemented by reading unless otherwise noted.

The grading breakdown is as follows:

  • Class attendance and participation (25%).
  • Weekly homework studies (15%): to be published on Github by the due date.
  • Final project proposal (10%): to be presented to class and approved.
  • Final project (50%): each project is individual, and can be any application showing creative skills and design clarity, as approved based on your proposal.


  • Electronic Music and Sound Design - Theory and Practice with Max/MSP, by Alessandro Cipriani and Maurizio Giri.
  • Multimedia Programming using Max/MSP and TouchDesigner, by Patrik Lechner.
  • Max Documentation. Link
  • MOOCs

  • Guides (older)

Class Schedule

This schedule is subject to change depending on the interests and pace of the class, etc. All code prepared for the class is available here.

Max Cheat Sheet

Week 1 (23.02): Introduction to visual programming and Max.

  • Slides
  • Reading: recap CC first semester.
  • Assignment (due before following class): Max Tutorials 1 - 5.

Week 2 (1.03): Different media types and Max. Good patching practices.

  • Slides
  • Assignment (due before following class): Max Tutorials 6 - 8.

Week 3 (8.03): Data mapping. Control interfaces.

Week 4: Timing, sequencing and temporal form in Max. Algorithmic composition, probability and randomness.

  • Slides
  • Reading: Student choice
  • Assignment (due before following class): Create a generative sequence in Jitter.

Week 5: Live & recorded video processing and analysis in Jitter.

Week 6 Sensory input and physical computing: Arduino, sensors, and HCI.

Week 7 Project proposals.

Week 8 Live. Max for Live. Instrument and effect devices. The Live API.

Week 9 Network communication. OSC in Max. Networked performance.

Week 10 Elements of OpenGL in Jitter (//Unreal?). Physical models.

Week 11 Max software encapsulation and presentation.

Week 12 Interactivity design issues.

Week 13 Final project discussion.

Final: Final Project Presentations.

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License