Course Outline
Below is an outline for teaching this book as a course/workshop.
Learning
Through the course students will learn:
- The basic principles of music
- Working with audio in the browser via the Web Audio API and JavaScript
- How to program the basic building blocks of music
- Techniques for generating music using algorithms
Requirements
- A laptop
- Headphones
- A web browser that supports the Web Audio API
- A code editor such as VS Code
Lesson Plan (Workshop)
A compressed version of the course introducing the main concepts.
- Duration: 2 days
- Size: 6-8 people
Day 1
- Morning
- TODO
- Afternoon
- TODO
Day 2
- Morning
- TODO
- Afternoon
- TODO
Lesson Plan (Course)
An extended version of the course covering topics in more detail and developing a personal project.
- Duration: 10 weeks
- Size: 6-8 people
Week 1 - Introduction
- Class intro
- Learning objectives
- Overview
- Final project
- Development environment setup
- Browser: Web Audio API support
- Editor
- Node.js
- Git
- Project template
- JavaScript/Web Audio API primer
- Eloquent JavaScript
- MDN Web Docs
Week 2 - Primers
- JavaScript/Web Audio API primer (cont.)
- Generative primer
- Music primer
Week 3 - Music I
- Notes
- Scales
- Timing
Week 4 - Music II
- Phrases/patterns
- Movements/sections
- Parts
- Scores
Week 5 - Generative I
- Repetition
- Randomness
Week 6 - Generative II
- Probability
- Grammars
Week 7 - Generative III
- Recursion
- Evolution
- Assignment: Final Project Proposal
Week 8 - Generative IV
- Machine Learning
- Assignment: Final Project
Week 9 - Generative V
- Sonification
Week 10 - Final Project Presentations
- Presentation of final projects