Schedule

Date Day Topic Assignment Due
W-09/02 01
  • Welcome to the class!
  • Go over syllabus
  • Introductions
  • Interactive Multimedia Overview
  • Installing Processing
  • Setting up your digital portfolio
  • Assignments
    • Assignment #1: Setting up your Digital Portfolio and Processing Hello, World!
  • None
W-09/09 02
  • Working with Processing
  • Commenting your code
  • Coordinate systems for graphical applications
  • Functions for simple shapes (ellipse, rectangle, quad, arc)
  • Greyscale color
  • RGB color
  • Transparency
  • Simulating interactivity in Processing
  • void setup() // “startup” instructions
  • void draw() // the “game” loop
  • Delimiting blocks of execution in Processing
  • Detecting the mouse position (mouseX and mouseY)
  • Getting the previous position of the mouse (pmouseX and pMouseY)
  • Detecting mouse clicks
  • Changing the frame rate of your sketches
  • Read Chapter 1: Pixels, Processing & Interaction
  • Read Chapter 2: Processing
M-09/14 03
  • Setting up and maintaining your online portfolio
  • More basic drawing & interaction techniques in Processing
  • More mouse interaction techniques
  • Working with keyboard input
  • Variables in Processing
  • Python vs. Processing – “Strict Typing”
  • Variable declaration and initialization
  • Primitive data types in Processing
  • Variable naming conventions
  • Variable scope
  • Augmented assignment operators and moving objects (simple)
  • Running multiple variables
  • System variables (“instance variables”)
  • Generating random numbers
  • Conditional statements (IF / ELSE / ELSE IF)
  • Blocks of execution (again)
  • Nested conditional statements
  • Conditional statements & interactivity
  • Logical operators (||, &&)
  • Assignments
    • Assignment #2
  • Assignment #1
  • Read Chapter 3: Interaction
  • Read Chapter 4: Variables
  • Read Chapter 5: Conditionals

W-09/16

04
  • Simple physics
  • “Bouncing” objects
  • Working with external artwork
  • User controlled characters
  • Detecting collisions
  • In-class programming studio
  • None
M-09/21 05
  • Working with Sound
  • Functions in Processing
  • Defining functions
  • Argument mechanics
  • Defining a return type for a function
  • Returning data from a function
  • Constructing Buttons & rollover behaviors
  • Boolean variables & constructing “buttons”
  • Simple physics (gravity & friction)
  • Constraining values
  • Assignments
    • Assignment #3
  • Read Chapter 6: Loops
  • Read Chapter 7: Functions
W-09/23 06
  • Introduction to creating your own physical interfaces (Makey Makey)
  • In-class programming studio
  • Assignment #2
  • Read Chapter 6: Loops
  • Read Chapter 7: Functions
M-09/28 07
  • Organizing your code using Objects (Introduction to Object Oriented Programming)
  • Object definintion
  • Member variables (instance variables)
  • Member functions (methods)
  • Organizing objets using tabs in the IDE
  • Constructors
  • Instantiation
  • Assignments
    • Assignment #4
  • Read Chapter 8: Objects

 

W-09/30 08
  • Object Oriented Programming
  • Objects with “state”
  • Creating "helper" objects (SoundManager, etc.)
  • In-class programming studio + Makey Makey lab time
  • Assignment #3
  • Read Chapter 8: Objects
M-10/05 09
  • 2D Rotation and translation
  • Perlin Noise for generating more “organic” looking random numbers.
  • Repetition structures (“while” loops and “for” loops)
  • Nesting a loop inside of draw()
  • Nesting a loop inside another loop
  • Objects as data types
  • Sequence structures (Arrays)
  • Initializing and defining arrays
  • Iterating over an array using a “for” loop
  • Arrays of objects
  • Interactive objects & arrays
  • Assignments
    • Midterm Project Assigned (3x credit, 3 weeks to complete)
  • Read Chapter 8: Objects
W-10/07 10
  • ArrayLists
  • Particle Systems (creating zillions of things!)
  • In-class programming studio
  • Assignment #4
  • Read Chapter 9: Arrays
M-10/13 -
  • No class - fall semester break
  • None
T-10/13 11
  • Tile-based games, ArrayLists & Working with Physics Libraries
  • Midterm Project Proposal Due
  • Read Chapter 9: Arrays
W-10/14 12
  • Working with Physics Libraries
  • Read Chapter 10: Algorithms
M-10/19 13
  • Midterm Project Workshop (Group A - mandatory check-in)
  • Read Chapter 11: Debugging
  • Midterm Project Update Due
W-10/21 14
  • Midterm Project Workshop (Group B - mandatory check-in)
  • None
M-10/26 15
  • Midterm project showcase (group A)
  • Assignment #5 [Midterm Project, 3x credit] Due
W-10/28 16
  • Midterm project showcase (group B)
  • None
M-11/02 17
  • Midterm Exam (programming techniques, paper-based, in class, open-book, open-note, open-computer
  • None
W-11/04 18
  • Go over Midterm #1
  • Filtering an image
  • Swapping images at runtime based on user interaction
  • Accessing the raw pixels of an image
  • Writing your own image filters
  • Working with live video
  • Assignments
    • Assignment #6
    • Introduce Final Project
  • Read Chapter 14: Images
  • Read Chapter 15: Video
M-11/09 19
  • Images (continued)
  • Introduction to working with external libraries
  • Working with live video
  • Iterating over all pixels in an incoming video stream
  • Software “mirrors"
  • Background subtraction (simple)
  • Read Chapter 15: Images
  • Read Chapter 16: Video
W-11/11 20
  • Motion tracking
  • Tracking features in live video (brightest pixel, reddest pixel, greenest pixel, etc)
  • Assignments
    • Read Chapter 15: Images
    • Read Chapter 16: Video
  • Read Chapter 15: Images
  • Read Chapter 16: Video
  • Final Project: Group Selection & Draft Proposal Due
M-11/16 21
  • Video Tracking & External Sensors
  • Introduction to Marker-based Augmented Reality
  • Assignments
    • Assignment #7
  • Read Chapter 16: Video
  • Final Project: Status update #1
W-11/18 22
  • Augmented Reality Workshop
  • Fiducial markers
  • QR Codes
  • Natural feature tracking
  • Assignment #6
  • Read Chapter 16: Video
M-11/23 23
  • In-class programming studio
  • Final Project: Status update #2
W-11/25 23 No class - Thanksgiving Break
  • None
M-11/30 24
  • Augmented Reality Workshop Part II
  • Redundant marker tracking
  • AR on mobile devices
  • File I/O Considerations
  • Assignment #7
  • Final Project: Status update #3
W-12/02 25
  • Final Project Workshop (Group A)
  • Final Project: Status update #4
M-12/07 26
  • Final Project Workshop (Group B)
  • None
W-12/09 27
  • Final Project Presentations (Group A)
  • Final Project Presentation
M-12/14 28
  • Final Project Presentations (Group B)
  • Final Project Presentation
  • Final Project Documentation
TBA - Final Exam (during finals week)