vm464 :: programming for artists 3 (proce55ing)

Course Code: VM464 Title: PROGRAMMING DIGITAL MEDIA

Instructor: GOODWIN, DOUGLAS

Day/Time: T 6:00-9:45

vm464_links

description

Processing is an open source programming language and environment for people who want to program images, animation, and interactions. It is used by students, artists, designers, researchers, and hobbyists for learning, prototyping, and production. It is created to teach fundamentals of computer programming within a visual context and to serve as a software sketchbook and professional production tool. Processing is developed by artists and designers as an alternative to proprietary software tools in the same domain.

Students will be encouraged to think critically about technology. We will develop a vocabulary for discussing art made in technical media by through a survey of existing work.

Students will learn how to develop their own software for the processing, manipulation, and synthesis of audio and video. The result will be the useable projects for composition, installations, and performance. Other programming languages will be introduced as extensions to the processing environment.

materials

You will want a portable drive to hold the media you develop in this course. This may be a USB drive, a stack of writable optical disks (CD or DVD-R) a Firewire drive or USB 2.0 drive.

plagiarism

It is the responsibility of all Emerson students to know and adhere to the College’s policy on plagiarism which is available on the Emerson web site at the following URL: http://www.emerson.edu/student_life/index.cfm?doc_id=1006 .If you have any question concerning the Emerson plagiarism policy or about documentation of sources in work you produce in this course, you should speak to your instructor.

disabilities

If you believe you have a disability that may warrant accommodations in this class, I urge you to register with the Disability Services Coordinator, Dr. Anthony Bashir at 216 Tremont Street, 5th Floor (617-824-8415), so that, together, you can work to develop methods of addressing needed accommodations in this class.

focus!

No laptops or computers or monitors should be on during class discussions & critiques.

lateness/absence

lateness is better and absence. however:

  1. each time you arrive late to class your class participation grade will drop by 1 percentage point.
  2. Each day that your assignment is late, it will lose one grade percentage point.
  3. if you have more than one unexcused absence you risk failing the class.

syllabus

week 01 [1/22]

hello class, hello programming, hello proce55ing

  1. what some other people are doing (video medley)
  2. developing your own texture
  3. code: what is it, where did it come from?
  4. bits: images, spreadsheets
  5. vectors: roads, maps, topography
  6. charts: thinking with images

week 02 [1/29]

particles: quanta, bits, and granularity

  1. variables: scope and data types
  2. testing: conditionals
  3. sequence, linearity and flow
  4. indirection, making someting greater than a sum of parts

processing book

  1. Structure 3: Functions (p. 181-193)
  2. Shape 3: Parameters, Recursion (p. 197-204)
  • reading/presentation: umbrellas and taxis, tacoma narrows bridge
  • exercise vm464_02: build a function to clone your kitty, make 1000 kitties

week 03 [2/5]

  1. functions followup

the algorithm

  1. rule-oriented art: the Oulipo
  2. nouns: procedures & functions
  3. increasing complexity with arguments (by value, by reference)
  • reading/presentation: the outlipo, fluxus
  • exercise vm464_03: work on your proposals

week 04 [2/12]

final project proposal due

nouns: storage and data arrays

  1. brain = computer ?
  2. memory & forgetting
  3. storage: bits, buckets, bytes
  4. higher level storage: tables, arrays
  5. maintaining state
  6. databases and xml
  • reading/presentation: stephen johnson, john searle: chinese room
  • exercise vm464_03: draw a model of kitty's brain (in proce55ing)
  1. ec: make kitty's brain dynamic, i.e. make kitty respond to stimuli

week 05 [2/19]

Iteration

  1. logical operators: george boole
  2. testing for conditions
  • reading/presentation: the sorcerer's apprentice
  • exercise vm464_05: a program that can count to 2001

week 06 [2/26]

Object-oriented objects

  1. procedural vs. object-oriented coding
  2. personal verbs: making 'go home' execute something different for everyone
  3. data and functionality
  4. arrays (of objects)
  5. object + vector = animation
  • reading/presentation: christopher alexander, demo or die
  • exercise vm464_06: redraw the kitty with a function, make the kitty an object, make a littler of kitties with the array

week 07 [3/4]

making software

  1. modularity = reuseability
  2. what is a code library and how are they used?
  3. working together: xtreme programming
  4. source code control
  5. creating libraries of code: what's available, what do you need? [begin the negotiation]

week 08 [3/11]

spring break, no class!

week 09 [3/18]

visit from Alex François

Interactivity

  1. peripherals and events
  2. listening to hardware, talking to hardware
  • reading/presentation: david rokeby, paul demarinis
  • exercise vm464_09: continue group work on the libraries, distribute

week 10 [3/25]

hardware: what is it, where did it come from?

  1. making custom hardware

what computers know

  1. psychophysics
  • reading/presentation: DIY culture, cathedral & bazaar
  • exercise vm464_10:

week 11 [4/1]

human vs. computer vision

  1. what computers see
  2. PImage, pixels, live video (cameras)
  3. VR calculates the bandwidth of experience
  4. image processing * exercise vm464_11: make your computer recognize you

week 12 [4/8]

strings and networking

  • reading/presentation: ted nelson
  • exercise vm464_12: do a search, preen and format the results

week 13 [4/15]

sound: wave or particle?

  1. signal and noise
  2. types of noise
  • reading/presentation: michel chion,
  • exercise vm464_13: make some signal! make some noise!

week 14 [4/22]

mapping: what is it? why do you want to do it?

  • reading/presentation: lev manovich
  • exercise vm464_14: transcode an image into sound and vice versa

week 15 [4/29]

week 15 [5/6]

vm464_finals recap

 
vm464.txt · Last modified: 2008/05/06 15:07 (external edit)
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki