Spring2016.CITA180Homework5 History

Show minor edits - Show changes to output

Added lines 1-60:
'''Assigned Date''': Sunday, April 3, 2016\\
'''Due Date''': Tuesday, April 12, 2016\\
'''Due Time''': 2:00 PM

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


Connect your smartphone or a tablet via OSC controls (e.g., see Touch OSC, and Control OSC) to our code and use it to perform something interesting. This performance may be musical or otherwise - your choice.

!! Details

Using the provided [[http://www.cs.cofc.edu/~manaris/jythonmusic/?page_id=779 | OSC library]], write a program that reacts to data coming from your smartphone or another similar device.

Your goal is to create an interesting performance. It may be musical, visual, or both.

Explore the JythonMusic API as to what you can possibly do.

Your goal is to build an interesting performance. Keep Interest Curves in mind. I.e., your performance should engage your audience at different points. Also, it should have a beginning, middle, and end, with some material that's repeated as needed.

The performance should last between 1 and 3 minutes.


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]

You should create comments to describe the different blocks of code and the function they play in your performance.


You will submit your assignment by both '''handing in a printout of your program in class''', and '''on-line''' 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.

# Perform what you created to your classmates.

# Upload your '''program file''' on '''all needed files''', e.g., audio files, etc. on [[https://lms.cofc.edu/ | OAKS]].
** Make sure you provide all needed files. I should be able to run your complete program from OAKS.
** Also, give your program and files meaningful names, e.g., '''furElise.py''', etc.


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:

* Apply selection (if statements), relational operators, logical operators
* Apply functions
* Understand and use function callbacks

Also how to:

* Use the OSC interface to extract data from OSC devices
* Connect OSC devices to interesting functionality


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