Music 256a / CS 476a | fall
2011
Music, Computing, and Design I:
Software Design and Implementation for Computer Music
Ge Wang and
Jorge Herrera (TA)
lectures
|
assignments |
final projects |
class wiki |
mailing list
| MCD
class: MW 3:15-5:05pm
location: CCRMA Classroom (the Knoll)
prerequisite:
prior programming
experience
this course is required for:
Music 256b: Mobile Music
course summary:
This course focuses on software design and implementation for computer
audio. The goal is to provide students with an understanding of the
strategies, best practices, and tradeoffs in building audio software
systems of various sizes (S, M, L, XL), with a focus on interactive
("real-time") systems. We will both "zoom out" and look at high-level
design and structure as well as "zoom in" and dissect code in a hands-on,
"in-the-trenches" manner. Course work is designed to put concepts/ideas
into practice, and includes several small programming assignments,
in-class quizzes, and a large-ish final software project.
Prerequisite: prior experience programming in C/C++ and/or Java.
This course is required for Music 256b:
Mobile Music
256a topics include:
- essential data structures and algorithms in audio programming
- design principles and patterns for audio software
- building real-time software systems for computer music
- audio optimization techniques (and when to optimize)
- inteactive system integration (audio, graphics, networking, system
logic, etc.)
- software engineering best practices
- experiential design and aesthetic of audio software
- (see fall-2011, fall-2010 and fall-2009 final
projects!)
lectures:
assignments:
- homework #1: Real-time
Audio, Buffers, and Waveform
due date: Wednesday, 2011.10.5, 11:59:59pm (or thereabouts)
- homework #2: Delay,
Feedback, Moving Average, and Polyphony
due date: Tuesday, 2011.10.18, 11:59:59pm (or thereabouts)
- homework #3:
Sound Peeking
due date: Monday, 2011.10.31, 11:59:59pm (or thereabouts)
- homework #4:
Project Proposal + Minimal Networking
due date: Monday, 2011.11.7, (part 1, in class)
due date: Friday, 2011.11.11, (part 2)
- final project:
"design and implement a music software system in C/C++/Java, leveraging
real-time audio and interaction, and, as helpful, graphics and
networking."
milestone 1: Wednesday, 2011.11.16 (in class)
milestone 2: Monday, 2011.12.05 (in class)
final presentation: noon, Thursday, 2011.12.15
(see fall 2011 final projects!)
MCD |
CCRMA |
music |
CS |
stanford
|