Education For All

Text size
  • Increase font size
  • Default font size
  • Decrease font size

Computer Graphics

Course Summary

This course is based on 6.837 Computer Graphics, Fall 2003 made available by Massachusetts Institute of Technology: MIT OpenCourseWare under the Creative Commons BY-NC-SA license.
This course is an introduction to computer graphics hardware, algorithms, and software. Its primary goal is to introduce many important data structures and algorithms that are useful for presenting data visually on a computer and to provide you with sufficient background to write computer graphics applications.

Before taking this course you should have reasonable exposure to basic calculus, linear algebra and algorithms. Programming assignments will be done in C++, so familiarity with this or syntactically similar programming languages will be an asset. Topics include: line generators, affine transformations, line and polygon clipping, splines, interactive techniques, perspective projection, solid modeling, hidden surface algorithms, lighting models, shading, and animation.

Reading Material

1. Fundamentals of Computer Graphics
Peter Shirley, Michael Ashikhmin, Fundamentals of computer graphics Edition: 2, Published by A K Peters, Ltd., 2005, SBN 1568812698, 9781568812694
(Click the button below to see a preview of the book)

2. Reference: Computer graphics and geometric modeling: implementation and algorithms
Max K. Agoston, Computer graphics and geometric modeling: implementation and algorithms, published by Springer, 2005, ISBN 1852338180, 9781852338183.
Possibly the most comprehensive overview of computer graphics as seen in the context of geometric modelling, this two volume work covers implementation and theory in a thorough and systematic fashion.
(Click the button below to see a preview of the book)

Course Material

1. Assignments
List of assignments including supporting files.
2. Exam Questions
Quiz 1
Quiz 2

Other Resources

Not available.


Not available.



Chinese (Simplified) French German Italian Japanese Korean Portuguese Russian Spanish
More educational resources: