Winter Quarter 2002
Syllabus
Administrivia:
 Time: TTh 12:001:20pm
 Place: Loew 101
 Instructor:
Brian
Curless(curless@cs),
Sieg 308
Office hours: Mon 10am11am, Fri 11:30am12:30pm
 Teaching assistant:
Brett Allen (allen@cs)
Office hours: Tue 1:30pm2:30pm, Thu 10:30am11:30am, Sieg 332
Prerequisites:
 Knowledge of data structures
 A good working knowledge of C (and hopefully C++) programming
 Some linear algebra
 Some mathematical sophistication
 (No prior knowledge of graphics is assumed.)
Text:
 Alan Watt, 3D Computer Graphics, Third Edition, AddisonWesley,
2000.
 CSE 557 Course Reader, available
for approximately $38 in the Communications Building, room B042.
Supplemental texts
 Woo, Neider, Davis, and Schreiner. OpenGL Programming Guide, Third Edition. AddisonWesley,
1999.
 Andrew S. Glassner. An Introduction to Ray Tracing. Academic
Press, 1989.
 Foley, van Dam, Feiner, Hughes. Computer
Graphics Principles and Practice, Second Edition in C. Addison
Wesley, 1996.
 Edward Angel, Interactive Computer Graphics: A topdown
approach with OpenGL, Second Edition. Addison Wesley, 2000.
Copies of the supplemental texts are in the graphics instructional lab.
Please, please do not remove these books from the lab under any
circumstances.
Topics:
 Week 1: Introduction, displays, sampling theory
 Week 2: Sampling theory, image processing
 Week 3: Geometric transformations, shading
 Week 4: Ray tracing
 Week 5: Texture mapping, Zbuffers
 Week 6: Hierarchical modeling, parametric curves
 Week 7: Parametric curves, particle systems
 Week 8: Subdivision curves, parametric surfaces
 Week 9: Subdivision surfaces, perception and color
 Week 10: Special topics
Grading:
 Projects: 80%
 Written assignments: 20%
There will be no final exam for this course.
Projects:
Projects are implemented in the graphics
instructional lab, which consists of 14 Intel machines running NT.
The lab is located in Sieg 228.
You will work on four projects:
 Project 1: Impressionist (15%)
 An interactive program that creates pictures that look like paintings.

 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 inperson 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 tradeoffs, 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.
Project Turnin & Late Policy:
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. In
addition, no extra credit for bells and whistles will be awarded
for any late assignment.
Exceptions will be given only in extreme circumstances and only
in advance.
Written Assignments:
There will be 2 homework sets that will test your indepth understanding of
topics covered topics. You should work on the homework sets individually.