Dates for things in light gray are tentative and may shift slightly.
| Assignments |
Week 1: 8/29-9/2
Topics: introduction; algorithms, decomposition, and
incremental development; building blocks: coordinates, shapes, and
colors; writing and running sketches
|
|
|
|
Mon |
Slides and Examples:
- slides (course info)
- handout (imagine giving instructions about how to draw the picture to someone who can't see it - or try it with a friend!)
|
lab 0 laptop setup |
|
|
Wed |
Reading:
- Learning Processing, Introduction (especially the sections
"Will this be on the test?" and "Take It One Step at a Time")
- Learning Processing, sections 1.1-1.5
Slides and Examples:
|
|
|
Fri |
Reading:
- Learning Processing, sections 2.1-2.4
- Learning Processing, sections 2.8-2.9
|
lab 1 Introduction to Linux and Processing due Fri 9/9 |
|
Week 2: 9/5-9/9
Topics: creating scenes; interaction
|
|
|
Mon |
Examples:
|
|
|
Wed |
Reading:
- Learning Processing, chapter 3
Slides and Examples:
|
|
|
Fri |
|
lab 2 Drawing and Interaction due Fri 9/16 |
|
Week 3: 9/12-9/16
Topics: animation
|
|
|
Mon |
Reading:
- Learning Processing, sections 4.1-4.5
Slides and Examples:
|
|
|
Wed |
Reading:
- Learning Processing, sections 4.6-4.7
Examples:
|
|
|
Fri |
|
lab 3 Animation due Fri 9/23 |
|
Week 4: 9/19-9/23
Topics: abstraction and modularity (functions); debugging
|
|
|
Mon |
Reading:
- Learning Processing, sections 7.1-7.6
This reading skips ahead a bit in the book so some of the examples
contain constructs (like if statements) that we haven't
covered yet - don't worry about understanding those parts. Also, our
use of functions will be limited to a very specific purpose - drawing
complex shapes. (The book contains a more general treatment.) Focus
on the examples of functions that contain only drawing-related
statements
(e.g. drawBlackCircle(), display(), drawCar(...))
rather than those that update variables
(e.g. move(), bounce()).
Slides and Examples:
|
|
|
Wed |
Reading:
- Learning Processing, chapter 11
As with Monday's reading, the examples in this chapter contain
constructs and syntax we haven't covered yet. Don't worry about the
details of what the particular examples are doing, but instead focus
on the ideas presented in the four tips.
Slides and Examples:
|
|
|
Fri |
|
lab 4 Modularity and Abstraction due Fri 9/30 |
|
Week 5: 9/26-9/30
Topics: self-similarity and fractals (recursion)
|
|
|
Mon |
Reading:
- Learning Processing, section 13.11
The text makes some references to "loops" and "iteration" (which we
haven't covered yet) and also includes an example involving returning
values from functions (which we won't cover) - don't worry about those
parts! Focus on the concepts of "self-similarity" and "recursive" and
the various drawCircle() examples.
Slides:
- slides (functions - more about working with parameters)
|
|
|
Wed |
Slides and Examples:
|
|
|
Fri |
-- meet in Gulick 206B --
exam 1
|
|
|
Week 6: 10/3-10/7
Topics: fractals; making choices
|
|
|
Mon |
Slides and Examples:
|
lab 5 Fractals due Fri 10/14 |
|
|
Wed |
Reading:
- Learning Processing, sections 5.1-5.7
Slides and Examples:
|
|
|
Fri |
|
|
Week 7: 10/10-10/14
Topics: making choices
|
|
|
Mon |
fall break (no class) |
|
Wed |
Slides and Examples:
|
|
|
Fri |
|
lab 6 Making Choices due Fri 10/21 |
Week 8: 10/17-10/21
Topics: complex motion
|
|
|
Mon |
Reading:
- Learning Processing, sections 13.6-13.7
- Learning Processing, section 5.8
Slides and Examples:
|
|
|
Wed |
Reading:
- Learning Processing, sections 13.9-13.10
These sections get more mathematical, involving trigonometry. It's OK
if you aren't familiar with sin, cos, polar
coordinates and the rest of the math discussed - the key points to get
out of the reading are the ideas that complex motion paths can be
created by having the right equation, and the pattern in example 13-6
of local variables x and y whose values are computed
using some equation.
Slides and Examples:
|
|
|
Fri |
|
lab 7 Complex Motion due Fri 10/28 |
|
Week 9: 10/24-10/28
Topics: repetition (loops)
|
|
|
Mon |
Reading:
- Learning Processing, sections 6.1-6.5, 6.7
Slides and Examples:
|
|
|
Wed |
Examples:
|
project 1 Rube Goldberg Sketch due Wed 11/9 |
|
Fri |
|
lab 8 Repetition due Fri 11/4 |
Week 10: 10/31-11/4
Topics: repetition (loops)
|
|
Mon |
Slides and Examples:
|
|
Wed |
Examples:
- decomposing into loops
- one loop, multiple loop variables, one thing in the loop body
- one loop, one loop variable, multiple things in the loop body
- one loop, one loop variable, multiple things in the loop body
- two loops, each with one loop variable and one thing in the loop body
- nested loops (with a drawing function instead)
- two nested loops
- animation
- one loop, one loop variable, multiple things in the loop body + animation
- one loop, one loop variable, multiple things in the loop body + animation
- in-class exercises
|
|
Fri |
|
lab 9 Repetition, Again due Fri 11/11 |
Week 11: 11/7-11/11
Topics: more of the same (arrays)
|
|
Mon |
Reading:
- Learning Processing, sections 9.1-9.5
In Class:
Slides and Examples:
- slides (arrays)
- animation, loops, and arrays
- single circle (no animation, no loop)
- row of circles (no animation, loop with one variable)
- staggered row of circles (no animation, loop with multiple variables)
- single circle, falling (animation with one set of animation variables, no loop)
- row of circles, falling (animation with one set of animation variables, loop with one variable)
- staggered row of circles, falling (animation with one set of animation variables, loop with multiple variables)
- single circle, bouncing (animation with one set of animation variables, no loop)
- row of circles, bouncing (animation with one set of animation variables, loop with one variable)
- staggered row of circles, bouncing (animation with arrays, loop with multiple variables)
- in-class exercises
|
|
Wed |
In Class:
Examples:
|
|
|
Fri |
|
lab 10 Arrays due Fri 11/18 |
|
Week 12: 11/14-11/18
Topics: behavioral animation and emergent behavior
|
|
|
Mon |
exam 2
|
|
|
Wed |
Slides and Examples:
- slides (boids and behavioral animation)
- videos (in addition to those listed in the slides)
- how Massive works (software used in Lord of the Rings): part I, part II
- boids in Processing
- wander (one behavior)
- wander + seek (multiple behaviors active at once) - seeks the mouse position
- wander or seek (choosing between behaviors) - seeks the mouse position when near the mouse
|
|
|
Fri |
|
lab 11 Boids due Fri 12/2 |
|
Week 13: 11/21-11/25
Topics: using images
|
|
Mon |
Reading:
- Learning Processing, sections 15.1-15.3
In Class:
Slides and Examples:
|
|
Wed |
Thanksgiving break (no class) |
|
Fri |
Week 14: 11/28-12/2
Topics: pixel-based manipulation
|
|
Mon |
Reading:
- Learning Processing, sections 15.5-15.6 and 15.10
Slides and Examples:
|
project 2 Capstone due Tue 12/13 |
|
Wed |
Reading:
- Learning Processing, sections 15.7-15.8
- Learning Processing, section 15.9 (optional)
Slides and Examples:
|
|
Fri |
|
lab 12 Images due Fri 12/9 |
Week 15: 12/5-12/9
Topics: more advanced image filters and image generation;
principles of computer science; wrapup
|
|
Mon |
Slides:
- slides (convolution filters, generating images through 3D raytracing)
|
|
Wed |
Slides:
- slides (principles of computer science, applications, where to go from here)
|
|
Fri |
|
Reading Period: 12/10-12/12
|
|
|
Sat |
|
|
Sun |
|
|
Mon |
|
Exams: 12/13-12/16
|
|
Tue |
final exam Tue 12/13 7-10pm
|
end-of-semester deadline no work accepted after 12/13 10pm |
|
Wed |
|
|
|
|
Thu |
|
|
|
|
Fri |
|
|
|