General Policies

Batch Tests

A portion of the grade for each assignment involving programming will be determined automatically by running batch tests on the submitted code and comparing to the correct solutions. The tests will not be known ahead of time, but they will be published after everyone has submitted their assignments, following a model similar to Top Coder. Failing those tests will impact the final score of the assignment, but partial credit may still be awarded.

Art Contests

There will also be an "art contest" for most of the assignments. This can include "bloopers" (bugs in 3D code tend to look pretty interesting) or an intentional creative use of the assignment. The winner (as determined by a panel of anonymous judges) will receive extra credit. As explained on the general overview page, the programming language of choice will be Javascript. As a result, all art contest submissions can (and should) run in the browser. Art contest and competition results will be showcased on the course web site along with student names (or pseudonyms if preferred). Students will have a chance to consent to public sharing of the assignments upon submission.

Assignments By Unit

Below are the list of assignments by unit. Art contests will be held for the starred assignments. Most mini assignments will span 7 to 10 days. The two large assignments will each span about a month, so there will be intermediate check-ins to make sure students are on track. Students will be expected to finish a certain amount by the check-in, or they will be penalized some amount by the final submission. I am also planning to hold a hackathon for the ray tracing assignment, since that will likely be the most difficult one.

Unit 1: Geometric Primitives and Shape Transformations

Unit 2: 3D Rendering

Unit 3: 3D Shape Representations

Unit 4: 3D Animation