Skip to main content

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

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