A one week program to introduce the foundations of coding to beginners by creating visual art and animations in openFrameworks.
Instructors: Matt Jacobson & Robby Kraft
Teaching Assistant: Alex Miller
Location: School for Poetic Computation | 155 Bank St, New York, NY 10014
Class Time: 10am - 1pm
Office Hours: Thursdays 2pm to 4pm (or by appointment)
Class Notes: (link sent to enrolled students)
School for Poetic Computation’s Bootcamp introduces the foundations of coding to beginners by creating visual art and animations in openFrameworks. This 5 day session will be open both to incoming SFPC students and anyone who wants to learn to code.
During this week students will be coding in C++, learning concepts like variables, memory, and scope; branching, looping, boolean evaluations, and logic; functions, recursion, and events; object-oriented design; and working with media like video, sound, and responding to keyboard and mouse inputs. Students will become competent in Xcode/Visual Studio, GitHub, and openFrameworks.
Before the first day of class, you should try installing both an IDE and openFrameworks. An IDE stands for “integrated development environment” and is what allows you to run programming code on your computer. openFrameworks is a coding library that you’ll be using extensively at SFPC. Here are specific instructions for Mac and Windows:
- Install Xcode 10 from the app store. If you have an older version of Xcode already installed, we recommend upgrading to the latest version.
- When installing Xcode, you may be prompted to update your operating system. We recommend you do this.
- Download and install openFrameworks for Mac.
- There are more details instructions here to test your setup, you only need the first two sections: “First Steps” and “Testing your setup”.
- We recommend you use the latest version of OF and Xcode. If this is not possible, just drop us an email and we will help you sort it out.
- Install Visual Studio Community 2017. Note that this is an older version of Visual Studio; please install this older version even if you have a newer version installed.
- Install openFrameworks for Visual Studio.
- More detailed setup guide is here. We will also be able to help you in class.
- QT Creator is the officially supported IDE. Here are instructions for working with QT creator. If you’re using a different IDE start here.
- One request -- you'll need to install a compiler -- if you are on OSX, you should install xcode. You can install this through the OSX app store (search for xcode). If you have an older version of OSX, it may ask you update the OS.
Also, download openFrameworks for your given platform: http://openframeworks.cc/download/
- introductions, Robby, Matt, Alex
- introduction to our tools: Xcode/VisualStudio, and openFrameworks.
- C++ code syntax, OpenGL coordinate system
- Processing, openFrameworks, Arduino design paradigm:
setup()anddraw() - simple graphics drawing primitives
- introduction to variables, computer memory, types, scope.
- introduction to functions, abstracting and parameterizing.
- openFrameworks utility methods, random numbers, time, math
- principles of animation, clearing screen, frame rate, difference between a loop and draw()
- control structures: branching and looping
- boolean expressions
- Arithmetic, math functions, % operator
- event handlers: mouse and keyboard
- functions that return
- more functions
- more control structures, loops, branching
- introduction to container data structures
- using loops with arrays
- more openFrameworks primitive objects: ofPoint, polylines, and others
- object-oriented design
- classes, methods, properties, and states
- 3D space
- transformations: rotate, translate, scale
- push, pop matrices
- cameras
- ofxAddons, community extensions to openFrameworks
- media: playing with images, audio, video
- ofEvent, scheduling
- ofxGui
- advanced container data structures, C++ standard library types
- good programming design, wrap up course, reference other languages