Fall2015.CITA180Homework2 History

Hide minor edits - Show changes to output

Changed lines 24-28 from:
# Hand in a printout of your Python program in class on the due date.

# Upload your program file on [[https://lms.cofc.edu/ | OAKS]]. Give your program a meaningful name, e.g., '''furElise.py'''.

# Upload a MIDI file (generated from running your program) on [[https://lms.cofc.edu/ | OAKS]]. Give your program a meaningful name, e.g., '''furElise.mid'''.
to:
# Hand in a '''printout of your Python program''' in class on the due date.

# Upload your '''program file''' on [[https://lms.cofc.edu/ | OAKS]]. Give your program a meaningful name, e.g., '''furElise.py'''.

# Upload a '''MIDI file''' (generated from running your program) on [[https://lms.cofc.edu/ | OAKS]]. Give your program a meaningful name, e.g., '''furElise.mid'''.
Changed line 22 from:
You will submit your assignment by both '''handing in a printout of your program in class''', and '''on-line (both the Python and code and a MIDI file generated from your program)''' via [[https://lms.cofc.edu/ | OAKS]]. Be prepared to perform your music in class. Your submission consists of:
to:
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 [[https://lms.cofc.edu/ | OAKS]]. Be prepared to perform your music in class. Your submission consists of:
Added lines 1-54:
'''Assigned Date''': Friday, Sep. 25, 2015\\
'''Due Date''': Monday, Oct. 5, 2015\\
'''Due Time''': 8:20 AM

Last modified on {$LastModified} (see [[http://www.cs.cofc.edu/~manaris/index.phpFall2015.CITA180Homework2?action=diff&source=n&minor=n | updates]])

!!Assignment

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

!!Documentation

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 [[http://www.cs.cofc.edu/~manaris/?n=Fall2015.CITA180Homework1?action=print | 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:)

!!Submissions

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

# Hand in a printout of your Python program in class on the due date.

# Upload your program file on [[https://lms.cofc.edu/ | OAKS]]. Give your program a meaningful name, e.g., '''furElise.py'''.

# Upload a MIDI file (generated from running your program) on [[https://lms.cofc.edu/ | OAKS]]. Give your program a meaningful name, e.g., '''furElise.mid'''.

# Be ready to perform it in class.

!!Grading

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)

!!Reference

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