CSE 457 Introduction to Computer Graphics
Autumn Quarter 2010



Time: TTh at 12:00pm - 1:20pm
Place: EEB 045
Instructor: Brian Curless (curless@cs)
TA's: Communication:


  • C/C++ at the level of CSE 303 or CSE 333
  • Data structures at the level of CSE 326 or CSE 332
  • Linear algebra
  • Some mathematical sophistication
  • No prior knowledge of graphics is assumed.

Required text:

  • Edward Angel, Interactive Computer Graphics: A top-down approach with OpenGL, Fifth Edition. Addison Wesley, 2005.

Supplemental texts:

Copies of the supplemental texts are in the graphics instructional lab. Please, please do not remove these books from the lab under any circumstances.



The breakdown is subject to change as a whole and adjustments on a per-student basis in exceptional cases. This is the general breakdown we'll be using:

Projects: 60%
Homeworks: 20%
Final Exam: 20%
Projects will be done in teams of two with room for extra credit as described in the next section. Homeworks are to be completed individually. Though you may discuss the problems with others, your answers must be your own. There is no midterm. The final is closed book.


CSE 457 is taught using the graphics instructional lab consisting of roughly 15 Windows XP workstations. The lab is located in Sieg 327. There will be four projects. You'll work or in teams of two for the projects. You are encouraged to change partners for each project -- each time you work with someone you have not worked with before in the class, you will receive a bell's worth of extra credit. Each project will require you to extend some skeleton project with new features to create a working graphics application.
Project #1: Impressionist:
An interactive impressionistic paint system, similar in spirit to Paul Haeberli's The Impressionist.
Project #2: Modeler:
A viewer in which to construct a hierarchical articulated model using OpenGL.
Project #3: Trace:
A program to create photorealistic raytraced images, complete computation of shadows, reflections, and transparent effects.
Project #4: Animator:
An extension of project #2 which includes animation curves on geometry. Create a 3D animation of your articulated model!
You will have approximately two weeks for each project. Projects will be graded during in-person sessions with one of the TAs on the day that the project is due. During the grading session, a TA will run the project to make sure that it conforms to the guidelines. The TA will then quiz individual members of the team to determine how well they understand the structure of the code, the design trade-offs, 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." Beyond the required extensions to the base project, you are encouraged to attempt bells and whistles, which translate into extra credit points. Click here for more information on project grading. In addition, for each project both team members will be required to create an artifact, a final polished example (e.g., an image or model) demonstrating your application, hopefully of some artistic merit. Extra credit will be given for the nicest artifacts, as determined by class vote.

Project and Homework Turn-in & Late Policy:

Written homework assignments are due at the beginning of lecture on the due date. Projects are due by midnight 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.

design by Ian Li,
Autumn 2010 maintenance by Donnie Larson (contact info on personnel page)
CSE 457 Introduction to Computer Graphics
Autumn Quarter 2010
  Last modified: Thursday, 30-Sep-2010 14:10:03 PDT