• Bill Turkel,, Lawson Hall 2267, Mondays 2:30-3:30
  • David Brown (TA),, Arts and Humanities 1R14, Fridays 3:00-4:00
  • Nandita Dutta (TA),, Arts and Humanities 1R14, Wednesdays 11:00-12:00
  • Antonio Jimenez-Mavillard (TA),, Arts and Humanities 1R14, Wednesdays 3:30-4:30

Course Description

This is a first course in programming, intended for students of all backgrounds. No prior experience is necessary. We will be using the Max 7 language from Cycling 74. It is a great choice for working with all of the kinds of sources that humanists typically care about: sound, music, text, images, video, computer graphics and real time performances. You can learn more about Max at

The main idea of the course is that programming can be a way of exploring the kinds of questions that humanists and artists have always been interested in: what is true? what is beautiful? how can we be sure of what we know? what does it mean to be human? what does it mean to be alive? Computer programs can also provide humanists, artists and social scientists with ways of communicating with one another. Plus, it is a lot of fun!

Course Objectives

  • Use programming as a means of expression and a way of communicating with other people
  • Explore humanistic topics using the medium of code
  • Explore the relevance of basic computational ideas to the arts and humanities
  • Learn about designing real-time, interactive applications

Learning Outcomes

  • Gain experience with programming in a dataflow language
  • Develop systems for real-time interaction using a variety of artistic media

Required Software and Equipment

To get the most out of this course, you will need a Windows or Mac laptop, which you should bring to every class.

You are advised to purchase a license for Cycling 74′s Max 7 software. A four-month subscription is US $40 and a 12-month license costs US $59. For this course you only need a license for the term, but a permanent academic license is also available for US $250 if you would like to continue to program in Max in the future. The software is available for both Windows and Mac computers. There are also a few licenses installed on computers at Western. Contact me if you would like details about using those.

Getting a Copy of Code Discussed in Class

After each day’s class, I will post links to online copies of all of the programs that we discussed that day. You don’t have to recreate these Max patches from scratch. Each program has a link on this page. When you follow that link you will find a picture of the program and a “raw code link”. You can download the program by following these steps:

  1. Click on the raw code link. This will take you to a web page at the code sharing site Github.
  2. Select all of the code on that page (on the Mac you can use Command-A).
  3. Copy it (on the Mac use Command-C).
  4. Go to Max 7 on your computer.
  5. Choose File -> New from Clipboard.
  6. Save that new patch somewhere on your own machine.

All code from the course is also available on GitHub:

Topics to be covered

  • Introduction to Max and the idea of dataflow programming
  • Basic objects, patch cords and messages
  • Introduction to MIDI and electronic musical instruments
  • Scaling, clipping and randomness
  • Games, simulations and state spaces
  • Graphics, animation and algorithmic art
  • Introduction to audio waveforms and basic signal processing
  • Electronic music and sound design
  • Introduction to real-time video manipulation

Detailed Schedule

More information will be posted in advance of each class.


Your grade will be based on four assignments and two exams. You will not be permitted to use any electronic devices during the examinations.

  • Four programming assignments (12% each, total 48%)
  • In-class mid-term examination (22%)
  • Final examination (30%)

You will submit your assignments using the OWL site for the course, but all of the other course information will be on this site.

OWL site (Western username / password required)


Late Work and Attendance

In general I don’t penalize late work. Each assignment will have a suggested due date. If you are unable to complete the assignment by that date, send me an e-mail and let me know when you expect to finish the work. Any assignment which is not handed in before midnight of the last day of winter term classes (8 April 2015) will not be counted toward your final grade.

I expect you to attend every class and participate in the day’s activities.

If you are unable to meet a course requirement due to illness or other serious circumstances, you must provide valid medical or other supporting documentation to the Dean’s office as soon as possible and contact me immediately.

Regarding absence for medical illness, see the Policy on Accommodation for Medical Illness:

Approval from the Dean’s Office is required for non-medical absences from examinations.

Statement on Academic Offences

Scholastic offences are taken seriously and students are directed to read the appropriate policy, specifically, the definition of what constitutes a Scholastic Offence, at the following Web site:

Support Services

Students who are in emotional/mental distress should refer to Mental Health@Western

for a complete list of options about how to obtain help.

Useful Links