CS 248: Introduction to Computer Graphics

Pat Hanrahan


This course provides a broad overview of the basic concepts of computer graphics. Both 2d raster graphics and 3d graphics will be covered. Topics from raster graphics include color theory, tone reproduction, quantization, dithering and halftoning, basic signal processing and sampling, aliasing and antialiasing algorithms, and scan conversion of lines and polygons. Topics from 3d graphics include projective geometry, representations of curves and surfaces, modeling and viewing transformations, hidden surface removal algorithms, reflection models and illumination algorithms. In addition the general features of graphics hardware and system architectures will be covered.


In addition to regularly scheduled readings, the workload for this course consists of four programming assignments and two exams (a midterm and a final). The programming assignments will count 60% and the exams 40% of the final grade.


CS 248 assumes no prior knowledge of computer graphics. However, most students taking CS 248 have had some exposure to graphical user interfaces and interaction techniques, usually through CS 108. We assume solid programming skills in C (or C++) on a UNIX workstation and a knowledge of basic computer algorithms and data structures. We also assume a basic knowledge of calculus and linear algebra (one college-level course of each), and basic familiarity with 2D and 3D geometry. Exposure to digital signal processing or Fourier analysis is useful, but it is not required.


Copyright © 1996 Pat Hanrahan