CSC471 - Introduction to Computer Graphics

Professor: Zoë J. Wood

Welcome to computer graphics!

The following images are from some of the top final projects from past classes of CSC 471. Please see all the top projects. Just click on an image to find out more about the project.


Final project history and references:
Final project requirement information
Final project rubric
Some resources for final projects

final projects from Spring 2013
final projects from Fall 2012
final projects from Spring 2012
final projects from Winter 2012
final projects from Fall 2010 (12:10)
final projects from Fall 2010 (3:10)
final projects from Winter 2010

Programming assignments
Program 1
Program 2
Program 4
Student example from Program 4

Lab assignments
Lab 1
Lab 1 release code
Lab 2
Lab 2 updated GLSL_helper.h
Lab 2 release code for task 2
Lab 3
Lab 3 release code
Lab 4
Lab 4 release code
Lab 5
Lab 6
Lab 6 release code

Lecture and Lab notes

More final projects
final projects from Spring 2009
final projects from Winter 2007
final projects from Spring 2006
final projects from Spring 2005
final projects from Spring 2004
final projects from Winter 2004
final projects from Fall 2003

Learning Modern 3D Graphics Programming
Computer Graphics course at Harvard
Topics and sample questions for midterm1
Topics for midterm 2

Reference for coordinate frames and transforms
General Information about getting started
We will be using OpenGL, GLUT and GLSL to develop graphics applications in this class. You are welcome to use either C or C++ in conjunction with OpenGL and GLUT to write your programming assignments. A very useful site for information about OpenGL is:
If you would like to write your programs on your home machine, you will need to download GLUT. You can do so from a variety of places, including:
Or just search for "download glut" under google for other options and install instructions.
For a good list of generally useful graphics/game related links see: Resources compiled by past student Bob Somers

Material and inspiration for assignments and material for this course have been gratefully constributed by the following people: Hugues Hoppe, Steven Gortler, Hanspeter Pfister, Alex Pang, and Mathieu Desbrun