The course provides an introduction to computer graphics, covering fundamental concepts and techniques including: rasterization, sampling, image/signal processing basics, convolutions, coordinate spaces, transformations, camera viewing, 3D transformations, ray tracing, 3D processing, parameterization, animation/deformations, and more. Assignments will be in Python.


  • Canvas
  • Course Meetings: Tuesday & Thursday, 3:30 - 4:50pm (JCL 011)
  • Lab Meetings:
    • Monday 4:30pm–5:50pm (CSIL2)
    • Monday 6:00pm–7:20pm (CSIL1/CSIL2)
  • Course Communication: all outside-of-class-meeting course communication will occur on the UChicago Intro to Computer Graphics Slack
  • Office hours:
    • Dale Thursday 2:00-3:00 (JCL 207)
    • Isaac Wednesday 3:00-4:00PM (JCL 207)
    • Rana Tuesday 5:00-6:00PM (JCL 369)


  • 15% Assignment 1: Intro to SVG and 2D Rasterization
  • 15% Assignment 2: 3D Rasterization and Camera Viewpoint Geometry
  • 15% Assignment 3: Mesh Data Structures
  • 15% Assignment 4: Skinning and Rigging
  • 35% Final Project: Animation-Off
  • 5% Class participation / attendance

Late assignments. You have a "late bank" of 72 hours that you may use throughout the quarter on any of the assignments. After 3 days (or your "late bank" is empty) the assignment will no longer be accepted. Assignments are given in advance with enough notice, so please plan accordingly.

Academic Honesty. All assignments will be individual. Do not discuss or share your solutions/code with other students, don't post solutions online and do not copy from existing code bases online. We run an auto-grader in this course which has a sophisticated plagiarism detector. This class adheres to the same policies outlined in CMSC 12100.

Course Schedule

Week Date Topic Materials
1 Tues March 21 Intro & Motivation slides
Thurs March 23 Triangles & Rasterization slides
2 Tues March 27 Coordinate Spaces & Transformations slides
Thurs March 31 3D Rotations slides
3 Tues Apr 4 Textures slides
Thur Apr 6 Depth & Transparency slides
4 Tues Apr 11 Intro to Geometry slides
Thur Apr 13 Meshes & Half Edge Data Structure slides
5 Tues Apr 18 Geometry Processing slides
Thur Apr 20 Geometric Queries slides
6 Tues Apr 25 Intro to Animation slides
Thurs Apr 27 Conformal Parameterization (Richard) slides

Assignment Schedule

Assignment Release Due Labs
1 Thurs March 23 Fri March 31 Lab 2
2 Fri March 31 Wed April 12 Lab 3 & 4
3 Thurs April 13 Sat April 29 Lab 5 & 6
Final project (part A) Sun Apr 30 Sun May 7 Lab 7
4 TBA TBA Lab 8
Final project TBA ~Wed May 20 Lab 9

Useful Resources

There is no required textbook, though the following may provide good supplementary material:

  • Fundamentals of Computer Graphics. Steve Marschner and Pete Shirley 2021

Instructional Team

Rana Hanocka Dale Decatur Isaac Berman Nic Perez Eric Chang