This course provides an introduction to multimedia programming: developing programs that create and manipulate text, pictures, sound, and movies. Topics include creating negative and gray-scale images, reversing and splicing sounds, creating sound visualizations, and creating animations. You will learn some of the concepts and techniques underlying software applications like Photoshop or SoundEdit as well as fundamental concepts underlying all of computing, such as algorithms, abstractions, and how computers represent numbers, text, images, and sound.

Hands-on programming is a central component of the course. There will be some lecture-style content, provided primarily through videos, but most of the in-class time in both Mon/Wed/Fri "lectures" and Thursday "labs" will be devoted to active learning activities such as discussions, labs, and group activities.