CIS/COM S/ENGRI/MUSIC/PYSCH/FILM/DANCE 1xxx
Computing in the Arts
Fall 2010
Instructor:
Professor Graeme Bailey
TA:
Stephen Moseson, office hours: Tuesdays 5:15-6:15 in Philips 318
- Time:
TR 1:25 - 2:40
- Place: Lincoln B20
- Tentative syllabus: Fall 2010
- Office Hours: by appointment, Upson 4107B
- Class discussions so far ...
- basic probabilty and stochastic composition in poetry ... lecture summary.
Experiments, and tuning the probabilities for effect. Discussion of ways of embodying 'poetic content'.
- Presentations of student Markov poems. Hw2 = exercise in analysing a dozen pre-existing poems by a
chosen poet to acquire a Markov structure (or layering of such structures, and then using that to create
a viable 'fake'.
- Intro to music notation, intervals, and harmonics. Gentle discussion of harmonics for ideal strings,
including discussion of tuning systems and equal temperament.
- Initial discussion of harmony and cognitive aspects, and ways of manipulating expectations. Some discussion
of 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. Example done in class for "Frere Jacques". Homework 3 is to
pick any simple (non-modulating) tune, and harmonise it using the semi-random harmonising scheme
shown in class.
- Reversal of the previous 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 (hexagon of connectivity).
- Introduction to Java programming. Integers and Strings, Math.random(), writing a simple program using an 'if/else'
conditional and 'for loops'. (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!)
- More Java, but now playing with arrays and helper methods, cf goofy.java and
Optimist.java. Generate a Markov poem using Java, cf
MorePoetics.java.
- Still more Java, focus on 2D graphics; drawing lines, rectangles, circles, etc.. A sample file can be
found here.
- First thoughts on groups, illustrations with symmetries of planar objects and gentle discussion on
use in animation.
- More careful discussion of groups, with examples: rotations+reflections in the plane about the origin
(non-Abelian). Definition of a symmetry as an action on an object leaving it sitting in the same
'hole' in space. Examples of symmetry groups for the equilateral triangle and the square. Use of
'conjugations' to simplify the coding of reflections about arbitrary lines and rotations about
arbitrary points (rotation via moving the object first to the origin, rotating about the origin,
then moving its centre back; and reflection via translating the object's reflection line to the origin,
rotating it so that it aligns with the x-axis, relecting through the x-axis, unrotating and then
untranslating). Homework 4 is to modify the Java drawing program so that it can demonstrate the
symmetries of a simple 2D object (suggest using a square). This means being able to draw a square
with perhaps different coloured edges and having Java methods to apply the relevant rotations and
reflections from its symmetry group.
- Analogue illustration of translations and discussion of optimisation via harp pedalling. More honest
discussion of harmonics for thick strings ... enharmonicity and tuning.
- Discussion of subgroups with special reference to symmetry groups. Concrete examples to illustrate
the ideas of orbits and stabilizers; eg the various stabiliser subgroups of the symmetry group of
an equilateral triangle. Detailed discussion of groups as groups of 'actions' acting on things in a
set, leading to thinking of subgroups of actions. Also introduced the ideas of an 'orbit' (the set
of things visited when a group element's action is repeated on a particular thing in the set), and
an equivalence relation partitioning the set of things into disjoint orbits.
- "Seeing is Believing", Horizon program.
- Summary of groups and actions via discussion of permutations as operations on a set of objects.
- (Reminder that the exam will be held in class on Tuesday 9th November -- a previous exam can be found
here.)
- Videos from class on Tuesday 23rd November:
Everting a Sphere and
Not Knot part 1 plus
part 2
Articles and Examples
- You
might find it helpful to have access to a list of words, so I've put a local link to "Kevin's
Word List". The index file tells you about the various files available,
and you can download any particular file by, for example, replacing
"index.html" in the web link by "3esl.txt" (or whichever actual word
file you prefer).
- You might find these videos amusing, especially the piano staircase one?