Week 2 exercise: explore the materials thoroughly, looking up anything you don't understand; create additive, subtractive and modulation synthesis patches of your own
Week 3 exercise: Practice creating some SynthDefs (which should have a doneAction:2 in them), and make simple sequences where you schedule Synths over time in an entertaining way
Week 4 exercise: Mock up a simple prototype GUI that controls some simple sound synthesis. If you're stuck for ideas, make a subtractive synthesizer with GUI controls for the filter. Or convert any of your existing sound synthesis patches for GUI control
Week 6 exercise: Build an example patch with a global effects unit (such as a reverb or distortion). You should construct the effects unit using a separate Synth; this effect should be applied to any other Synths (which might use any of the SynthDefs you've built so far on the course). Execution order is critical here and you will need to understand 6.3 to achieve this.
Week 7 exercise: Try out MIDI control of sound using MIDI keyboards, or audio input feature control. You might trigger new short-lived Synths based on input, or modulate parameters of an existing sustained Synth
Week 8 exercise: explore, and vary, the examples of psychology of rhythm. Can you also implement any more advanced compositional rhythmic structures (such as multiple simultanous tempi, or metric modulation)?
Plan an algorithmic composition, deciding upon style, and algorithmic structuring. You might like to consider: what aspects of the work could change with each run of the program?
Week 10 exercise: Try passing musical information between two computers, or two programs on one computer. You can always send information via the loopback node to the same instance of SuperCollider if you're stuck.
Week 11 exercise: Explore physical modelling synthesis, creating patches of your own especially using the source (excitation signal) + filter (body resonator) model
Classes exercise: Convert one of your existing programs into a class and client code; how does this neaten and clarify your work? Consider how to use classes to tidy up your portofolio- is there any reusable code you can factor into classes? After you've done this, explore third party libraries galore!