INSPIRE 3EL3 C01 - Live Coding
Note: This is the "fluid syllabus" for the course INSPIRE 3EL3 C01 - Live Coding at McMaster University (May 2026 intersession). Expectations, policies, rules, etc will be the same as the official course outline (which current students can access on Simple Syllabus and Avenue), but this fluid version is formatted differently to take advantage of web possibilities, can be navigated in different ways, has up-to-date links to more detailed resources of various types, and will be updated to refer to new resources as they become available.
Instructor: Dr. David Ogborn (“Dr. 0”, he/they), ogbornd@mcmaster.ca
Office Hours: by email appointment
Quick Links
- Estuary server at McMaster
- Invite link to the Estuary Discord server - make an account on discord.com first
- Playlist of all known Cybernetic Orchestra videos
- LocoMotion standalone
- LocoMotion reference
- Punctual standalone
- Punctual reference
- Juan Queralt Molina's awesome Punctual visuals guide
Course Information
Live coding is an artistic and cultural practice in which programs are created and modified on-the-fly, to produce music, visuals, animation, etc. In this course, students will interact with live coding artists and researchers from around the world in the Networked Imagination Laboratory (NIL, https://nil.mcmaster.ca), producing their own improvised live coding performances and tools. During the first two weeks of the course, we’ll introduce live coding and practice the basics of several different live coding programming languages. Then, during the last two weeks of the course we’ll share the space with guest artists and researchers who come to McMaster for the NIL Live Coding Intensive. No prior experience with music, live coding, programming, etc. is required.
Course Learning Outcomes
- Identify a range of live coding practices, sites, and contributors (artists)
- Use a variety of live coding languages to generate different types of result (sound, music, 2D animation, 3D animation, etc.)
- Perform live coding improvisations in large groups
- Perform live coding improvisations in duos
- Perform solo live coding improvisations
- Reflect on the applications of live coding and improvisational practices to our lives, work, and cultures
- Explore less common live coding results (multi-channel audio, personal languages, hybrid live coding, etc.)
Required Materials and Texts
It is strongly recommended that students bring a working laptop to all sessions. When this is not possible, a small number of students may be able to work instead with computer systems provided by the Networked Imagination Laboratory during class sessions (but they would still require some kind of computer outside of the NIL, e.g. for practice at home). All other learning materials will be other provided through this web garden or are otherwise freely available on the web.
Course Evaluation
Assessment in this course works in a different way than what you might be used to. For several years now I have been exploring what is sometimes called “alternative grading.” I am convinced it is a profoundly positive thing, and am constantly striving for assessments that (a) provide a high level of clarity about how work meets or does not meet requirements, (b) invite artistic work whose motivations and aesthetic choices are different than my own, (c) support learning through feedback loops and resubmissions, and (d) ensure short-term difficulties (whether connected to disability, illness, emergencies, workload, etc) present no obstacle to earning the full range of available grades.
All work in the course will be assessed as either ACHIEVED, or as requiring resubmission (which is always allowed within the normal timeframe of the course). Here are the five deliverables of the course:
- Reflection #1: Submit a text reflection on what you find most interesting/exciting about live coding and why (due by 10 PM on Fri 15th May, on Avenue To Learn)
- Participate fully in large group live coding improvisations (throughout weeks 1-4)
- Perform a brief duo 8x8 live coding improvisation with a partner (week 2, Thu 14th May)
- Individual project: Propose something you can work on and deliver that goes above and beyond the other deliverables in some direction of interest to you and related to the course. After we’ve agreed on the parameters of this, work on it as agreed (delivering any final result by the last class meeting on Thu 28th May). Note that in most cases this will probably take the form of a live coding performance that you develop and deliver in a concert setting.
- Reflection #2: Submit a text reflection on what you learned during the course and how live coding and improvisational practices might be relevant to future life, work, and cultural situations (due by 10 PM on Fri 29th May, on Avenue To Learn)
Here is how the achievement of the five deliverables above translates into final course grades on McMaster's 12-point scale:
- All 5 deliverables achieved = A+ (12)
- 4 deliverables achieved = B (8)
- 3 deliverables achieved = C- (4)
- Fewer than 3 deliverables achieved = F (0)
If, at the end of a course, a deliverable is only partially achieved (e.g. achieved but with significant problems), I will award a grade that is lower by one or two points on McMaster's 12-point scale for each deliverable with continuing problems. For example, 4 deliverables achieved but one of them with continuing problems = B- (7) or C+ (6). Hopefully this won't even come up, because everyone in the class will achieve the deliverables fully, resubmitting as necessary!
Course Schedule
All class meetings take place in the Networked Imagination Laboratory ("NIL", location: TSH-B108). To find the NIL, turn right out of the elevators in the basement of Togo Salmon Hall. Walk past/through the T-junction that you come to (don't turn). The door to the NIL is in the first foyer you come to (the same foyer that has a staircase in it going up to the east ground floor entrance of TSH).
Week One
- Tuesday May 5th 1-4 PM: introduction to each other and to live coding; MiniTidal tutorial; group improvisation activities
- Thursday May 7th 1-4 PM: live coding as a movement; Punctual tutorial; group improvisation activities
Week Two
- Tuesday May 12th 1-4 PM: live coding as research; LocoMotion tutorial; group improvisation activities
- Thursday May 14th 1-4 PM: hybrid live coding; 8x8 duo improv (8 minutes, from scratch, 8 loudspeakers)
- Friday 15th May by 10 PM: reflection #1 due (on Avenue to Learn)
Week Three
- Tuesday May 19th 1-4 PM: beginning of live coding intensive (introductions); presentation by guest artist
- Wednesday May 20th 10 AM-12 PM and 1-4 PM: workshop sessions
- Thursday May 21st 10 AM-12 PM and 1-4 PM: workshop sessions; presentation by guest artist
- Friday May 22nd 10 AM-12 PM and 1-4 PM: workshop sessions
Week Four
- Mon 25th May 10 AM-12 PM and 1-4 PM: workshop sessions
- Tue 26th May 10 AM-12 PM and 1-4 PM: collective planning of final performance day; presentation by guest artist
- Wed 27th May 10 AM-12 PM and 1-4 PM: all day workshopping/rehearsal for final performances
- Thu 28th May 10 AM – 6 PM: final concerts/performances all day
- Fri 29th May by 5 PM: reflection #2 due (on Avenue to Learn)
Note: During weeks 3 and 4 the schedule has many additional hours because of the way the course intersects with the NIL Live Coding Intensive. While students are expected to attend as many of these sessions as they can, there is definitely some flexibility for other obligations that may exist.
Late Assignments
You are expected to complete the two reflections by their stated deadlines, to complete the duo performance during the indicated class time, and to complete other work during the normal time frame of the class. Please get in touch with me as soon as possible if it looks like any of that might not be possible, so that we can think together about strategies for recovery. While individual instances of late assignments (within the normal time frame of the course) will be accepted without penalty, frequent/repeated/substantial late work could make it very difficult to achieve the required deliverables within the time frame of the course.
Absences, Missed Work, Illness
You are expected to show up on time for our meetings, ready to participate. Please get in touch with me as soon as possible as possible if there are challenges with attendance so we can think together about strategies for recovery. Frequent/repeated/substantial absence or lateness could make it very difficult to achieve the required deliverables within the time frame of the course.
Generative AI: Unrestricted Use
Students may use generative AI throughout this course in whatever way enhances their learning; no special documentation or citation is required. However, please note the following:
- In performance: Live coding is about improvising and making your own choices, expressed through code. LLMs can not do this because they are not you. I promise you: you do NOT need a globe-spanning machine to improvise and make choices for you!
- While learning: LLMs often give low quality suggestions about live coding languages (in some cases laughably so, e.g. providing suggestions in the wrong language). There are much better ways to learn live coding languages than asking LLMs for suggestions, including many tutorials and other learning resources that have been carefully written and curated by real people in the community. Using these community-made resources to learn is an authentic way of engaging with the live coding community and its tools - its what people in the live coding community would overwhelmingly do, i.e. learn from each other.
- In reflection documents: The two required reflections in the course also need to come from you and be in your voice. I have no doubt that an LLM could fake such personal reflections but please know that it tends to stand out and it is rather disappointing when someone can't or doesn't reflect on their own choices and experiences. Even for grammar and formatting (ultimately a part of personal voice/style), I'd much rather read something imperfect that really comes from you than something "perfect" that doesn't!
(For other statements that McMaster requires be attached to course outlines, please see the official version of the outline on Simple Syllabus/Avenue).