Coding Music Fundamentals extends previous graphics related programming experience into the audio domain. ChucK, a strongly timed computer music language, is the focal language of the course, with opportunities to connect to physical computing platforms such as Arduino or graphics frameworks such as p5.js. The course explores several facets of digital audio, including synthesis, analysis, and interactive performance tools for live performance or composition.
This is explicitly not a music theory class, and students are never expected to arrive with or build musical training. A little shared vocabulary, pitch, rhythm, dynamics, timbre, makes the ChucK material land better, so Week 1 includes a light, informal music conversation and beginner friendly self guided tools. It’s context, not a prerequisite.
ChucK’s own strengths point toward directions that are hard to do as well in any other tool, worth keeping in mind over the course of the semester as a way to push weekly sketches, the Midterm Project, or the Final Project beyond the most direct version of an exercise:
The course follows a series of eight pre-recorded video sessions on real time audio programming in ChucK. Starting in Week 2, each class period has two parts: first half, students share the assignment from the video they watched the previous week and the class listens to the work together; second half, the instructor previews the next video in plain language so students can ask questions before watching it and completing that week’s assignment on their own. Live class sessions, including any examples demonstrated in person, are recorded and posted in Canvas as additional material alongside the pre-recorded video series.
Midterm Project. This is where the material from the first six weeks, up through synthesis and physical modeling, comes together. See the Midterm Project page for the full assignment.
Final Project. The final project is done in groups, intentionally. Collaboration and co-creation are a core part of any art practice, and one of the things that keeps human made work different from anything a machine can produce on its own. Working in a group also builds skills every professional needs: communicating clearly, solving problems together, asking for help, and reaching decisions as a team. See the Final Project page for the full assignment.
A GitHub repository of ChucK code, alongside a recording of each performance on a platform such as Vimeo, SoundCloud, or YouTube, builds a working portfolio of code and sound, not files on a hard drive. The final project adds a digital recording of the performance as part of that same portfolio.
The audio programming and signal processing foundations built in this course carry directly into later specializations, including:
By the end of this course, BFA students will be able to:
MFA students, in addition, begin building toward:
Live class sessions are recorded, including any examples demonstrated in person, and posted in Canvas as additional material alongside the pre-recorded video series. Recordings are a supplement, not a replacement, for the weekly watch-then-present structure described above.
A Zoom link is available on request when a student genuinely can’t be in the room: illness, a conflicting project obligation, something like that, as long as it’s requested ahead of time. Please don’t reach out the day of class about this; same-day requests usually won’t get seen in time, and the absence will count as unexcused. This is meant for real need, not routine use, so if it turns into a habit, the privilege goes away and absences get recorded as usual going forward.
Students need a laptop capable of running audio. Mac or PC are both fine, ChucK and miniAudicle run on either; support is fastest on Mac since that’s the instructor’s main setup, but Windows is just as welcome, flag any audio driver issues early. No installation is needed before Week 1: ChucK and miniAudicle are installed and sound-tested together in class on day one.
No textbook purchase is required. See the Resources page for class links.
Each week’s assignment is presented live in class, with no digital submission: watching that week’s pre-recorded video and completing its exercise is the deadline. The Midterm and Final projects are both submitted digitally (through GitHub and a hosting platform) in addition to an in person presentation; see their own pages for details.
The weekly assignments category splits evenly across however many weekly assignments actually run that semester, not a fixed per-assignment percentage. Weekly assignments aren’t submitted digitally. Watching that week’s pre-recorded video, completing the assignment that goes with it, and presenting it in class is the deadline. Assignments not presented in class don’t receive a grade.
The midterm and final project additionally include an in person presentation, described on their own pages.