Fall 2015»CITA 180 Homework 2

CITA 180 Homework 2

Assigned Date: Friday, Sep. 25, 2015
Due Date: Monday, Oct. 5, 2015
Due Time: 8:20 AM

Last modified on September 25, 2015, at 08:24 AM (see updates)


Write a Jython program that generates an interesting piece of music.


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." [1]

In general, you should comment any variable, obscure statement, block of code, etc. you create.

Follow the documentation instructions from Homework 1. In particular, your header documentation should mention the name of the piece where the melody comes from, and, if you used a score available on-line, include the URL where the score can be found. (:sourcend:)


You will submit your assignment by both handing in a printout of your program in class, and on-line (both the Python code and a MIDI file generated from your program)''' via OAKS. Be prepared to perform your music in class. Your submission consists of:

  1. Hand in a printout of your Python program in class on the due date.
  2. Upload your program file on OAKS. Give your program a meaningful name, e.g., furElise.py.
  3. Upload a MIDI file (generated from running your program) on OAKS. Give your program a meaningful name, e.g., furElise.mid.
  4. Be ready to perform it in class.


Your grade will be based on how well you followed the above instructions, and the depth/quality of your work.

Learning Objectives

This assignment has the following objectives:

  • Understand the fundamentals of music theory.
  • Analyze music and create musical studies modeled on pre-existing works.
  • Apply numeric and string data types to represent information.
  • Use variables in program development.
  • Use predefined classes in program development (object-based programming).

Also how to:

  • Create interesting music with JythonMusic
  • Program MIDI melodies, chords, etc.
  • Program MIDI percussion (optional)


  1. Cooper, D. and Clancy, M. (1985) "Oh! Pascal", 2nd ed., W.W. Norton & Company, New York, p. 42.