Procedural Painting, Spring 2004

Daniel Shiffman
daniel.shiffman@nyu.edu
http://www.shiffman.net
Office Hours: Tuesday 3-5

sign up for the class list: itp-ppaint@forums.nyu.edu

Course Description

This introductory level course covers the basics of computer programming within the context of images, drawing and responsive visual forms. The first few weeks will focus on basic programming concepts: variables, arrays, conditional statements, and iteration. The second-half of the course will cover more advanced topics, such as recursion, image processing, and "3D" transformations. Processing ( http://www.proce55ing.net) will be used as the primary development environment for the class. Weekly assignments are required through the first part of the semester. The end of the semester is spent developing an idea for a final project and implementing it using computer programming.

Syllabus

Week 1 -- 1/23/04Class Intro
What is a programming?
What is Processing?
Concepts: data, control structures, algorithms
Syntax and structure of the language
(Processing -- graphic primitives and drawing attributes)
handout
reading: Processing Defined, Josh Nimoy's Processing Tutorial

Week 2 -- 1/30/04 Variables and Conditionals
Data Types
Scope
Truth Tables
Control Flow -- selection
(Processing -- setting colors and color modes)
handout

Week 3 -- 2/6/04 Iteration
Arrays
Loops (for & while)
(Processing – a little more on color, rotation)
handout

Week 4 -- 2/13/04 Modularity
“procedures” & “functions”
parameter passing (by value, by reference – arrays)
(Processing – displaying images)
handout

Week 5 -- 2/20/04 Intro to Object Orientation
handout
Data & Functionality

Week 6 -- 2/27/04 NO CLASS

Week 7a -- 3/5/04 MIDTERM
Week 7b -- 3/6/04
MAKEUP CLASS, SAT 12:30 PM -- Recursion, 2D Arrays

handout
READING: Computational Beauty of Nature, Flake

Week 8 -- 3/12/04 Intro to “3D” Concepts
Transfoms
The “Stack” – push/pop
handout
Reading: How 3-D Graphics Works
http://www.cmspro.com/3d_graphics.htm
3D Graphics De-Mystified

-- spring break --

Week 9 -- 3/26/04 Intro to Image Processing
2D Arrays cntd.
thinking in 1D and 2D at the same time
Point operations, Group operations, Creative Visualization
handout
Reading: Handout from Digital Image Processing, Baxes, 1994

Week 10 -- 4/2/04 Image Processing cntd.
working with live video
handout

Week 11 -- 4/9/04 Propose Final Projects
Intro to Computer Vision
handout

Week 12 -- 4/16/04 Final Projects in Progress
Live Video -- background removal
handout

Week 13 -- 4/23/04 Final Projects in Progress

Week 14 -- 4/30/04 Show your work


REQUIREMENTS: (no incompletes)
  • weekly assignments
  • final project
  • class participation, on time attendance



  • site stylesheet courtesy of www.style.org