Processing: Introduction to Algorithms

Moodle Schedule Resources Student Work

Processing: A Programming Handbook for Visual Designers and Artists by Casey Reas and Ben Fry
TR 9:00-10:40AM Robinson Hall 223 (Late Start 9:35AM)
J Dean Brock
Robinson Hall 220
Office Hours: TBA
Phone: 828.251.6446

DESCRIPTION This course is a practical introduction to computer programming for artists, designers, and anyone who wants to have fun developing their ideas on a computer. The course will be taught using the Processing programming language which won a Golden Nica award at the Arts Electronica 2005 festival. CSCI 273, Processing, may be substituted for CSCI 201 within the requirements of the MMAS major.

INFORMATION Late assignments will not be accepted. As expected in an professional setting, assignments deadlines will be strictly observed. To be safe, submit your work prior to the time specified. Do not wait until the last minute to upload your assignment to Moodle. An equipment failure is not an excuse for turning in an assignment late. There will not be makeup exams. Please do not ask me to make an exception unless it is an emergency, and you have the necessary documentation for an excused absence.

Attendance is important for success in this class, as there will be graded in-class labs most days. As per the catalog, students will be excused if they have a documented emergency, a documented illness, or are representing UNCA on university-sanctioned travel. If you must miss a class, please let me know prior to class, and submit your assignments on time. You may miss one week of class without a penalty or, alternatively, I will delete your two lowest in-class lab grades.

When you submit your code, please only submit the source code file (.pde) unless specifically requested otherwise. Your code should be commented. Make sure any submitted code begins with your name, the date, a one-line description of your program, and the assignment number. Each function should be preceded by a one-line comment. Also comment any programming statement of which you are particlarly proud or you do not think you will understand in a month. Most assignments will have an technical aesthetics component worth 10% of your grade - this is the 10% that distinguishes stellar work from work that simply meets requirements.

Letter grades are assigned based on the percentage of available points obtained by a student. 100% to 90% guarantees an A, 89% to 80% guarantees a B, and so on. The instructor reserves the option of relaxing the cut-offs for a letter grade in special circumstances. Plus and minus grades will be used for this course.

Course Schedule

Lecture 1: Course overview and goals, Processing in context (how does it relate to Java, Coordinate system (x,y dimensions), Environment, Open, Save, Run, Sketchbook, Exporting (JAR file), Structure, Comments, Statements, Point, Line.
Lecture 2: Shapes (fill, stroke, ellipse, curve, quad, attributes, grayscale)
Reading: up to Structure 1 (pp. 1-22)
Lecture 3: Data & Calculate, Variables, Data Types, Arithmetic Operators ( +, -, *, / %), Operator Precedence.
Lecture 4: Catching up
Reading: Shape 1, Data 1, and Math 1 (pp. 23-50)
Homework 1 due
Lecture 5: Conditionals and Repetition
Lecture 6: Repetition lab
Reading: Control 1 & 2 (pp. 51-68)
Homework 2 assigned
Lectures 7 & 8: Geometry lab
Reading: Transform 1 & 2 (pp. 133-142)
Homework 2 due
Lecture 9: Continuous execution
Rotating ground hog
Lecture 10: Functions
Reading: Structure 2 & 3 (pp. 173-196)
Lecture 11: Shape, pictures, and math done quickly
Reading: Shape 2, Math 1, Color 1, Image 1 (pp. 69-100)
Test 1 on 02/18/10: Processing up to loops (pp. 1-68)
Lecture 12: Text
Homework 3 due
Reading: Data 2 & 3, Typography 1 (pp. 101-116)
UNCA class canceled for snow on Tuesday
Lecture 14: Even more math
Reading: Math 2 & 3 (pp. 117-132)
Spring break
Lecture 15: Mouse handling
Stop Light example
Lecture 16: Events
Homework 4 due March 23
Moving ball example
03/30/10 & 04/01/10
Homework 5 due March 30
A little on PImage
Object-Oriented Programming
04/06/10 & 04/08/10
Test 2 on 04/07/10: Writing small sections of code
Test 2: Processing up to noise (pp. 1-132, 173-196)
Homework 6 due April 7
Java and Greenfoot
04/13/10 & 04/15/10
Return of the Greeps
April 13 example
Reading: Extension 8 (pp. 633-657)
Terse introduction to the Arduino
Bionic Arduino
Arduino Programming Notebook
Arduino tutorial
Arduino and Processing
Project 1 due April 22
No class -- Undergraduate Research Spring Symposium
04/27/10 & 04/29/10
Project 2 due April 29
Project 3 due in the final exam period


Homework 5 due March 30
Description Number Individual Points Net Points
Tests 3 25 75
Projects 3 20 60
Daily Lab Exercises n 2 2n
Assignments 6 10 60
Totals 195 + 2n


Return to Dean Brock's home page

Last modified: Jan 5, 2010