CS 426 Course Information
1996 Fall Semester
Syllabus
Schedule
Prerequisites
- Data structures (CS 226)
- A good working knowledge of C programming (CS 217)
- Linear algebra (as described in Appendix A of the course book)
- Some mathematical sophistication
- No prior knowledge of graphics is assumed
Required Text
- Donald Hearn and M. Pauline Baker. Computer
Graphics, Second Edition. C Version. Prentice-Hall, 1997.
Optional texts
Useful for the assignments:
- Jackie Neider, Tom Davis, and Mason Woo. OpenGL Programming
Guide. Addison-Wesley, 1993.
Also available online by typing
/usr/sbin/insight -v OpenGL_PG
- Brent B. Welch, Practical Programming in Tcl and Tk
Prentice Hall, 1995.
These two books cost $35 and $38 respectively.
Supplemental texts:
- OpenGL Reference Manual. Addison-Wesley, 1992.
Also available online by typing
/usr/sbin/insight -v OpenGL_RM
- John K. Ousterhout, Tcl and the Tk Toolkit,
Addison-Wesley, 1994.
- James Foley, Andries Van Dam, Steven Feiner, John Hugues, and
R. Phillips,
Computer Graphics: Principles and Practice,
Addison-Wesley, 1995.
Conferences and Journals text:
SIGGRAPH is the preeminent conference
for work in computer graphics. The proceedings from these
conferences are great resources. ACM Transactions on Graphics,
IEEE Computer Graphics and Applications, Visual Computer,
are the most predominant journals.
Assignments
We will be using the facilities of
MECA, the former ICGL
for the programming assignments.
There will be 5 assignments. You will have 2 weeks to do each assignment.
Initial assignments will be done alone; later you'll work with a partner.
There will be a final project in the course that will be done in teams.
The projects we have in mind are:
- 0:
Online Enrollment
- Digitize a picture of yourself for the class Web page.
- Due date: September 18.
- 1:
Building a User Interface
- A program to get you started with Graphics programming.
- Due date: October 4.
- 2:
An Image Enhancer
- A series of exercises to introduce you to pixel based computing.
- Due date: October 18.
- 3:
Hierarchically Defined Objects
and Collision Detection
- A system to build and manipulate a collection of objects,
perhaps a game.
- Due date: November 8.
- 4:
Recursively Defined Polyhedra
and Fractal Mountains
- A program to build beautiful fractal mountains.
- Due date: November 22.
- 5:
Ray Tracing
- A simple ray tracer with one extension.
- Due date: December 9.
- Finally:
Final project
- A group project allowing further investigation
of a topic of your choice.
- Due date: January ??.
Grading
- Programming Assignments: 10 + 15 + 15 + 15 + 20 = 75 %
- Final Project: 25%
Assignments will be graded during in-person sessions with one of the TAs.
During the grading session, a TA will run
the project to make sure that it conforms to the project guidelines.
The TA will then quiz you about the structure of the code,
the design trade-offs, and the implemented algorithms.
Note that you have to sign up for a grading session. No grading
session = no grade. If you don't show up for your grading session, you'll
have to make a new appointment, and one
point will be subtracted from the final grade.
Assignment Turn-in & Late Policy
Assignments are due at 11.59PM on the due date.
Late assignments are marked down in the same way as in CS461: in this way,
an assignment which is only a few hours late doesn't get penalized that much.
A late grade is computed as follows:
grade = original_grade * exp(-time_late/three_days)
Examples: work
turned in five minutes late gets 99.9% credit, one hour late gets 98.6% credit, six hours late gets 92.0% credit, one day late gets
71.7% credit, three days late gets 36.8%, and one week late gets 9.7%.
Exceptions will be given only in extreme circumstances and only
in advance.
The Honor Code applied to CS426
All work must be your own. You may discuss the assignments with your
classmates but you must write your own code. If you borrow code
from any source, be it Graphics Gems or somewhere on the web
or a friend or..., you must state this in your assignment.
Failure to do so will result in disciplinary action. If you have
any question about what you can and cannot do, please contact Professor
Dobkin.
Note that you will not receive any credit for borrowed code. So the
best thing to do is to always write your own code.
CS 426 (Computer Graphics), CS Department, Princeton University
Last modified: Wed Sep 18 22:09:17 1996