The course, lecture, and examples build on each other to teach the fundamentalsof programming in general (logic, loops, functions, objects, classes) andalso deals with advanced topics including multi-threading, events and signals. Throughout the course, students create meaningful and rewarding expressivedigital “instruments” that make sound and music in direct response to programlogic. The ChucK language provides precise high-level control overtime, 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 dozensof academic programs and laptop orchestras. Learning to program usingChucK, through the musical examples provided in this course, will preparestudents to program in C++, Java, and other languages. There will be specialguest lectures from creators of the ChucK language, Dr. Ge Wang (StanfordUniversity) 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