Assigned Date: Monday, Sep. 21, 2015
Due Date: Monday, Sep. 28, 2015
Due Time: 8:20 AM
Last modified on September 25, 2015, at 08:18 AM (see updates)
Find a complete, interesting melody. Transcribe it using Python in JEM.
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 have header documentation that explains what the program does, in general terms.
For this assignment, just copy and paste these into the top of your program. (For future assignments, you will have to modify these comments, to fit the new assignment.)
(:source lang=Python tabwidth=3 -trim :)
- Class: CITA 180
- Assignment: Homework #1
- Due Date:
- Purpose: To play the melody of .
- Input: None.
- Output: The corresponding melody played via the computer's synthesizer.
NOTE: In the above, replace the bracketed phrases, e.g., , with your name, e.g., John Smith. Do remove the brackets.
Once you complete the above, feel free to do additional work, for bonus points:
- Any other idea you can think of (just document your idea in the program's comments, so that I'll know what you are trying to do, when I am grading).
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, e.g., furElise.py.
- A printout of your program - to be submitted in class on the due date.
- Be ready to perform it in class.
- If you do the bonus, submit a separate, additional program. Give the program a different meaningful name.
Your grade will be based on how well you followed the above instructions, and the depth/quality of your work.
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 an interesting melody with JythonMusic
- Cooper, D. and Clancy, M. (1985) "Oh! Pascal", 2nd ed., W.W. Norton & Company, New York, p. 42.