Computer graphics is an important topic
with numerous applications in all areas of computer science.
As a corner stone to interactive user interfaces and games,
computer graphics techniques are utilized in everyday computer
operation. Common uses of computer graphics techniques include
engineering, scientific, and entertainment applications such
as: computer aided design, analysis and visualization of data,
visual simulation and monitoring of complex processes,
animation and special effects, movie productions, and computer
games. Computer graphics techniques also play a fundamental
role in web and multimedia computing, enabling interactive
webpages and vector graphics in documents.
The course covers the following topics: Overview of computer
graphics hardware and software; Introduction to graphics
programming with WebGL; Raster graphics; 2D modeling and
viewing; Curve and surface interpolation; Introduction to 3D
Rendering with WebGL; 3D Modeling and viewing; Illumination
models and surface rendering; Animation. Programming
assignments in the course will use WebGL which is a version of
OpenGL that can run on web browsers and is very similar to
OpenGL ES which is an OpenGL version intended for mobile
platforms such as Android and IOS. Prior knowledge of WebGL is
not required as it will be taught in the course.
Bingqing Xie
SB115, x75705
Office hours:
Monday 4:005:00pm
Thursday 4:305:30pm
CS41101: (SB106)
CS41102: (Internet)
CS41103: (Internet)
Class hours:
Tuesday, Thursday
3:154:30pm
Computer graphics can be covered at different levels. The
focus of this course is the understanding of algorithms and
techniques used in computer graphics. Students in the course
are expected to write computer programs implementing
different techniques taught in the course. The course
requires mathematical background and some programming
experience. This course does not intend to teach how
to use a specific graphics application software such as 3ds
Max. While a graphics API (WebGL) is used in the course it
is by no means the primary goal of this course.
name

comment

weight

participation

up to 4 unjustified missed
classes and all quizzes ⇒
full credit

5%

assignments

TBD

35%

midterm exam

open notes (4 pages of
notes)

15%

final exam

open notes (8 pages of
notes)

45%

total


class  date  topic  assignment 
1  08/29  Introduction to computer graphics  AS0 
2  08/31  Introduction to JavaScript and WebGL  
3  09/05  
4  09/07  Raster graphics  AS1 
5  09/12  
6  09/14  2D modeling and viewing  
7  09/19  
8  09/21  AS2  
9  09/26  Curve and surface representation  
10  09/28  
11  10/03  
12  10/05  Introduction to 3D rendering  AS3 
13  10/10  
14  10/12  Midterm  
15  10/17  
16  10/19  3D modeling and viewing  
17  10/24  AS4  
18  10/26  
19  10/31  3D object representation  
20  11/02  
21  11/07  AS5  
22  11/09  Color, Illumination models, and surface rendering  
23  11/14  
24  11/16  
25  11/21  Global illumination  AS6 
26  11/23  No class (Thanksgiving)  
27  11/28  AS7  
28  11/30  Animation  
29  12/08  Final exam:
10:30am12:30pm SB106 
Videos of lectures are available through blackboard
Topic  Reading 
Introduction to computer graphics  Ch. 1 
Introduction to graphics programming with WebGL  Ch. 23 
Raster graphics  Ch. 8 
2D modeling and viewing  Ch. 4 
Curve and surface interpolation  Ch 11 
Introduction to 3D Rendering with WebGL  Ch. 4 
3D modeling and viewing  Ch. 5 
3D object representation and animation 
Ch 9 
Color, illumination models, and surface rendering  Ch. 67,12 
Assignment  Description  Data  Weight  Due date  
assignment 1 
raster
graphics 
N/A 
5%  9/26 

assignment 2 
2d
modeling/viewing 
N/A 
5%  10/5 

assignment 3 
spline
curves/surfaces 
N/A 
5%  10/19 

assignment 4 
3d rendering  object files  5%  
assignment 5 
illumination
models 

5%  
assignment 6 
TBD 
object files  5%  
assignment 7 
TBD 
object files  5% 
Additional assignments:
Software
Documents

C++ IDE
Papers
Models
