Spring 2017»CITA 180

CITA 180

CITA/CSCI 180 - Computers, Music and Art


  • Section 01: MWF 9:30-10:20am / HWE 334
  • Section 02: MWF 10:30-11:20am / HWE 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 creative computer programming in Python related to music making and live performance. (NOTE: Students interested in animation or visual art should be enrolled in CITA 120 or CITA 140, respectively.) 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

  • Test 1: Wednesday, Mar. 1, 2017
  • Test 2: Wednesday, Apr. 26, 2017
  • Final:
    • Section 01: 8:00-11:00am, Friday, Apr. 28, 2017
    • Section 02: 8:00-11:00am, Monday, May 1, 2017


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

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.
    • Slides from SIGCSE 2016 workshop - single (one slide per page), and handout (4 slides per page).
  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

  • Sounds - find sound effects and musical instrument samples.


  • 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.
  • Audacity is free, open source software for recording and editing sounds. It is available for Mac OS X, Microsoft Windows, GNU/Linux, and other operating systems.
  • Noteflight is an online music writing application that lets you create, view, print and hear music notation with professional quality, right in your web browser. Work on a score from any computer on the Internet, share it with other users, and embed it in your own pages.