Processing: Introduction to Algorithms

This Week Schedule Resources Student Work

Processing: A Programming Handbook for Visual Designers and Artists by Casey Reas and Ben Fry
Section 1: TR 9:00-10:40AM Zeis Hall 203 (Late Start 9:35AM)
Section 2: MW 9:00-9:50AM Zeis Hall 203 (Late Start 10:36AM), W 11:55AM-1:35PM KH 033 (Late Start 1:00-2:20)
Susan Reiser
Zeis Hall 216
Office Hours: M 10:00-11:00, TR 10:40-11:40, and W 1:40-2:40
Phone: 828.350.4568

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)
Assignment: Read pp. 1-26
Lecture: Data & Calculate, Variables, Data Types, Arithmetic Operators ( +, -, *, / %), Operator Precedence.
Assignment: Read pp. 27-44
Lecture: Conditionals (if, if else), Boolean operators ( <, >, <=, >=, ==, !=, &&, ||, ! )
Assignment: Read pp. 45-59
09/07 Holiday : Enjoy Labor Day!
First Test: Tuesday 09/08 during class and Wednesday 09/09 at 12:20 or Friday at 9:00 in Zeis 203.
Lecture: Repetition
Assignment: Read pp. 61-68
Lecture: Repetition
Assignment: Read pp. 69-93
Lecture: Continuous and Random
Assignment: Read pp. 117-125 and 173-180.
Lecture: Trigonometry, Images and Functions
Assignment: Read pp. 95-99 and 181-196.
Lecture: Recursion and Interactive Mouse Input
Assignment: Read pp. 197-221.
10/12-13/09: Fall Break, Enjoy!
Lecture: Keyboard Input and Events, Arrays
Assignment: Read pp. 222-236 and 301-313.
Lecture: Arrays
Wednesday (12:20 in Zeis 203) and Thursday: Test 2 on all material covered to this point
Lecture: Arrays and Objects and more Objects
Assignment: Read pp. 385-411.
Lecture: Java and Greenfoot, In-progress critique of Project 1 in class Wed or Thurs.
Lecture: More Java, Greenfoot, and Processing, Project 1 due 11/10.
Wednesday @ 9:00 and Tuesday: Test 3 on all material covered to this point
Wednesday midday and Thursday: Workday, Project 2 due 11/24.
Assignment: Final Project due December 10 at 3:00 PM
Monday (evening at 6:30 in ZSH 203) and Tuesday: Arduino
10/25- Happy Thanksgiving!
Arduino Work
Section 1: 12/10/09
Final Exam: Present final projects. 9:00-10:30 am
Section 2: 12/09/09
Final Exam: Present final projects. 9:00-10:30 am


Description Number Individual Points Net Points
Tests 3 20 60
Projects 3 20 60
Daily Lab Exercises n 2 2n
Assignments 6 5 30
Totals 150 + 2n


Return to Susan Reiser's home page

Last modified: December 5, 2009