Spring2009.CSCI180Homework4 History

Hide minor edits - Show changes to output

Changed lines 2-4 from:
'''Due Date''': Thursday, Apr. 16\\
'''Due Time''': 9:25am
to:
'''Due Date''': Monday, Apr. 27\\
'''Due Time''': 11:55pm
Changed line 2 from:
'''Due Date''': Thursday, Mar. 26\\
to:
'''Due Date''': Thursday, Apr. 16\\
Changed lines 14-17 from:
* learning how to read Processing code;
* learning how to translate your ideas to (Processing) code; and
* (again) paying attention to detail
to:
* learning how to read Processing code; and
*
learning how to translate your ideas to code
Changed lines 19-20 from:
Create a new, interesting image (or animation) using Processing.
to:
Create a new, interesting image (or animation) using [[http://www.processing.org | Processing]].
Changed lines 25-39 from:
->"Search for new painters on the web, using Google's image search. Go to galleries. Try to find an artist who's doing something that appeals to you, something that the voice inside you says, "I could do that" or "I'd like to be able to do that." Secure an image and copy it to find out what that artist did and how. Then think about recombining ideas."


(actually reusing existing Processing code):

* Pick three Processing demos you like:
** see [[http://processing.org/learning/basics/ | Basics]] (recommended), or [[http://processing.org/learning/topics/ | Topics]] (more advanced, for those who feel adventurous)

* Select one interesting element from each demo. It could an appealing visual object, an animation, a color scheme... anything. [-(But it should be something concrete, something of substance.)-]

* Synthesize a new visual artifact, which incorporates the three elements. [-(It should look new, different, innovative.)-]

to:
->"Go to galleries. Try to find an artist who's doing something that appeals to you, something that the voice inside you says, "I could do that" or "I'd like to be able to do that." Secure an image and copy it to find out what that artist did and how. Then think about recombining ideas."
Changed lines 29-46 from:
Use Scratch to assemble the notes for each of the four canons. Each canon should be assembled in a separate sprite (one sprite per canon!). Since each canon contains two voices, each sprite should contain two separate scripts (note sequences). The first sprite's scripts should start with key '1' (i.e., when key '1' is pressed); the second sprite's with key '2', and so on. Each sprite should use the corresponding image below as its image. All voices should use instrument '1' (piano). Name each sprite according to the canon it contains, e.g., 'Canon 1', 'Canon 2', etc. The name of the project should be 'GoldbergGround'.

!!!Canon 1 - soggetto with its retrograde

http://jan.ucc.nau.edu/~tas3/canon1goldbergground.gif

!!!Canon 2 - inverted soggetto with its retrograde

http://jan.ucc.nau.edu/~tas3/canon2goldbergground.gif

!!!Canon 3 - soggetto with its inversion

http://jan.ucc.nau.edu/~tas3/canon3goldbergground.gif

!!!Canon 4 - inverted soggetto with its inversion

http://jan.ucc.nau.edu/~tas3/canon4goldbergground.gif
to:
Let's apply this idea to Processing:

* Pick three Processing demos that appeal to you:
** See [[http://processing.org/learning/basics/ | Basics]] [-
(recommended)-], or [[http://processing.org/learning/topics/ | Topics]] [-(more advanced, for those who feel adventurous)-]

* Select an interesting idea/element from each demo.

* Synthesize a new visual artifact recombining these ideas. You should create something that looks different, original, innovative
.
Changed lines 40-53 from:
There are many possibilities for bonus. For instance,

# Construct additional canons from the Goldberg Ground for bonus points
. The more canons, the more points. Follow the above instructions, in terms of names, start keys, images, etc. To receive bonus points, the bonus canons should be immaculate (no errors). If you are not very musical, find a friend who is and ask them to listen to your work.

# Experiment with augmentation and diminution. See if you can derive anything interesting with the Goldberg Ground. Use appropriate sprite names.

!!References

# Timothy A. Smith, "[[http://jan.ucc.nau.edu/~tas3/fourteencanonsgg.html | Fourteen Canons on the First Eight Notes of the Goldberg Ground (BWV 1087)]]" (accessed March 16, 2009).
# Jeffrey C. Hall, "[[http://www.flagmusic.com/work.php?r=BWV_1087 | Realization of Fourteen Canons on the Goldberg Ground, BWV 1087, by Johann Sebastian Bach]]" (accessed March 24, 2009).
# Joe Wolfe, "[[http://www.phys.unsw.edu.au/jw/notes.html | Note names, MIDI numbers and frequencies]]" (accessed March 16, 2009).
# Wikipedia, "[[http://en.wikipedia.org/wiki/Clef | Clef]]" (accessed March 17, 2009).
# Wikipedia, "[[http://en.wikipedia.org/wiki/Key_signature | Key signature]]" (accessed March 17, 2009
).
to:
Consider adding more elements. One possibility is external images. Other possibilities include transparency, sprites, movement, sound, fractals, etc. Pass ideas by me for help/guidance (some things may be too difficult; others may be simpler, if someone (me) guides you).
Changed lines 44-49 from:
Be thorough and systematic. Write down the note numbers and duration on paper first and double check them before implementing them in Scratch. This will save you a lot of time tracking down errors. That's very important.

# Submit completed Scratch project on WebCT by the due date. Also, keep your project on a memory stick (USB drive). Be prepared to demo it to
the rest of the class.

# Also submit a '''README
.txt''' file. In it, include your names, the class, homework number, date, and any special notes you may have on how you completed the assignment (e.g., describe bonus work, etc.).
to:
Be thorough and systematic. Draw your idea(s) on paper '''*before*''' you try to code them in Processing. Refining (designing) on paper is much faster than in code. [-(This will save lots and lots of time.)-]

Consider talking to me your ideas before you implement them. I can guide you. [-(This will save lots and lots of time.)-]

# Submit
the completed Processing folder on WebCT by the due date. You may need to create a .zip archive. Include all necessary files.

# Also, keep your project on a memory stick (USB drive). Be prepared to demo it to the rest of the class.

# Also submit a '''README.txt''' file. In it, include your names, the class, homework number, and date. Also,
** describe the idea behind your project (e.g., "a bouncing ball that goes 'Ouch!' ever time the mouse clicks on it");
** describe the three elements you picked;
** name which demos you got them from (include their URLs);
** describe how you combined the elements; and
** finally, include
any special notes you may have on how you completed the assignment (e.g., describe bonus work, etc.).
Added lines 1-87:
'''Assigned Date''': Tuesday, Apr. 7, 2009\\
'''Due Date''': Thursday, Mar. 26\\
'''Due Time''': 9:25am

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

This is a pair-programming assignment. You '''may''' work with a partner (but you don't have to).

!!Purpose

This assignment focuses on

* creating visual art with computers;
* learning how to read Processing code;
* learning how to translate your ideas to (Processing) code; and
* (again) paying attention to detail

!!Assignment

Create a new, interesting image (or animation) using Processing.

!!Background

One of the techniques for [[http://painting.about.com/cs/inspiration/a/artistsblock.htm | beating artist's block]] is to:

->"Search for new painters on the web, using Google's image search. Go to galleries. Try to find an artist who's doing something that appeals to you, something that the voice inside you says, "I could do that" or "I'd like to be able to do that." Secure an image and copy it to find out what that artist did and how. Then think about recombining ideas."


(actually reusing existing Processing code):

* Pick three Processing demos you like:
** see [[http://processing.org/learning/basics/ | Basics]] (recommended), or [[http://processing.org/learning/topics/ | Topics]] (more advanced, for those who feel adventurous)

* Select one interesting element from each demo. It could an appealing visual object, an animation, a color scheme... anything. [-(But it should be something concrete, something of substance.)-]

* Synthesize a new visual artifact, which incorporates the three elements. [-(It should look new, different, innovative.)-]




!!Details

Use Scratch to assemble the notes for each of the four canons. Each canon should be assembled in a separate sprite (one sprite per canon!). Since each canon contains two voices, each sprite should contain two separate scripts (note sequences). The first sprite's scripts should start with key '1' (i.e., when key '1' is pressed); the second sprite's with key '2', and so on. Each sprite should use the corresponding image below as its image. All voices should use instrument '1' (piano). Name each sprite according to the canon it contains, e.g., 'Canon 1', 'Canon 2', etc. The name of the project should be 'GoldbergGround'.

!!!Canon 1 - soggetto with its retrograde

http://jan.ucc.nau.edu/~tas3/canon1goldbergground.gif

!!!Canon 2 - inverted soggetto with its retrograde

http://jan.ucc.nau.edu/~tas3/canon2goldbergground.gif

!!!Canon 3 - soggetto with its inversion

http://jan.ucc.nau.edu/~tas3/canon3goldbergground.gif

!!!Canon 4 - inverted soggetto with its inversion

http://jan.ucc.nau.edu/~tas3/canon4goldbergground.gif

!!Bonus

There are many possibilities for bonus. For instance,

# Construct additional canons from the Goldberg Ground for bonus points. The more canons, the more points. Follow the above instructions, in terms of names, start keys, images, etc. To receive bonus points, the bonus canons should be immaculate (no errors). If you are not very musical, find a friend who is and ask them to listen to your work.

# Experiment with augmentation and diminution. See if you can derive anything interesting with the Goldberg Ground. Use appropriate sprite names.

!!References

# Timothy A. Smith, "[[http://jan.ucc.nau.edu/~tas3/fourteencanonsgg.html | Fourteen Canons on the First Eight Notes of the Goldberg Ground (BWV 1087)]]" (accessed March 16, 2009).
# Jeffrey C. Hall, "[[http://www.flagmusic.com/work.php?r=BWV_1087 | Realization of Fourteen Canons on the Goldberg Ground, BWV 1087, by Johann Sebastian Bach]]" (accessed March 24, 2009).
# Joe Wolfe, "[[http://www.phys.unsw.edu.au/jw/notes.html | Note names, MIDI numbers and frequencies]]" (accessed March 16, 2009).
# Wikipedia, "[[http://en.wikipedia.org/wiki/Clef | Clef]]" (accessed March 17, 2009).
# Wikipedia, "[[http://en.wikipedia.org/wiki/Key_signature | Key signature]]" (accessed March 17, 2009).

!!Submission

Be thorough and systematic. Write down the note numbers and duration on paper first and double check them before implementing them in Scratch. This will save you a lot of time tracking down errors. That's very important.

# Submit completed Scratch project on WebCT by the due date. Also, keep your project on a memory stick (USB drive). Be prepared to demo it to the rest of the class.

# Also submit a '''README.txt''' file. In it, include your names, the class, homework number, date, and any special notes you may have on how you completed the assignment (e.g., describe bonus work, etc.).

!!Grading

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