Topics in Computer Graphics
CS82/182 - Winter 2008
Instructor: Fabio Pellacini


Course Description

The Topics in Computer Graphics course will introduce students to current research topics in Computer Graphics. This year, we will focus in particular on interactive techniques with application to game development.

Students will be required to read papers, present some of the topics and develop a project during the course. In addition, one assignment will be performed to familiarize with the particular of the technology.


  • Fabio Pellacini (fabio -at- cs -dot- dartmouth -dot- edu) | Sudikoff 153 | Office hour: TBD
  • TuTh 10:00-11:50pm | where: Sudikoff 214
  • Xhour: not used probably


Programming Assignment

The assumes you will be able to work independently to ultimately complete a project. To verify that you have the minimum skills to proceed, you will be required to complete one simple assignment that will help you be familiar with an interactive rendering codebase.

Paper Presentations

You will be required to present various papers during the course. It is suggested that you choose presentation in an area of interest to you and as related to your final project as possible.

Presentations do not need to be long, but should clearly address paper motivation, background, contribution and results. For each paper, you will a PDF containing the slides of your presentation which I will make available to everybody via the website.

Class Participation

You are required to read all papers presented in the course, even if you are not assigned to present them. Discussion will follow each paper presentation and participation during the discussion will be evaluated.

Furthermore, we will have discussions on various games during the course, and how technology advancements have influenced their design. Participation during the discussion will be evaluated.


One of the main goals of the course is to get hands on experience implementing some graphics algorithms into a working system. While I will provide interesting ideas for projects, you are free to choose the topic that mostly interest you, which I will have to approve.

In general, it is possible to work on a project in three ways.
For a successfull implementation project, students are required to implement some of the main ideas from one or two papers. A careful implementation and cool demo is expected at the end of the term.
For a successfull exploration project, students are required to explore a novel idea related to one of the topics covered in class. The idea might not work at the end, but a suitable implementation should be presented nonetheless.
For a successfull game project, students are required to implement a tiny game. We will not judge design or art, but a cool demo is required at the end. Basically, we want to be able to play your game.

Projects can be either done alone or in groups of no more than two students. When grading, it is expected that group projects have roughly twice the contribution than individual ones.

We will have brief in-class weekly progress reports to discuss the project. Ultimately it is your responsability though to seek help if you feel stuck during the work. Furthermore, we will also have fixed milestones (that will serve also for grading), where project goals have to be met.

Grading, Late Assignments and Extra credit

The final grade from this class will be decided by your class participation (15%), your presentations (%25%), your project (50%) and the programming assignment (10%).
Please note that I will evaluate your project twice, roughly in the middle (25%) and at the end of class (25%). This is to encourage you to make progress on your project early on and give you more feedback on how you are doing during the class.

I will not accept late submissions for any of the assignments. Exception to this rule might be made for special cases only if the professor is informed way before the deadline and at his sole discretion.

Note that I am including here rough percentage of the final grade as indication only. These are subject to change and it is possible that I will weight things differently at the end of the class.

Working Together and Academic Integrity

You are encouraged to talk to other students about the topics discussed in class as well as your project. The goal is to get a deeper understanding of the material and further develop ideas related to your project.

Once it gets to preparing your presentation and your project, you should only work by yourself or within your group.

You are welcome to use any source of information that can deepen your understandiung of the material. For some project, it may be necessary to include code/components available from elsewhere. In this case, please consult me before doing so.