Introduction to Programming for Musicians and Digital Artists

Ajay Kapur, California Institute of the Arts

This course provides a complete introduction to programming for digital musicians and artists, in the real-time multimedia language ChucK. Rich with practical examples and pointers to additional web resources, it can be understood by novices wishing to learn to program interactive arts systems.

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).


WEEK 1: Basics: Sound, Waves, and ChucK Programming

WEEK 2: Libraries and Arrays

WEEK 3: Sound File Manipulation

WEEK 4: Functions

WEEK 5: Unit Generators and Physical Models

WEEK 6: Multi-Threading and Concurrency

WEEK 7: Objects and Classes

WEEK 8: Live Control: Keyboard, Mouse & MIDI

Recommended Background

This course was designed to teach a novice programmer (or an artist new to programming) how to code, but will be useful for more experienced programmers.

Suggested Readings

The course is designed to be self-contained, but students are encouraged to purchase the optional textbook for the class, Programming for Musicians and Digital Artists: Creating Music with ChucK. A special discount is available for students enrolled in this course -- more information will follow when the course launches in late October. 

Course Format

The weekly lectures in this course cover key concepts and skills to help you master the ChucK language, and are complemented by footage of ChucK-programmed projects at work. Students will put those skills into practice through weekly peer-assessed assignments. There will also be two required quizzes.


Will I get a Statement of Accomplishment after completing this class?

Yes. Students who successfully complete the class will receive a Statement of Accomplishment signed by the instructor.

  • 21 October 2013, 9 weeks
Course properties:
  • Free:
  • Paid:
  • Certificate:
  • MOOC:
  • Video:
  • Audio:
  • Email-course:
  • Language: English Gb


No reviews yet. Want to be the first?

Register to leave a review

More on this topic:
24422_c7bf_4 Learn To Program with Pascal
Master programming on Windows or Mac OS X with Lazarus & Free Pascal or Delphi
6-827f02 Multithreaded Parallelism: Languages and Compilers
The topics covered in this course include: Languages and compilers to exploit...
158788_020f_23 Learn music theory: ABRSM Grades 1 and 2 - Udemy
A course to guide you through the fundamentals of music, covering all of the...
Electronic_music-nologo Introduction to Digital Sound Design
Sounds and music are embedded in almost every aspect of daily life. This course...
120820_46e9_7 Programming for Complete Beginners in C#
Learning to code C#? We have provided HD video lectures, live coding sessions...
More from 'Computer Science':
E84f731a-6611-4d90-9317-3a32bfd49ccd-582b2ac243c8.small Artificial Intelligence (AI)
Learn the fundamentals of Artificial Intelligence (AI), and apply them. Design...
A35c8b84-f0ef-4eb0-ad44-52f4bc61d7df-6b753882d8f8.small Machine Learning
Master the essentials of machine learning and algorithms to help improve learning...
95c877f3-076a-4dee-a640-9c6069ca0114-e3a2f8507f67.small Animation and CGI Motion
Learn the science behind movie animation from the Director of Columbia’s Computer...
9d918753-9409-4a56-ba00-54d1e0724c28-626b8a29512a.small Robotics
Learn the core techniques for representing robots that perform physical tasks...
Logo-white Neo4j Koans
A koan-style tutorial in Java for Neo4j. This set of Koans provides a hands...
More from 'Coursera':
Success-from-the-start-2 First Year Teaching (Secondary Grades) - Success from the Start
Success with your students starts on Day 1. Learn from NTC's 25 years developing...
New-york-city-78181 Understanding 9/11: Why Did al Qai’da Attack America?
This course will explore the forces that led to the 9/11 attacks and the policies...
Small-icon.hover Aboriginal Worldviews and Education
This course will explore indigenous ways of knowing and how this knowledge can...
Ac-logo Analytic Combinatorics
Analytic Combinatorics teaches a calculus that enables precise quantitative...
Talk_bubble_fin2 Accountable Talk®: Conversation that Works
Designed for teachers and learners in every setting - in school and out, in...

© 2013-2019