There will be no final exam for this course.
You will work on four projects:
Project 1: Impressionist (15%)
An interactive program that creates pictures that look like paintings. You will work on this project solo.
Project 2: Ray tracer (25%)
A recursive ray tracer for generating simple images that model reflection and refraction. You will work on this project with a teammate.
Project 3: Animator (25%)
An interactive modeling and animation system with a built in dynamic simulator. You will work on this project with a teammate.
Project 4: Final project (35%)
Choose between a substantial extension to the ray tracer or the animator, or other suggested projects.
Projects will be graded during in-person sessions with the TA. During the grading session, the TA will run the project to make sure that it conforms to the project guidelines. The TA will then quiz individual members of the team to determine how well they understand the structure of the code, the design trade-offs, and the implemented algorithms.
One grade will be assigned for all members of the team for the project's implementation. Separate grades will be recorded for each team member's "knowledge of the project." For some of the projects, the last component of the grade will involve using your project to create an artifact, hopefully, of some artistic merit. Extra credit will be given for the nicest artifacts, as determined by class vote. Click here for more information on project grading.
Assignments are due at the beginning of lecture on the due date. This means that the modification stamp on the project executable must be earlier than the start of lecture on the due date. Late assignments are marked down at a rate of 33% per day (not per lecture), meaning that if you fail to turn in an assignment on time it is worth 66% for the first 24 hours after the deadline, 33% for the next 24 hours, and it is worth nothing after that.
Exceptions will be given only in extreme circumstances and only in advance.