CS 4600: Computer Graphics, Fall 2018
Course Information
Lectures: WEB L103, Mon/Wed, 11:50am  1:10pm
Instructor:
Ladislav Kavan
Lead TM:
Saman Sepehri
TMs:
Jing Li, Siddhant Ranade, Ankur Rathore, Junior Rojas
Course objectives:
Gain handson coding experience with computer graphics techniques and algorithms covering 2D graphics, 3D graphics
and computer animation. This course focuses on key algorithmic techniques and mathematical foundations, not on specific
tools or software APIs. OpenGL will be mentioned only briefly, for a comprehensive introduction to OpenGL and shader
(GPU) programming please refer to CS 5610/6610 (Interactive Computer Graphics).
Topics covered:
 Mathematics for computer graphics: linear algebra, matrices, dot/cross products, homogeneous coordinates,
linear and projective transformations, quaternions.
 2D Graphics: Colors, raster formats, Fourier and DCT transformations, image file formats, JPEG compression,
image deformation, rasterization.
 3D Graphics: Projections and view frustum transformations, visibility algorithms, 3D scene representation,
ray tracing.
 Animation (or 4D Graphics  adding the time dimension): Skeletal animation and skinning algorithms.
Tentative schedule:
Date 
Topic 
Due 
Aug 20, 22 
Introduction to graphics 

Aug 27, 29 
Vectors, matrices, quaternions 

Sep 03, 05 
Images, raster graphics 

Sep 10, 12 
Image compression, file formats 

Sep 17, 19 
Rasterization 
Assignment 1 
Sep 24, 26 
3D Graphics, projections 

Oct 01, 03 
Basic OpenGL concepts 
Assignment 2 
Oct 08, 10 
Fall break 

Oct 15, 17 
Visibility algorithms 

Oct 22, 24 
Animation 

Oct 29, 31 
Shading and illumination models 
Assignment 3 
Nov 05, 07 
Raytracing 1 

Nov 12, 14 
Raytracing 2 
Assignment 4 
Nov 19, 21 
Geometry processing, textures 

Nov 26, 28 
Skinning algorithms (character animation) 
Assignment 5 
Dec 03, 05 
Review 
Final project 
Homework Assignments and Lecture Notes:
Available through our Canvas site
Questions?
The best place to ask are Canvas Discusson Boards
Textbooks (optional):
Shirley & Marschner, Fundamentals of Computer Graphics, 4th edition.
Gortler, Foundations of 3D Computer Graphics, 1st edition.
Useful online resources:
Online C++ tutorials
Online OpenGL tutorials
ACM Digital Library (SIGGRAPH papers and recorded presentations)
ACM SIGGRAPH 2018 Student Volunteer Program
KeSen Huang's Computer Graphics Resources (nonofficial but very useful)
Policies and guidelines:
College of Engineering Guidelines
Academic Misconduct Policies
In this course, any of the following cases is classifed as academic misconduct: 1) sharing your homework assignment solution or its part with another student, or 2) requesting or using parts of homework assignment solutions prepared by another person, or 3) reusing code from third parties (such as code fragments from online tutorials, software libraries, or books). Academic misconduct as defined above will result in a failing grade sanction, according to the School of Computing Academic Misconduct Policy.