CSCI 273: Student Work
REQUIRED TEXTS AND MATERIALS
Processing: A Programming Handbook for Visual Designers and Artists by Casey Reas and Ben Fry
TIME AND PLACE
Section 1: WF 9:35-11:15am Zeis Hall 203 (Late Start 11:20-12:40am)
Section 2: TR 9:00-10:40am Robinson Hall 223 (Late Start 10:50am-12:10pm)
INSTRUCTOR
Susan Reiser
Zeis Hall 216
Office Hours: W 1:00-2:00pm, TR 10:40-11:40am
Phone: 828.350.4568
reiser@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 or illness, or are representing UNC Asheville 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. Note: Except for documented absenses, you must be in class to submit an in-class lab.

When you submit your code, please post a working java applet to your web page for the class (http://mmas.unca.edu/~your_login/273/assignment_name). Each applet will be in its own directory/folder with the assignment's name as its title. You are responsible for testing your link after you post the code. Your code should be well designed: efficient and commented. At a minimum, your code should be documented 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 will not easily understand in a month. The programs will be graded using this rubric.

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

08/23-27/10
Lecture: Course overview and goals, NSF Study, Processing in context -- How does Processing relate to Java? Define Processing's coordinate system, environment, Open, Save, Run, sketchbook, exporting JAR file, program structure, comments, statements, point(), line(). --Shapes (fill, stroke, ellipse, curve, quad, attributes, grayscale)
Assignment: Read pp. 1-26
08/30-09/03/10
Lecture: Data, Variables, Data Types, Arithmetic Operators ( +, -, *, / %), Operator Precedence, Conditionals.
Assignment: Read pp. 27-44
09/07-10/10
Lecture: Conditionals (if, if else), Boolean operators ( <, >, <=, >=, ==, !=, &&, ||, ! ), Repetition
Assignment: Read pp. 45-59
09/13-17/10
First Test: Thursday 09/16 and Friday 09/17
Lecture: Repetition
Assignment: Read pp. 61-68
09/20-24/10
Lecture: Continuous and Random
Assignment: Read pp. 69-93 and 117-125
09/27-10/01/10
Lecture: Trigonometry and Functions
Assignment: Read pp. 173-180 and 95-99.
10/04-08/10
Lecture: Images and Recursion
Assignment: Read pp. 181-196.
10/11-15/10
10/11-12/10: Fall Break, Enjoy!
Lecture: Interactive Mouse Input
Assignment: Read pp. 197-221.
10/18-22/10
Lecture: Keyboard Input and Events, Arrays
Project 1 Assigned
Assignment: Read pp. 222-236 and 301-313.
10/25-29/10
Lecture: Arrays and Objects
Lecture: Arrays and Objects and more Objects, Intro to Arduino
11/01-05/10
Tuesday and Wednesday: Test 2 on all material covered to this point
In-progress critique of Project 1 in class Thursday or Friday, due in the next class
Assignment: Read pp. 385-411.
11/08-12/10
Lecture: Java and Greenfoot
Project 2 Assigned
11/15-19/10
Lecture: More Java, Greenfoot, and Processing; and Arduino
Project 2 due Thursday or Friday
11/22-26/10
11/24-26/10 - Happy Thanksgiving!
Arduino
Assignment: Final Project due at exam time.
11/29-12/03/10
Arduino
Section 1 (Monday/Wednesday section) Exam: 12/10/10 8:00-10:30 am
Section 2 (Tuesday/Thursday section) Exam: 12/09/10 8:00-10:30 am

Grading

Description Number Individual Points Net Points
Exam 1 25 25
Tests 2 25 50
Projects 3 20 60
Daily Lab Exercises n 2 2n
Assignments 5 5 25
Totals 160 + 2n

Resources