Processing: Introduction to Algorithms
- REQUIRED TEXTS AND MATERIALS
- Processing: A Programming Handbook for Visual Designers and Artists by Casey Reas and Ben Fry
- TIME AND PLACE
- TR 9:00-10:40AM Robinson Hall 223 (Late Start 9:35AM)
- INSTRUCTOR
- J Dean Brock
- Robinson Hall 220
- Office Hours: TBA
- Phone: 828.251.6446
- brock@cs.unca.edu
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
- 01/12-14/10
- 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)
- 01/19-21/10
- 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
- 1/26-28/10
- Lecture 5: Conditionals and Repetition
- Lecture 6: Repetition lab
- Reading: Control 1 & 2 (pp. 51-68)
- Homework 2 assigned
- 02/02-04/10
- Lectures 7 & 8: Geometry lab
- Reading: Transform 1 & 2 (pp. 133-142)
- Homework 2 due
- 02/09-11/10
- Lecture 9: Continuous execution
- Rotating ground hog
- Lecture 10: Functions
- Reading: Structure 2 & 3 (pp. 173-196)
- 02/16-18/10
- 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)
- 02/23-25/10
- Lecture 12: Text
- Homework 3 due
- Reading: Data 2 & 3, Typography 1 (pp. 101-116)
- 03/02-04/10
- UNCA class canceled for snow on Tuesday
- Lecture 14: Even more math
- Reading: Math 2 & 3 (pp. 117-132)
- 03/09-11/10
- Spring break
- 03/16-18/10
- Lecture 15: Mouse handling
- Stop Light example
- Lecture 16: Events
- 03/23-25/10
- Homework 4 due March 23
- Moving ball example
- Arrays
- 03/30/10 & 04/01/10
- Homework 5 due March 30
- A little on
PImage
- Objects
- 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
- Greeps
- Return of the Greeps
- April 13 example
- 04/20/10
- Arduino
- 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
- 04/22/10
- No class -- Undergraduate Research Spring Symposium
- 04/27/10 & 04/29/10
- Arduino
- Project 2 due April 29
- 05/06/10
- Project 3 due in the final exam period
Grading
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