Introduction to Computing and the Arts

course info
course outline
additional resources
student links


Jan 29 / 31 -- Course overview / intro to computing and the arts

Course introduction / description, logistics (lab tour, web space, blog)
Fill out student questionnaire here. * this needs to be done by noon on 1/31

once you are officially in the class please do the following:

  • buy this book (it is in the smith book store).
  • have / get a web space. If you already have a space, please send me the url. If you don't, you can get one from ITS. The specific info is here. Send this request in now, as we will need web access soon.
  • read / join the course blog. To post, you will need to get a user name by joining word press here (click 'sign up now' -- you don't need a blog, just a user name). Then email me the email address you used while joining wordpress, and I will give you editorial access. Then you can log into our course blog and post, create categories, make links, and so on... There is a good wordpress faq here. You will need to post to the blog prior to class on the 2/5
History of Computing / computing and the arts
Read / discuss: a short history of arts / technology: Paul, digital art, pp. 7-25
Browse: additional references for the Paul reading are here
Read / discuss Quad by Samuel Beckett - what is an algorithm
Read: Processing pp. xxi-7
In class tech:  run example applets

Feb 5 / 7 -- Intro to programming

How computers work (Von Neumann Machines)
A history of computing hardware is here
How programming works (compilation/interpretation, bit code)
An overview of computer programming is here
Processing Syntax (operators, functions, expressions, variables, comments)
Read: Processing pp. 9-21, 37-50
View: work by Reas and Levin
Discuss project one:  Two dimensional design project

Processing Syntax (conditionals, iteration, arrays)
Read: Processing pp. 51-68
Read / browse: Processing pp. 149-153 (you can run the code for these examples: download book code from here)
View: 2D project examples (Riley -- Mondrian -- Wilson -- Csuri -- Canogar -- Fry)
In class tech: drawing basics

Feb 12 / 14 -- Geometric primitives / visual design basics

Processing Syntax (geometric primitives, defining functions)
Read: Processing pp. 23-34, 181-196
Read / browse: Processing pp. 157-170 (view 1 -- 2 )
View: more 2D  project examples
In class tech: more drawing basics


Elements of design (color, positive/negative space, line, shape, texture)
Design principals (balance, focal point, movements, scale)
Read / browse: basic design principles & design elements
Optional: Christopher Alexander's 15 rules
Read / browse: Processing pp. 165 - 170 (view 1 -- 2 )
In class: design examples (Maeda, Donath...)
In class tech: processing export

Feb 19 / 21 -- 2D geometry / critique

Computer displays (pixels, color, coordinates)
Processing geometry (polygons, curves, strokes, colors)
Useful math (trigonometry, tangents, perpendiculars)
Read: Processing pp. 69-94
In class tech: work on projects

project one critique – guest artist -- Ben Fry
discuss project two:  Interactive / dynamic 2D design

Feb 26 / 28 -- Interactivity


Read / discuss: Seven Ways of Misunderstanding Interactive Art
Browse: additional references for the reading are here
Interactivity in Processing (keyboard and mouse)
Read: Processing pp. 205-216, 223-227
Browse / view:  elelctronic literature collection 1 (hypertext, game art, kinetics, chatterbots, etc)
In class tech: user input


More interactivity in Processing (events and measures)
Read / Discuss: Processing pp. 229-244
Read / browse: Processing pp. 255-259 (run these sketches, from the downloadable book code)
Browse / view: physically interactive artworks (Rokeby, Ritter, Levin...)
In class tech: interactivity

Mar 4 / 6 -- Motion and time / modularity

Read / discuss: The emerging aesthetics of Interactive Art
In Processing (measuring time, triggers, interpolation)
Read: Processing pp. 245-250, 435-452 (as needed for your projects)
Browse / view:  interactive and time based examples

Modularity and code reuse (functions revisited, recursion, L systems and others)
Software design and engineering (specification, modularity and reuse, top down / bottom up, debugging and testing)
Read: Processing pp. 197-204, 251-254
Read / browse: Processing pp. 263-269
(1 - 2)

Mar 11 / 13 -- Data Structures / critique

Data structures, efficiency, complexity management
Higher level interaction, input analysis, and memory
Read / browse: Processing pp. 271-276
In class studio time: project trouble shooting

Project two critique- guest artist -- Teri Rueb
Discuss project three:  Interactive sound piece / instrument

Mar 18 / 20 -- <spring break>

Mar 25 / 27 -- Sound programming / intro to Max/MSP

Intro to sound computation / digital audio
Read / discuss: Processing pp. 579-593
Max/MSP basics (graphic programming, patchers, objects, arguments, and messages)
Read: Intro to Max by Peter Elsea
Optional: browse
Max Fundamentals PDF 'overview' section (download max/msp documentation here)
Listening: sonic art 1 (additional listening materials are here)


More Max/MSP (numbers, timing, event order, math, storage and basic UI design)
Read: Max tutorials PDF, tutorials 1-10, as needed
Browse: making connections tutorial here
Intro to alternative input devices (Wii and other game / alternative controllers)
In class tech: user input

Apr 1 / 3 -- More sound programming / instrument design


More digital sampling and signal processing basics, acoustics / psychoacoustics
More Max/MSP (signal processing w/ MSP, audio rate / control rate, audio i/o, intro to synthesis and sampling)
Read: MSP Basics by Peter Elsea
Do: this

Browse: MSP tutorials and topics PDF, tutorials 1-5, as needed
Bring: one working patch to class

Interaction / instrument design, data conditioning and storage, and performance strategies
Read: Max/MSP tutorials PDF, as need for projects
Browse: Max/MSP example patches (in the 'examples' folder in the 'MaxMSP' application folder)
Listening: computer-mediated sound performance
In class tech: user input and UI control

Apr 8 / 10 -- Computer-mediated performance / critique


More Max/MSP (complexity management, modularity, encapsulation, commenting, UI design)
Read / browse: Max topics PDF (debugging, efficiency, and encapsulation)
In class tech: project work / performance rehearsals

Studio work session
Discuss final project

Apr 15 / 17 -- Images and digital video

Project three critique

Video processing, and computer vision
In Max/Jitter (i/o, loading, manipulation / processing, cv tools)
Browse / view:  digital video / sound works
Final project idea session

Apr 22 / 24 -- Images and digital video + Networking and

Read / discuss: Processing pp. 377-392
Digital images / digital video (properties and preparation)
Image / video processing
In Processing (i/o, loading, manipulation / processing)
Read / browse: Processing pp. 95-100, 321-326, 347-366 - as needed
Final project proposal draft due (on your web site). Guidelines for the proposal are here

Networking, internet and intranets
Read / discuss:  Processing pp. 563-576
Inter-application networking and communication (MIDI, OSC, kolo)
Connecting Processing and Max/MSP/Jitter
Final project proposal critiques
In class tech: studio work session

Apr 29 / May 1 -- AI and machine aesthetics + VR

What is AI (Turing test and other definitions)
Examples of search (maps), nlp (eliza) and learning systems
AI art examples
Browse / view: A life examples (Carl Sims, Craig Reynolds, AI metalist)
In class tech: studio work session

Final projects work in progress showing
In class: studio work session

Week of May 6th (finals week) -- Final project critiques - May 7th - 2pm