This course is also part of the program:

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!

8 Sessions (adaptive)
Audit (Free)
Certificate (Incl. w/ Premium)
Program ($600 USD)
California Institute of the Arts
Music, Creative Computing, Music Technology
Skill Level
Video Transcripts
English, Spanish; Castilian
Chuck, Digital Arts, Computer Programming, Sound Design, Coding Techniques
Course Description

The course, lecture, and examples build on each other to teach the fundamentals of programming in general (logic, loops, functions, objects, classes) and also deals with advanced topics including multi-threading, events and signals. Throughout the course, students create meaningful and rewarding expressive digital “instruments” that make sound and music in direct response to program logic. The ChucK language provides precise high-level control over time, audio computation, and user interface elements (track pad, joysticks, etc.). ChucK is used (unknowingly in most cases, via SMule Apps) by millions of users throughout the world, and is the backbone of dozens of academic programs and laptop orchestras. Learning to program using ChucK, through the musical examples provided in this course, will prepare students to program in C++, Java, and other languages. There will be special guest lectures from creators of the ChucK language, Dr. Ge Wang (Stanford University) and Dr. Perry R. Cook (Princeton University).


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

Session 1: Basics: Sound, Waves, and ChucK Programming
Let's begin with the basics of ChucK and computer science, including variables, types, conditional statements, and looping structures.
Session 2: Libraries and Arrays
This session introduces libraries built in ChucK, and shows how random numbers and different mathematical equations can be used to make more expressive compositions. We also introduce arrays and show how to use them to make melodies.
Session 3: Sound File Manipulation
This session we introduce how to use sound files in ChucK and how you can use them to create soundscapes and a techno song.
Session 4: Functions
This session will introduce the concept of functions and how they can be used in modularizing and organizing your code, and help you create more expressive compositions.
Session 5: Unit Generators and Physical Models
This session we are going to learn how to make audio effects! Through ChucK we will be using built-in synthesis techniques and other concepts to strongly enhance the sounds you use to make your.
Session 6: Multi-Threading and Concurrency
This session our topic will be multi-threading, or how you can make your program "juggle" multiple things at the same time.
Session 7: Objects and Classes
Our focus this session will be object-oriented programming and how you can create your own "objects" to use in your code.
Session 8: Live Control: Keyboard, Mouse, MIDI & OSC
Learn how to bring your programming skills into a Live Performance using HID, MIDI and OSC.
Learning Outcomes

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

Whenever you complete a course as a premium member, you can earn a verified Certificate of Accomplishment .

This course is also part of the Program: Foundations of Music Technology. Earn a verified Specialist Certificate for successfully completing a Program.

These certificates are proof that you completed an online course on our platform and can easily be shared with its unique link.

Credit Elligible Program
This course is one of 4 courses in the Foundations of Music Technology Program and is offered for credits from California Institute of the Arts.

Earn a verified Specialist Certificate after successfully completing a Program. And whenever you complete a course as a Premium member, you earn a verified Certificate of Accomplishment . These certificates are proof that you completed an online course on our platform and can easily be shared with its unique link.

Instructors & Guests
What You Need to Take This Course
  • Materials: The ChucK Book
  • Equipment: Computer with installation privileges
  • Software: Download the ChucK software for MacOS X, Windows, and Linux here. It is recommended you have ChucK open and running while watching the lectures so that you can try out some of the concepts as you move through the videos.

Knowing how to navigate and utilize your computer beyond surfing the web will be a vital asset to this course. If you haven’t already, start looking into the command line of your operating system and get a feel for how it works. You will find yourself reaching a point with your projects that miniAudicle cannot handle everything you want it to do.

Not everyone will come from a musical background or have the ability to compose but this class is not just about music. It uses music as a creative and stimulating environment for programming. In the end, you will be learning computer science as well as how to use programming skills for creative projects.

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 California Institute of the Arts.

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.

Plagiarism: Plagiarism is the use of ideas and/or quotations (from the Internet, books, films, television, newspapers, articles, the work of other students, works of art, media, etc.) without proper credit to the author/artist. While the argument in a paper can be enhanced by research, students are cautioned to delineate clearly their own original ideas from source material. Students should introduce source material (either quoted or paraphrased); note when the source material ends; and provide citations for source materials using standard documentation formats. According to CalArts policy, students who misrepresent source material as their own original work and fail to credit it have committed plagiarism and are subject to disciplinary action.

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.