Assigned Date: Monday, Nov. 22, 2010
Due Date: Wednesday, Dec. 1, 2010
Due Time: 8:45am
Last modified on November 22, 2010, at 08:59 AM (see updates)
This is a pair-programming assignment (i.e., you may work with one partner). You may discuss the assignment only with your partner or the instructor.
This assignment focuses on:
- modularization (functions)
- creating music with jMusic
Expand the provided functions.py with (your own) useful functions.
Create a new piece of music (similar to the provided blues.py) that generates a new (or existing) piece.
The emphasis is on developing useful functions that can help generate a musical piece easily and without repeated effort/code.
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." 
In general, you should comment any variable, obscure statement, block of code, etc. you create.
Additionally, your code should always include opening comments as follows:
# Author: Jane Smith and John Doe
# Email: <Your email address(es)>
# Class: CSCI 180, Section 1
# Assignment: HMWK4
# Due Date: <The assignment's due date>
# Certification of Authenticity <remove one of the following>:
# I certify that this lab is entirely my own work.
# I certify that this lab is my own work, but I received
# some assistance from: <Name(s)>
# Purpose: <Provide a simple, yet complete description of the task being
# performed by this program. It may be several sentences long.>
You will submit your assignment via WebCT. Be prepared to demo your music to the rest of the class. Your submission consists of:
- Your Python files. Give them meaningful names.
- The MIDI file generated from your program(s).
Your grade will be based on how well you followed the above instructions, and the depth/quality of your work.
- Cooper, D. and Clancy, M. (1985) "Oh! Pascal", 2nd ed., W.W. Norton & Company, New York, p. 42.