CIS/COM S/ENGRI/MUSIC/PYSCH/FILM/DANCE 1xxx
  Computing in the Arts

  Fall 2009

Instructor:  Professor Graeme Bailey

Final final project session: B21 Lincoln,
11:30-2:45pm,
Tuesday 8th December

Let me know your preferred time within this slot; send an email to bailey@cs.cornell.edu. If nothing in that slot works for you, then please let me know.
  • Time: TR 1:25 - 2:40
  • Place: Lincoln B20
  • Tentative syllabus: Fall 2009
  • Office Hours
    Prof. Graeme Bailey (bailey [at] cs [dot] cornell [dot] edu )
  • Monday-Thursday: 11:00-12:00, Upson 4107B


  • Class discussions so far ...
    1. basic probabilty and stochastic composition in poetry ... experiments, and tuning the probabilities for effect. Discussion of ways of embodying 'poetic content'. Exercise in analysing a pre-existing poem to acquire a Markov structure, and then using that to create a viable 'fake'.
    2. Presentations of student Markov poems, and of 'faked' poems. Intro to music notation, intervals, and harmonics. Initial discussion of harmony and cognitive aspects, and ways of manipulating expectations.
    3. Gentle discussion of harmonics for ideal strings, inharmonicity, and related cognitive aspects. Use of chords (triads) on the notes of a scale to create sets from which to harmonise a given tune. Reversal of this process to construct a tune by first building (stochastically?) an underlying harmonic flow, exploiting relative distances between chords based on numbers of notes in common.
    4. Introduction to Java programming. Integers and Strings, Math.random(), writing a simple program using an 'if/else' conditional, and playing with arrays. (if on PC, get java SE from java/sun/com, if on mac, then you have it already. After installing java (if needed) then get eclipse from www.eclipse.org, unzipping the files and then clicking on the 'globe' icon to bring it alive. Create a project, then create a package in that project, then create a file (ending in .java) in that package to do something simple. Take advantge of the helpful red x-es to fix the javan bureaucratic issues!)
    5. An intro to using 'for loops' writing a simple program using an 'if/else' conditional, and playing with arrays goofy.java.
    6. Generate Markov poem using Java MorePoetics.java.
    7. Drawing lines and 'blobs' in a drawing pane Drawing.java.
    8. Using Java to create midi tunes PlayerPiano.java.
    9. Example of animation using the timer Ball.java.

  • Articles and Examples