Spring 2016»CITA 180 Final Project

CITA 180 Final Project

Assigned Date: Friday, Dec. 4, 2015
Due Date: Friday, Dec. 11, 2015
Due Time: 8:00 AM

Last modified on April 23, 2016, at 12:38 AM (see updates)

This is an assignment that could be pursued eitheralone or in pairs.


This assignment aims to develop and apply skills in planning, designing and executing a music and/or artistic composition / performance using jythonMusic. Possible techniques and approaches in completing this project may include:

  • Using audio recording/manipulation software to generate ambient soundscapes.
  • Combining use of audio samples and MIDI generated sounds.
  • Combining a traditional instrument with JythonMusic interactive software.
  • Developing creative expressions involving visual components and/or graphical user interfaces (GUIs) (also see guicontrols.py), MIDI, and/or OSC controls (e.g., see Touch OSC, and Control OSC) for realization of live performance.


Compose a2-3 minute piece or interactive artistic experiencefor 1 or more performers. This should involve OSC and/or MIDI devices.


Follow the Golden Rule of Style: "A program should be as easy for a human being to read and understand as it is for a computer to execute." [3]

In general, you should comment any variable, obscure statement, block of code, method, and class you create.

Your comments should express why something is being done, as opposed to how the how is shown by the code.

Top Documentation

Additionally, your code should always include opening comments as follows:

#   Author:    Your names
#   Email:      Your email addresses
#   Class:      CITA 180
#   Assignment: Final Project
#   Due Date:  The assignment's due date
#   Purpose:  A full description of your program (use your own words).


Your submission will consist of the following:

  • A hardcopy of a written report (created via Word or Google Docs) that includes:
    1. Your name, class, assignment, and title of piece.
    2. A description of your aesthetic objectives and work process.
    3. List of sounds (for those obtained from a website, include URLs), if using samples.
    4. Your final GUI paper prototype (as a digital image) with caption/description, if applicable.
    5. Your Python source code (in an Appendix).
  • A USB stick to include:
    1. Your name, class, and assignment on an envelope containing the USB stick.
    2. Your report in PDF or Word format (see above).
    3. All your source sound material (strictly WAV or AIFF format), in a separate folder called "sounds".
    4. All your Python programs (source code, sound files, any images used, etc.) in a separate folder called "code". Include a "README.txt" file providing instructions on how to perform the piece (e.g., which programs to run, in what order, etc.). Also include JEM2.jar.


All your materials (see above) need to be ready on the time of the final - no late days can be used for this. This is the final exam.

Your grade will be based on how well you followed the above instructions. Also on:

  • How interesting your music is.
  • The variety of ideas you tried in your composition.
  • The aesthetics and usability of your GUI design(s).
  • Quality of coding (e.g., comments, variable names, etc.)
  • Live performance of your piece in class.