Open For Enrollment

Would you like to enroll?

Enrollment for this course has closed. But you can enroll in a future offering (please select)

Enrollment has closed

Enrollment for this course is currently closed, but the next offering will be available shortly. Check back soon!

10 Sessions (adaptive)
Audit (Free)
Certificate (Incl. w/ Premium)
Stanford University
Creative Computing
Skill Level
Video Transcripts
Synthesis, Digital Arts, Max/MSP, Signal Processing, Open Sound Control, Interactive Audio and Video
Course Description

Max is a powerful platform that accommodates and connects a wide variety of tools for sound, graphics, music and interactivity using a flexible patching and programming environment. Max allows most computer users to write a simple, meaningful program within a few minutes, even with limited programming knowledge. But to do something more substantial it's necessary to approach Max as an actual programming language, by taking advantage of its various mechanisms for abstracting program elements into scalable, reusable components that can be combined in increasingly powerful ways.

This class will not cover every single capability of the language, but instead will focus on key concepts and mechanisms that will allow for tremendous new freedom and possibilities in Max. The class will touch upon:

  • sound and movie playback
  • sound synthesis
  • sound and video effects processing
  • algorithmic composition
  • cross-modal mappings (e.g., video affecting audio and vice versa)
  • interactive control (e.g., from QWERTY keyboard, mouse, USB devices, Open Sound Control)

Max programming, like most interesting topics, has deep aspects and shallow aspects. This course will largely focus on the deep aspects: principles, concepts, techniques, and theory. If you understand these underlying aspects, your capacity to create in Max will deepen exponentially.

At the same time, this is not just a theory class. You will also create your own projects using Max. This course will teach the minimum you need to start working on assignments, but mostly I will teach you how to learn or look up the shallow knowledge on your own using Max’s built-in documentation, the Internet, and the Kadenze course forum, as well as how to program your own tests that answer specific questions or reveal potential bugs. Working in this way, you will also develop essential skills and habits that will develop confidence and self-sufficiency, and serve you in the future.


This course is in Adaptive mode, and is open for enrollment. Learn more about Adaptive courses here.

Session 1: Introduction
This session will introduce you to Max, to this course, and how to get started.
Session 2: Fundamental Elements
This session will cover the fundamental elements of Max, getting to know the user interface for programming Max, and the basic mechanical steps of "patching" (ie. putting programs together).
Session 3: What's Really Going on Inside Max
Now that you’ve got the flavor of Max and you know how to put together your own patches, we’re going to dive deep into what’s really happening inside the computer as Max runs your patches. This session will cover a deeper understanding of Max Data and Data Flow.
Session 4: Getting Mathematical: Arithmetic, Logic, Matrices
In this session we’re going to get mathematical. We will cover integer and floating point numbers, randomness and noise, human perception(and why you often want to use a log scale when dealing with frequency or amplitude), Boolean true/false logic, and jitter matrices.
Session 5: Structuring Non-Trivial Patches
This session will cover best practices for naming, using sub-patchers and encapsulation in your patchers, as well as alternate data paths for larger programs.
Session 6: Abstractions, Files, and How Max Works
This session will recap and review the concepts we've learned in Max, Jitter, and MSP. It will also cover abstractions, Bpatchers, and collections.
Session 7: Data Types in Depth
This session goes into data types in depth, giving you a deeper understanding of MAX.
Session 8: Interactivity
This session will explore how to bring interactivity into your work. We will look at the mechanics of using an external device I/O through Max: MIDI, OSC, HID, what objects you use, and typical usage patterns.
Session 9: Max programming paradigms
This session will cover multiple instances of abstraction, making multiples with poly~, finite state machines, bottom-up and top-down design and development, and cross-modal mappings.
Session 10: Integrating MAX with Other Software and Languages
This session will discuss where you can take your Max programming, integrating Max with other computer paradigms, final thoughts, and extra resources, tools, and examples.
Show off your Certificate of Accomplishment

Verify Your Achievements
Whenever you complete a course as a premium member, you can earn a verified Statement of Accomplishment. These statements are proof that you completed an online course on our platform.

Easily Shareable
Using its unique link, you can share your statement with everyone from future employers and schools, to friends, family, and colleagues. It's the perfect tool to help you land that new job or promotion, apply to college, or simply share your achievements with the world.

Learning Outcomes

Below you will find an overview of the Learning Outcomes you will achieve as you complete this course.

Grading Policy
Course Great Breakdown Chart
Total: 100.00%

Plagiarism: We learn by doing our own work, and by collaborating with other students. Discussing course content and assignments with your peers is an important and helpful way to deepen your learning. However, encouraging others to copy your homework and submit it as their own is a form of cheating. So please don't post your completed assignments or correct answers to quizzes, tests, or other assessments to the discussion forums or in repositories outside of Kadenze.

Instructors & Guests
What You Need to Take This Course
  • Equipment: a computer that can run Max, and (ideally) also external controller hardware like a MIDI keyboard, Monome, Wacom tablet, etc.
  • Software: Max (Premium members can get a $40 discount off of annual subscriptions to Max 7. See Course Resources for the coupon code)
Additional Information

Please note: Taking part in a Kadenze course as a Premium Member, does not affirm that the student has been enrolled or accepted for enrollment by Stanford University.

Peer Assessment Code of Conduct: Part of what makes Kadenze a great place to learn is our community of students. While you are completing your Peer Assessments, we ask that you help us maintain the quality of our community. Please:

  • Be Polite. Show your fellow students courtesy. No one wants to feel attacked - ever. For this reason, insults, condescension, or abuse will not be tolerated.
  • Show Respect. Kadenze is a global community. Our students are from many different cultures and backgrounds. Please be patient, kind, and open-minded when discussing topics such as race, religion, gender, sexual orientation, or other potentially controversial subjects.
  • Post Appropriate Content. We believe that expression is a human right and we would never censor our students. With that in mind, please be sensitive of what you post in a Peer Assessment. Only post content where and when it is appropriate to do so.

Please understand that posts which violate this Code of Conduct harm our community and may be deleted or made invisible to other students by course moderators. Students who repeatedly break these rules may be removed from the course and/or may lose access to Kadenze.

Students with Disabilities: Students who have documented disabilities and who want to request accommodations should refer to the student help article via the Kadenze support center. Kadenze is committed to making sure that our site is accessible to everyone. Configure your accessibility settings in your Kadenze Account Settings.