ICM-Liesje-Hodgson-S12
Syllabus / ICM-Liesje-Hodgson-S12

## Introduction to Computational Media Syllabus

Liesje Hodgson

Thursday, 6:30pm - 9:00pm, Room 445 liesje@nyu.edu Office Hours Sign Up General ICM Page: includes links to helpful resources, work from other sections, and instructions on how to upload your homework. Homework Wiki: This is where you post links to your weekly assignments. Main Processing page book: www.learningprocessing.com Other Processing books available Processing site tutorials Week 1 -- Introduction and Drawing -- Jan 6

The flow: code blocks, setup, draw, and events: http://www.learningprocessing.com/examples/chapter-3/ Variation: mouseX,mouseY Variables: Declare, Initialize, Use: http://www.learningprocessing.com/examples/chapter-4/ Random Transformations Related Reading Chapters 3-4 from Learning Processing. Chapters 4-5 from Getting Started with Processing Homework Create a animated application. You can continue to elaborate on last week's assignment or you can design something new. Use variables to change colors, grow and shrink your design, etc. Start by working in pairs (according to the wiki: ICM-Liesje-Hodgson-S12 You can post as a group or break off and complete the assignment individually. Week 3 -- Interaction -- Feb 9

Conditionals: http://www.learningprocessing.com/examples/chapter-5/ If, else if, else Boolean variables Relational Operators, Logical Operators Buttons, rollovers, switches Loops: http://www.learningprocessing.com/examples/chapter-6/ while for Related Reading Chapters 5-6 from Learning Processing. Chapters 4-5 from Getting Started with Processing Homework Use mouse and keyboard input to create an interactive drawing. Week 4 -- Functions & Objects: Part 1 -- Feb 16

The Theory of Object Oriented Programming Functions: http://www.learningprocessing.com/examples/chapter-7/ Re-usability Modularity Calling vs. Defining Parameter Passing Return types Recursion Simple Fractal Branching Fractal Event functions MousePressed & KeyPressed Intro to Objects Related Reading Chapters 7-8 from Learning Processing. Chapters 8-9 from Getting Started with Processing Homework Re-organize the code of a previous assignment or example using functions and objects. If you are inspired by the power of modularity, feel free to elaborate on the assignment. Work individually or in pairs (no pairs will be assigned this week.) Post results to the wiki: ICM-Liesje-Hodgson-S12 Week 5 -- Functions & Objects Part 2 -- Feb 23

Objects: http://www.learningprocessing.com/examples/chapter-8/ Principles and Theory (Encapsulation) How-to The Constructor! Objects talking to objects Related Reading Chapters 7-8 from Learning Processing. Chapters 8-9 from Getting Started with Processing Homework Design a sketch in an object-oriented fashion. Try to eliminate all code from the main tab (setup() and draw()) except for the core requirements (size(), background(), etc.) and calls to objects. Week 6 -- Repetition and Reproduction: Mar 1

Review loops: http://www.learningprocessing.com/examples/chapter-6/ Arrays: http://www.learningprocessing.com/examples/chapter-9/ What is an ArrayList? Related Reading Chapters 6 and 9, from Learning Processing. Chapter 10 from Getting Started with Processing Homework Using arrays and loops, write a program that creates multiple instances of an object (feel free to use an object you developed previously or create something new). Brainstorm an idea for a midterm project. Feel free to think of your midterm on as grand a scale as you like, however, the midterm assignment will involve implementing only one step of a larger project. Remember, it's only a one week assignment! Be prepared to speak briefly about your midterm idea next week. Week 7 -- Pixels: Mar 8

Images http://www.learningprocessing.com/examples/chapter-15 Load and display Sequence Image Processing and the Pixel Array Related reading: Learning Processing, Chapters 15-16 Homework Complete midterm assignment and be prepared to show your work next week. Link to a page that documents your work on the midterm assignment. Include a brief write-up of your idea as well as documentation of your implementation exercise. Remember, this is a one-week assignment and you aren't expected to complete your project, just take a first step. Everyone will present in class. Plan on speaking for 5 minutes or less (not including questions). Link to your documentation on the wiki: ICM-Liesje-Hodgson-S12 Week 8 -- Show Midterms: Mar 22

Each student will present their midterm assignment. Plan on speaking for 5 minutes or less (not including questions). Talk briefly about your idea as a whole, what you chose to implement in just this one week, any problems you had, and future plans. We will follow the order on the wiki so feel free to move things around if you would like to present earlier or later in class (those at the bottom of the list have a chance of being pushed a week later.) Link to your documentation on the wiki: ICM-Liesje-Hodgson-S12 Week 9 -- Video and Computer Vision: Mar 29

Video: http://www.learningprocessing.com/examples/chapter-16/ Live video input Move playback Contributed Processing Libraries JMyron: http://webcamxtra.sourceforge.net/ OpenCV: http://ubaa.net/shared/processing/opencv/ BlobDetection: http://www.v3ga.net/processing/BlobDetection/ CCV + TUIO: http://ccv.nuigroup.com/, http://www.tuio.org/?processing Homework: Prepare a final project proposal. Create a web page or blog post with title, description, sample imagery, diagrams, Processing code, etc. Presentations will be split over the next three weeks. Check the wiki for assigned date (but feel free to switch these around). Week 10 -- Propose Final Projects + Data -- Apr 5