Schedule

For the readings, “Ch. 1, 2, 3, etc.” refers to Lauren McCarthy, Ben Fry, and Casey Reas, Getting Started with p5.js, which is available to students as a preprint. “JS Introduction”, “JS Scope”, etc. refer to topics in the w3schools.com JavaScript Tutorial.

Week Topics/Readings Assignments/
Projects/Exams
1
8/31-
9/4
Concepts: Download, install, run
IDE, run code
Examples, code elements
Publishing
Browser (chrome) console, printing to console
Variables linked to visual properties
Processing: ellipse, rect, color, coordinates, responding to button press
Reading: Ch. 1, 2, 3
“First Word Art / Last Word Art” by Michael Naimark
Optional Reading: JS Introduction, JS Output, JS Syntax, JS Statements, JS Comments
Assignment: “Mondrian”, “Family Composition”
Looking Outwards:
Technological Art
Project: Face
Other: Complete Questionaire

2
9/7-
9/11
Concepts: Variables, Arithmetic, Order of Operations
Iteration (for loops)
Processing: max, min, constrain, random, mouseX, mouseY,
setup + draw (“continuous” 60fps)
Reading: “Critical Engineering Manifesto” by Julian Oliver et al. (2011)
Ch. 4
Optional Reading: JS Variables, JS Operators, JS Arithmetic, JS Assignment, JS Scope, JS Numbers, JS Number Methods, JS Math
Assignment: draw a square at x, y; draw a triangle to the right; draw a circle below;
draw an object at some location controlled by the mouse in a non-intuitive way, e.g. swap X and Y (but now that you’ve seen this suggestion, figure out a different non-intuitive control strategy of your own.);
In a for loop, draw the 17th circle red; black otherwise.
Looking Outwards: Processing
Project: Make a new randomized face when button is pressed.

3
9/14-
9/18
Concepts: Nested Iteration
Arithmetic: mod (%)
Functions – without parameters, with parameters
Functions – return values
Abstraction (Rees book p. 182)
Scope (II) – function scope, parameters
Iteration + Functions (multiple googly eyes)
Boolean expressions
Conditional iteration (while, do while)
Processing: rotate, translate, map, radians, sin, cos;
circle, spiral, n-gons from trig (sin(2), cos(t))
Reading: Ch. 9
Optional Reading: JS Functions, JS Dates, JS Date Formats, JS Booleans, JS Loop While, JS Break, JS Style Guide, JS Best Practices, JS Mistakes, JS Functions: Function Definitions, JS Functions: Function Parameters, JS Functions: Function Invocation, JS Functions: Function Closures
Assignment: Hexagonal grid;
Bouncing ball (warmup for Pong)
Sandur Mulder “Continue Time” clock
Color gradient – blend between 2 colors across 20 squares.

Looking Outwards:Generativity
Project: Abstract Clock

4
9/21-
9/25
Concepts: Arrays (+ iteration)
strings as values, concatenation, searching, matching
types
Processing: text, fonts
Reading: Ch. 5
Optional Reading: JS Data Types, JS Strings, JS String Methods, JS Arrays
LAB EXAM 9/22
Assignment: plot prescaled data;
pie chart
Looking Outwards:
Information Visualization
Project: Phyllotactic spiral

5
9/28-
10/2
Concepts: FIFO, LIFO, search, trails, worms, strings as char sequences, debugging
Processing:
Reading: Ch. 8
Optional Reading: JS Array Methods, JS Type Conversion, JS Debugging
Assignment: pong (wrapping, bouncing);
find the max and min and normalize with map;
find peaks in an array of noise (planting the flag)
Looking Outwards:
Project:

6
10/5-
10/9
Concepts: Using ready-made objects, hoisting
Processing:
Reading: Ch. 11
Optional Reading: JS Objects, JS Hoisting
Assignment:
Looking Outwards:
Project:

7
10/12-
10/16
Concepts: Making objects, Randomness
Processing:
Reading: Ch. 6, 7
Optional Reading: JS JSON, JS Objects: Object Definitions, JS Objects: Object Properties, JS Objects: Object Methods, JS Objects: Object Prototypes
Assignment:
Looking Outwards:
Project:

8
10/19-
10/21
Concepts: Images
Processing: Images
Reading:
Optional Reading:

(No class 10/23)

LAB EXAM 10/20
Assignment:
Looking Outwards:
Project:

9
10/26-
10/30
Concepts:
Processing:
Reading:
Optional Reading:
Assignment:
Looking Outwards:
Project:

10
11/2-
11/6
Concepts:
Processing:
Reading:
Optional Reading:
Assignment:
Looking Outwards:
Project:

11
11/9-
11/13
Concepts:
Processing:
Reading:
Optional Reading:
Assignment:
Looking Outwards:
Project:

12
11/16-
11/20
Concepts:
Processing:
Reading:
Optional Reading:
LAB EXAM 11/17
FINAL EXAM IN CLASS
Assignment:
Looking Outwards:
Project:

13
11/23-
11/24
Concepts:
Processing:
Reading:
Optional Reading:
Assignment:
Looking Outwards:
Project:

Thanksgiving Break 11/25-11/29

14
11/30-
12/4
Concepts:
Processing:
Reading:
Optional Reading:
Assignment:
Looking Outwards:
Project:

15
12/7-
12/11
Concepts:
Processing:
Reading:
Optional Reading:
EXHIBITION 12/11
Assignment:
Looking Outwards:
Project: