COS 526
Advanced Computer Graphics
Fall 2014

General | Syllabus | Homework

Written Exercises

There will be 3 short written exercises.

Programming Assignments

There will be 3 programming assignments.

Final Project

Programming Language

We will be using C++. The project files supplied with the assignments build under linux, Mac OS X, or cygwin via a UNIX-style make command.

How to Submit Programming Assignments

We will use Dropbox for submissions of the remaining programming assignments. Look for the submission link in the description of each assignment - login with your Princeton netID, and submit all applicable files by the deadline. You can resubmit and unsubmit files as needed up until the submission deadline. There is more information about dropbox here.

Please pack the entire assignment, including all code, writeup, input images, output images, overlay images, etc. into one .zip file called "" (where N is the assignment number -- e.g., with the internal directory structure specified in the assignment instructions. Please submit all images in .jpg format to save space.

Late Policy

Assignments are due at 11:59PM on the due date, as determined by the file date of the file upload. Late assignments are marked down 1/5 of the full grade per day. Each student can use up to a total of seven "free late days" for exercises and assignments (not the final project) over the whole semester. Exceptions beyond these free days are rare -- they will be granted only for medical reasons, and only by the instructor.

Collaboration Policy

The COS 526 collaboration policy is the same as that of Princeton's COS 126 and COS 217 courses ...

Programming in an individual creative process much like composition. You must reach your own understanding of the problem and discover a path to its solution. During this time, discussions with friends are encouraged. However, when the time comes to write code that solves the problem, such discussions are no longer appropriate - the program must be your own work. If you have a question about how to use some feature of C++, VisualStudio, etc., you can certainly ask your friends or the teaching assistants, but do not, under any circumstances, copy another person's program. Writing code for use by another or using someone else's code in any form is a violation of academic regulations. "Using someone else's code" includes using solutions or partial solutions to assignments provided by commercial web sites, instructors, preceptors, teaching assistants, friends, or students from any previous offering of this course or any other course.

You may, however, use any code from the COS 526 lectures, precepts, or course texts, providing that you explain what code you use, and cite its source in your "assignment#.html" file or in comments. For each assignment, you must also specifically describe whatever help (if any) that you received from others in your "assignment#.html" file, and write the names of any individuals with whom you collaborated. This includes help from friends, classmates, lab TAs, and COS 526 staff members.

You are responsible for keeping your solutions to the COS 526 programming assignments away from prying eyes. If someone else copies your program, we have no way to determine who's the owner and who's the copier; the Discipline Committee gets to decide. If you are working on a public cluster machine, be sure to delete your local source files and logout before leaving. You should also store all of your assignment files in a private directory.  You can create a private directory using commands similar to these:

% mkdir cos526
% chmod 700 cos526

If you have a question about what is allowed and what is not, please consult the professor.