Fall2015.CITA180Homework4 History

Hide minor edits - Show changes to output

Added lines 1-64:
'''Assigned Date''': Wednesday, Dec. 2, 2015\\
'''Due Date''': Monday, Dec. 7, 2015\\
'''Due Time''': 8:20 AM

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


Use at least 3 different ways to capture user input.

Do something creative and exciting with it.

In other words, feel free to express yourself!

Three different ways to capture input include:

* [[http://jythonmusic.org/index-page_id=183.html | GUI widgets]]
* [[http://jythonmusic.org/index-page_id=204.html | GUI graphics objects]]
* GUI [[http://jythonmusic.org/index-page_id=218.html | keyboard]] and [[http://jythonmusic.org/index-page_id=224.html | mouse]] events.

It is OK (but not required for this assignment) to also experiment with:

* [[http://jythonmusic.org/index-page_id=775.html | MIDI events]] and
* [[http://jythonmusic.org/index-page_id=779.html | OSC events]].

This is a '''solo''' (i.e., work on your own) assignment.

!!Demonstration (in-class)

On the due date:

* '''Bring a printout of the report and hand it in to the instructor''' (see details below).

* Be ready to demonstrate your work in class on the due date.

!!Submissions (on-line)

Files to submit via OAKS:

* A document file '''in PDF format''' (created via Word, Google Docs, etc.) that includes the following, as separate sections:

## Your name, class, assignment, and title of piece.
## A description of your creative work (a paragraph or two), including your final GUI (one or more screenshots) with caption/description(s).
## '''Your program (code) included as an Appendix'''

* Your program (give it a descriptive name).

* All media (WAV, MIDI, JPG, or PNG files) needed by your code.


Your grade will be based on how well you followed the above instructions. Also on:

* The variety of ideas you tried.
* The creativity and aesthetics of your GUI design (aim for something that works well and looks pretty).
* Quality of code (e.g., comments, variable names, etc.)
* How interesting your work is.
* Live demonstration of your work in class.

!!Learning Objectives

* Understand functions and use them to design processes involving modularization.
* Use predefined classes in program development (object-based programming).
* Understand events and graphical user interfaces and use them to develop simple computer-based, interactive creative works.