Week 01


  • Course Introduction and Syllabus overview
  • What is Code? What is Processing? What can it be used for?
  • Introduction to “Algorithms” through a drawing exercise.
  • The Processing IDE, Hello World, Tools
  • Drawing, Shape Primitives, Coordinates
  • Time Allowing: Data Types and Variables
  • Assign HW and “Look Around You”, due W03

Due Next Week

  1. Sign Up for the class blog (accept invitation)
  2. DRAW
    Here are three paintings (“Double Somersault” by Dieter Roth, “Untitled 1” and “Grey Space (distractor)” by Julie Mehretu). Pick one, select a crop of it, and copy the painting using Processing, on a 640 x 480 px sketch.  First select an interesting/ambitious crop, in a program such as Photoshop or Illustrator. You can use PS to reference the color and coordinate data if you wish. Resize and move the image in photoshop as needed to fit your 640×480 window. Copy your crop of the painting, as best as you can using the shape primitives we learned in class: line(), triangle(), quad(), rect(), ellipse(), and arc(). On your own, investigate beginShape(), endShape() with curves and bezier curves. Feel free to look ahead if you encounter obstacles and have ideas about how to solve them. Upload your sketch to the class dropbox before class next week.
    Using this template, experiment with the pattern being created. Modify the pattern (its colors, its behavior, its style). Put your modified pattern into the class dropbox for next week. The purpose of this assignment is to get a preview of “for” loops, variables and repeating structures, which we’ll be reviewing next week!
  4. P1
    Complete the corresponding part of Project 1: Conditional Design (See PDF)
  5. Read
    Selection from Form & Code (this link will not stay up forever)
    “Learnable Programming” (on Resource page)
    GSwP: Chapters 1-3 (They are very quick… Look ahead at 4)
    Blue Book: Structure 1, Shape 1 & 2, Color 1, Development 1, Synthesis 1

A few notes from today:

What is an “algorithm”?
“Form and Code” by Casey Reas and Chandler McWilliams provides an interesting description of algorithms:

“Within the context of this book, we’re interested primarily in codes that represent a series of instructions. This type of code– often called and algorithm, procedure, or program– defines a specific process with enough detailto allow the instructions to be followed. While the word algorithm may be unfamiliar to you, it’s meaning is not. It’s just a precise way of explaining how to do something. It is commonly used within the context of computer instructions.”

At which point they go on to describe “algorithms” for knitting a blanket and giving driving directions and explore how repition and modularity play a part in these types on instructions. Along the way they raise 4 interesting point about code and algorithms:

  1. There are many different ways to write an algorithm.
  2. An Algorithm requires assumptions.
  3. An algorithm includes decisions.
  4. A complex algorithm should be broken down into modular pieces.

Have a look at the work on ConditionalDesign.org and read the Conditional Design Manifesto. Think about how these four points regarding algorithms plays out in their work.

 References from Class. And More!

Selection of Artists/Designers:

Online Galleries / Blogs

The Processing Family Tree

Video Tutorials:
Daniel Shiffman explains the Processing coordinate system:

1.0 ICM: Drawing with Pixels from shiffman on Vimeo.

Daniel Shiffman explains “Variables”

4.0 ICM: Variables from shiffman on Vimeo.

Comments are closed.