Assigned Date: Friday, Oct. 10, 2014
Due Date: Friday, Oct. 17, 2014
Due Time: 9:55am
Last modified on October 13, 2014, at 11:46 AM (see updates)
- To prompt creative thought about musical processes and composition.
- To apply in practice skills in composing within existing musical constraints via jythonMusic.
- To gain a deeper understanding of Mozart's Dice Game and the relationship between randomness and creativity.
Modify Mozart’s “Musikalisches Würfelspiel” (see first example here) to add a minimum of four new measures composed by you, one for each column (I, II, III, IV). Notice that adding one more measure for each of the I, II, III, IV columns (see program documentation) increases the possible outcomes from 24 to 108 (i.e., 4 x 3 x 3 x 3). That is not a bad outcome for a little work.
Pay close attention to the harmonic content of the music Mozart wrote for each column; to compose an effective substitution for each of these columns, you need to match the harmonic content (outlining or implying the triads of C major, G major, D major) of your newly-composed measure to the original.
Consider changing the entire piece to consist of your own music (expanding or changing the melodic and implied harmonic content used by Mozart). Even, possibly, consider changing the style—from a Waltz to anything you wish.
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. Follow the textbook examples on how to document code.
Additionally, your code should always include opening comments as follows:
# Author: Your names
# Email: Your email addresses
# Class: CITA 180
# Assignment: Homework #4
# Due Date: The assignment's due date
# 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 OAKS. Be prepared to demo your music to the rest of the class. Your submission consists of:
- Your Python program. Give it a meaningful name.
- Three (3) different MIDI files generated from your program demonstrating the creative variety of your musical process.
- A printout of your program - to be submitted in class during the performance.
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.