The course serves as an introduction into computer programming for visual artists. Using the open source programming environment Processing artist students will utilize code as a visual medium.
We will begin by thinking and making observations about the real space around us and move towards creatively weaving original observation and information into rich visual allegories that portend toward new forms of narrative.
This syllabus was originally written by Ricardo Miranda and has been modified after it's initial offering.
Contact info:
Robert Carlsen //
I'm only normally on campus for our class. Please get in touch if you'd
like to arrange a meeting.
Processing: A Programming Handbook for Visual Designers and Artists, Casey Reas and Ben Fry (Foreword by John Maeda). Published 24 August 2007, MIT Press. 736 pages. Hardcover.
Students are expected to spend a minimum of 6 hours per week in the lab outside of class. Class attendance is necessary; more than 2 unexcused absences can result in a grade penalty. Arrival to class more than 30 minutes late will be considered tardy. Two tardies will count as an unexcused absence.
All assignments must be presented on due date; assignments not handed in receive an "F"; assignments handed in late, without a proper excuse, will receive a grade penalty.
Course Readings are online
Demo: Access your TCNJ web space, create a basic page with a table or css class divs to organize sketch book samples and written course work.
What is programming and how have artists used it?
Introduction to the Processing Environment: Open, Save; Run; Sketchbook; Exporting
Opening and compiling examples included with Processing
Commenting; Coordinates; Color; Line, Primitives; Drawing Attributes
Sign up for artist presentations
Intro to Object Orientated Programming. We're not going to push this style of programming, but it's helpful to know that it exists when you begin to make more complicated sketches.
Introducing variables and datatypes. Bais logic; using conditional
statements (if-then-else).
Project 1 Mark Making. Due next week. [pdf]
Rework the following sketches to create your own sketch:
Extending our concept of variables and using constants. Using the computer in it strongest capacity, quickly automating repetitive tasks with iteration: for() loops.
Methods, Functions, and Classes. What does it all mean? Discover Processing's built-in methods, and explore how to create custom ones.
Arrays. The power and confusion of array objects. Constructors (more of the custom Class junk). Programming unpredictability with random() and noise().
Input. Half of the Input/Output cycle. Necessary for interaction. How to get singals from the user using the mouse and keyboard. Using input to control varible values and, in turn, animation.
Processing, Drawing I, pp.217-222
Processing, Drawing II, pp.413-419
Bill Nichols, The Work of Culture in the Age of Cybernetic Systems (1988) (PDF)3D Processing. Processing's environment suppurts full 3D with either it's built in rendering (P3D) or OpenGL hardware acceleration (OPENGL). You can easily draw primitive shapes (boxes, spheres, etc), or with help from external libraries, you can import 3d models from a modeling program.
You can attach images as textures to these 3d surfaces. Also, iteration with for() loops allow for rapid creation of visually deep and complex 3d structures.
Audio with Processing. With the Sonia or ESS sound libraries, Processing can playback, record and analyze sound samples or a live input. This data can be visualized or used to drive other animation within your sketch.
Connecting Processing to external devices. Video cameras, game controller, diy switches with hacked up keyboards.
Get the user away from the keyboard and mouse! Create sketches that derive input from alternate devices. Analyze a webcam, track color and motion. Build switches that users can interact with.
Data import. You can import data from external sources. Have statistics? Export them as a test file from a spreadsheet program.
Constructing Final Project
Constructing Final Project
Constructing Final Project