Leaving the Screen:
Introduction to Programming for Interactive/Reactive Systems
Zach Gage - SVA 2011

This course will be an introduction to code, as well as how to begin thinking about software in regard to the physical context in which it will exist. The course is It is taught using openFrameworks (openframeworks.cc), a cross-platform c++ library for creative coding.

I'll cover the building blocks of code, computational logic, and object-orientated programming. Throughout the course, participants work to code creative and personally meaningful prototypes based on these approaches.

In addition to the technical side, students weave through examples of the aesthetic and practical applications of the medium, looking for sources of inspiration and challenging our notion of what is possible. Students are recommended to have some familiarity with code (i.e., know what a variable and a function is), but beginners, who are prepared to roll up their sleeves and get their hands dirty, are totally welcome.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Week 3: Classes

Assignment: Do one of the Assignment Options (below)

Resources:
Code From This Week

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Week 2: Timing, Arrays, Vectors, and Pixels

Assignment: Do one of the Assignment Options (below)

Resources:
Code From This Week

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Week 1: Intro to Programming, OpenFrameworks, and the basics of Drawing / Animation

Assignment: Do one of the Assignment Options (below)
recommended choice:
Make a piece of meaningful software that builds on top of an example OF project

Resources:
Code From This Week

Optional exercises:
Draw a picture using only code.
Animate elements of that picture.

Resources:
OF Forum
OF Documentation

Tutorials:
OF Startup Guide
Ooops! = Object Oriented Programming + Classes
OF Code Structure
OF for Processing Users
C++ Language Documentation

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Assignment Options:

Make a piece of meaningful software that:
- is a creative drawing tool
- builds on top of an example OF project
- augments a public space
- is meant to run while you are sleeping
- is designed for lonely people
- has no screen
- is only to be run one time ever
- has a projected output that only consists of ofBackground();
- is designed for a specific friend, enemy, or family member. Give that person the software.


Students

Layla
Anne-Michelle
Hector
Bae
Teresa
Jenifer
Christiana
Nga
Jiwon
Mira
Nora
Paul
Juliane
Rebecca
Catherine