CS 651: Modern Research in Computer Graphics

Course Syllabus

Time: 3:30 – 4:45 PM, Tues/Thurs; office hours 2:30-3:30 PM Mon/Wed

Instructor: David Luebke (219 Olsson Hall; 924-1021; luebke@cs.virginia.edu)

Prerequisites: CS grad student or consent of instructor. Also, we will use some basic linear algebra (principally matrix & vector multiplication), so you might want to brush up on this if you’re not comfortable with it.

Textbooks: None, but if you decide to seriously pursue graphics research you will want:

Format: A seminar-style reading course, but with two minor programming assignments and one major project.

Presentations: Each student will be responsible for giving one or more presentations on the reading material, typically a single paper that the student picks. These presentations form a substantial part of the total grade and should be taken seriously. Simply recapping a paper, section by section, is not satisfactory. A good presentation should:

Give us your thoughts on the paper. Is it a hack? A brilliant insight? Does anybody use it? Will they use it five years from now? Would you want to code it up yourself? What would you do differently? The goal of your presentation is not just to describe the paper but to place it in the context of modern computer graphics. Presentations should be 50-60 minutes long to allow time for discussion.

Project: The semester project can take one of three forms:

Assignments: Two programming assignments will be given as project ramp-up exercises. These assignments should help students gain familiarity with OpenGL and the standard graphics pipeline. Additional assignments may be added if I deem it necessary. These exercises are intended to help prepare students and perhaps provide boilerplate for the project; they will involve a fair amount of programming but should not be particularly tricky.

Grading: The final grade will be calculated as a weighted average:

Honor Code: The honor code applies to all work turned in for this course. In particular, all code and prose that you write for the assignments and project should be entirely your own. For the project, an exception to this rule may be made for "boilerplate" code, but you must check with me first. You are welcome and encouraged to reuse your own code, written for the assignments, on your final projects.

PCs vs. UNIX: This class will be oriented towards UNIX platforms, especially SGIs. You are welcome to use a PC for the assignments or project, but the onus of figuring out how to compile and run OpenGL programs is entirely on you. Furthermore you’ll have to make sure that I can compile and run them on my PC (or one I can easily get to) for grading purposes.