Administrivia


Time Tuesdays and Thursdays (TTh) at 9:30am - 10:50am
Place CSE 403
Staff Name Email
Instructor Brian Curless curless@cs
TA Edward Zhang edzhang@cs
Staff Email: cse557-staff@cs

Prerequisites


Communication


Optional textbooks


There is no required textbook for this course.  If you would like to have a textbook to refer to, you may buy one of these:

  • Marschner and Shirley. Fundamentals of Computer Graphics (4th Edition), 2016.
  • Angel and Shreiner. Interactive Computer Graphics: A Top-Down Approach with Shader-Based OpenGL (6th Edition), 2012.

The Angel text is more applied, closer to OpenGL. The Marschner text is more mathematical, stronger on theoretical foundations. Both are good, neither is "perfect" for this class.

I will point to readings in these books, but these readings will be optional.

Most of the material in the course can be learned from the lecture notes I provide, with some Googling for additional material whenever you want to go deeper or need to figure out implementation details for a project. When I do have required reading, I will provide it as an online handout.

Supplemental texts


Topics Covered


Grades


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 100% (more detailed breakdown below)

There will be no final exam for this course.

However, the final project will be due toward the end of the final exam week.

Projects


There will be four projects. The first project will be a solo project, while the remaining ones will be done in groups of two. The first three projects will require you to extend some skeleton project with new features to create a working graphics application, while the final project can be more open-ended.

Project #1: Impressionist (15%)

An interactive impressionistic paint system that makes photos look like paintings, similar in spirit to Paul Haeberli's The Impressionist.

Project #2: Trace (25%)

A program to create photorealistic raytraced images, complete computation of shadows, reflections, and transparent effects.

Project #3: Modeler/Animator (25%)

An interactive modeling and animation system with a built in dynamic simulator.

Project #4: Final Project (35%)

Choose between implementing a technique in a research paper or doing a novel project. You will have about four weeks for this project.

You will have approximately two weeks for each project, except for the final project, for which you will have four weeks. Beyond the required extensions to the base project, you are encouraged to attempt bells and whistles, which translate into extra credit points.

Groups


For each project, you'll work alone or in a team of two. You may choose your own partner, or be assigned a random one after the grouping deadline is passed.

We are using minigrouper to set up pairs: https://grouper.cs.washington.edu/minigrouper557/

To Set Up a Group:

If you don't see the group you want in the join group list, it may be full (max 2 people per group). You may change your group up until the grouper deadline by selecting leave group or delete group which will dissolve the entire group. If you have any questions or want to work solo, talk to the TAs or e-mail cse557-staff@cs.

Project Grading


Procedure

Projects are graded during 15-20 minute in-person grading sessions. A web-based sign up sheet will be posted prior to each grading day.

Grading sessions will consist of:

Requirements

Completed project requirements will be graded on a 60-point scale. In general, every team member will receive the same project implementation grade (although not necessarily the same project knowledge grade). However, we reserve the right to give different project implementation grades to different students on the team, for extreme circumstances in which it is clear that one or more members of the team contributed little or nothing to the project.

Project knowledge

Project knowledge will be graded on a 30-point scale, separately for each team member. Here's a rough breakdown to give you a feeling for how points will be assigned:

10pt Almost clueless: Answers to questions showed a severe lack of understanding. (I don't expect anybody to get this grade!)
20pt Answers to questions showed an understanding at only a superficial level.
30pt Answers to questions demonstrated a thorough understanding of the project. This is is the grade we expect to give almost all of the time.

Extra credit

Unlimited extra credit is possible on each project. Each extra credit item is rated with a nominal value of "bells" and "whistles". One bell carries the same credit as two whistles. An actual implementation of an extra credit item may be worth somewhat more or less than its nominal value, depending on how well it was implemented. In the end, the instructor and TA's will translate your bell and whistle count into an actual number of extra credit points at a rate of 1 point per bell (and, 1/2 point per whistle).

Artifacts

For each project, each team member 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.

Turn-in and Late Policy

Projects are due by midnight on the due date specified on each project page. Late assignments are marked down at a rate of 25% per day (not per lecture), meaning that if you fail to turn in an assignment on time it is worth 75% for the first 24 hours after the deadline, 50% for the next 24 hours, 25% for the next 24 hours, and then it is worth nothing after that. Exceptions will be given only in extreme circumstances with prior instructor approval.

Getting Help


You may talk to other students in the course about concepts for homeworks and projects, but you may not take any code or notes away from those conversations. A good rule of thumb is the Gilligan's Island Rule.

The Gilligan's Island Rule: This rule says that you are free to meet with fellow student(s) and discuss assignments with them. Writing on a board or shared piece of paper is acceptable during the meeting; however, you should not take any written (electronic or otherwise) record away from the meeting. This applies when the assignment is supposed to be an individual effort or whenever two teams discuss common problems they are each encountering (inter-group collaboration). After the meeting, engage in a half hour of mind-numbing activity (like watching an episode of Gilligan's Island), before starting to work on the assignment. This will assure that you are able to reconstruct what you learned from the meeting, by yourself, using your own brain.