Spring2015.CITA180Homework3 History

Show minor edits - Show changes to output

Added lines 7-10:
!!Assignment

Write a Jython program that generates an interesting piece of music.
Deleted lines 23-26:

!!Assignment

Write a Jython program that generates an interesting piece of music.
Deleted lines 7-8:

This assignment has the following objectives:
Added lines 1-70:
'''Assigned Date''': Wednesday, Feb. 11, 2015\\
'''Due Date''': Monday, Feb. 16, 2015\\
'''Due Time''': 9:20 AM

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

!!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)

!!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=Spring2015.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.

!!Bonus

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).

!!Submissions

You will submit your assignment via [[https://lms.cofc.edu/ | 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.

# The MIDI file generated from your program.

# A printout of your program - to be submitted in class during the performance.

!!Grading

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

!!Some Interesting Submissions

Here are a few interesting submissions from an earlier semester:

* ''Avril 14'' ([[http://www.cs.cofc.edu/~manaris/uploads/Fall2011/Hanf Daniel - Oct 6, 2011 947 PM - avril14.mid | MIDI]] and [[http://www.cs.cofc.edu/~manaris/uploads/Fall2011/Hanf Daniel - Oct 6, 2011 947 PM - avril14.py | Python]]), by Daniel Hanf
* ''Nonsense'' ([[http://www.cs.cofc.edu/~manaris/uploads/Fall2011/Cooper Samuel - Oct 6, 2011 224 AM - arpeggiatedNonsense.mid | MIDI]] and [[http://www.cs.cofc.edu/~manaris/uploads/Fall2011/Cooper Samuel - Oct 6, 2011 224 AM - arpeggiatedNonsense.py | Python]]), by Samuel Cooper ('''original''')
* ''Intro'' ([[http://www.cs.cofc.edu/~manaris/uploads/Fall2011/Jones Hudson - Oct 5, 2011 1046 AM - introSong2.mid | MIDI]] and [[http://www.cs.cofc.edu/~manaris/uploads/Fall2011/Jones Hudson - Oct 5, 2011 1046 AM - introSong2.py | Python]]), by Hudson Jones
* ''Take Five'' ([[http://www.cs.cofc.edu/~manaris/uploads/Fall2011/Hegler Johnathan - Oct 6, 2011 413 AM - takeFive_PaulDesmond.mid | MIDI]] and [[http://www.cs.cofc.edu/~manaris/uploads/Fall2011/Hegler Johnathan - Oct 6, 2011 413 AM - takefive_PaulDesmond.py | Python]]), by Johnathan Hegler and George Woolston

!!!Relevant Quote

"Any amount of work can be done in any amount of time... only the quality varies." ~Joao Meidanis

!!Reference

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