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 throughout this inaugural semester.
Contact info:
Robert Carlsen // 215.763.0642 //
I'm only normally on campus for our class. Please get in touch if you'd
like to arrange a meeting.
Attendance is mandatory, role will be taken at the beginning of each class. Do not arrive late or leave early. All reading and projects must be handed in on time.
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).
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.
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