Bill Manaris : Spring 2016 / CITA 180

CITA/CSCI 180 - Computers, Music and Art


TR 2:10pm-3:25pm Harbor Walk East 334


A course introducing the creative side of computing in the context of music, sounds, images, and other digital artifacts. Emphasis will be given to computer programming in Python related to music making and live performance. (For visual art and animation, you should be enrolled in CITA 120.) Students will develop several digital artifacts and elementary musical compositions.

Course is open to all majors. No previous programming experience required.

Prerequisites by Topic:

  1. Basic computer experience, including file organization and software installation.
  2. Interest in developing intelligent-listening and sound-structuring skills.

Additional Course Requirements:

  1. Bring your laptop to class
  2. Bring headphones to class

Test Dates


Homework #1, Homework #2, Homework #3, Homework #4, Homework #5.

Homework #1, Homework #2, Homework #3, Homework #4, Homework #5, Final Project.

Readings & References

  1. Avant-garde cellist Zoe Keating demonstrates her intricately layered compositions. Using a computer, some 'janky code', a cello and her imagination, the classically trained musician shapes her music into something wonderful.
  2. jythonMusic provides software for music-making and creative computing. It is a collection of Jython libraries for music, images, graphical user interfaces (GUIs), and connecting to external MIDI devices, smartphones, and tablets, among others.
  3. More than a hundred years ago an extraordinary mechanism was found by sponge divers at the bottom of the sea near the island of Antikythera. It astonished the whole international community of experts on the ancient world. Was it an astrolabe? Was it an orrery or an astronomical clock? Or something else?
  4. Evan Grant demonstrates the science and art of cymatics, a process for making soundwaves visible. Useful for analyzing complex sounds, it also makes complex and beautiful designs, and demonstrates how the universe is full of "music" - actually, particles that vibrate in different frequencies, where sound is only a small subset of a much larger (universal) phenomenon. It's the way the universe is made.
  5. The Harmonic Navigator is a novel, real-time system for exploring the harmonic space in J.S. Bach Chorales, and other music corpora.
  6. Monterey Mirror is an interactive music performance system with artificial intelligence capabilities - it is an electronic music generator, powered by computer programming, that mirrors a performer and takes the place of a human in a live performance. Like all mirrors, it reflects back aspects of the performer. It is different from a recording, in that it does not repeat musical material verbatim, but instead captures deeper patterns and makes them apparent.
  7. The CofC Laptop Orchestra performing Terry Riley's "In C". Also, other videos related to image sonification.
  8. TED Talk: How to read music - sheet music may look complicated, but once you've gotten the hang of a few simple elements like notes, bars and clefs, you're ready to rock. Tim Hansen hits the instrumental basics you need to read music.
  9. The Princeton Laptop Orchestra (PLOrk) is an ensemble of computer-based musical meta-instruments. Each instrument consists of a laptop, a multi-channel hemispherical speaker, and a variety of control devices (keyboards, graphics tablets, sensors, etc.).
  10. An introduction to pair programming. This 9-minute video describes what pair programming is, the do's and don'ts of effective pairing, and the pros and cons of pair programming.
  11. Pat Metheny's Orchestrion project is a new, open-ended platform for musical composition, improvisation and performance. It uses acoustic and acoustoelectric musical instruments that are mechanically controlled through a guitar, pen or keyboard. This creates a detailed compositional environment, which allows spontaneously developed improvisation. On top of layers of acoustic sound, Pat Metheny adds conventional electric guitar playing as an improvised component - a new level for solo performance by a single musician.
  12. Intro to Python

Artifacts & Rules


(Printable View of