COS 526
Advanced Computer Graphics
Fall 2016


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 CS Dropbox for submissions of both written and 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.


Late Policy

Assignments are due at 11:59PM on the due date, except the final project report (which is due at 5PM on Dean's Date). Late assignments are marked down 1/5 of the full grade per day. However, every student can use up to a total of seven "free late days" for exercises and assignments (not the final project) over the whole semester, while using at most three "free late days" on any one deadline. 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 writeup file or in comments. For each assignment, you must also specifically describe whatever help (if any) that you received from others in your writeup 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.