Skip to content
Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Computer Graphics CSC317 Winter 2022
Course Syllabus

image courtesy Tim Jeruzalski

Tuesdays 15:00-17:00 in BA 1170 Zoom (find link on quercus).
Prof. Alec Jacobson
+1 416-946-8630
Office hours Tuesdays 17:00-18:00 in BA 5266 Zoom.
Tutorials Thursdays 16:00-17:00 in LM 161 Zoom/Discord.

Tuesdays 13:00-15:00 in RW 117 Zoom (find link on quercus).
Prof. David I.W. Levin
Office hours Tuesdays 15:00-16:00 in BA 5268 Zoom.
Tutorials Thursdays 14:00-15:00 in BA 1190 Zoom/Discord.

Course Overview

This course introduces the basic concepts and algorithms of computer graphics. It covers the basic methods needed to model and render 3D objects, including much of the following: graphics displays, basic optics, affine and perspective transformations, windows and viewports, visibility, illumination and reflectance models, parametric representations, curves and surfaces, texture mapping, graphics hardware, ray tracing, graphics toolkits, animation systems.

Through the weekly seminars at the Toronto Geometry Colloquium, students will be exposed to a wide variety of cutting-edge research in an exciting subdiscipline of computer graphics: geometry processing.

Prerequisites: C/C++ Programming, Linear Algebra, Calculus,(course codes).

Discord — Discussion Board

Please post your questions about the lectures, readings, and assignments on the Discord. TAs will monitor this board and attempt to answer questions as they appear. Near deadlines responses may take longer, so please start assignments early. If your question is not being answered, you may ask it again at the tutorial or office hours.

Required Textbook

The Book.

This class involves required reading from:

Fundamentals of Computer Graphics, Fourth (or Fifth) Edition, Steve Marschner, Peter Shirley, et al. 2015.

Digital e-book are available at CRC Press.

Students are expected to buy and read the specified chapters of this textbook. Exams and assignments will depend not only material covered during lectures, but also on material from the assigned readings.

Marking Scheme

% Item
5% Toronto Geometry Colloquium Participation
8% Assignment 1
8% Assignment 2
8% Assignment 3
8% Assignment 4
8% Assignment 5
8% Assignment 6
8% Assignment 7
8% Assignment 8
11% Midterm exam
20% Final exam

Lecture Schedule

Assignment dates still based on Fall offering. Will be updated soon.

Week Topic / Event
1 Introduction, Demos of Solutions Assignment 1 (Raster Images) due 12:00 noon 19/01 (for students on the waitlist: zip your src directory and send to the TA email address ( so that you get a timestamp)
2 Assignment 2 (Ray Casting) due 12:00 noon 26/01
3 Assignment 3 (Ray Tracing) due 12:00 noon 02/02
4 Assignment 4 (Bounding Volume Hierarchy) due 12:00 noon 09/02 extended to 11/02 (Note: ./intersections related portion only worth 10%) happy Lunar new year 🐅
5 Assignment 5 (Meshes) due 12:00 noon 16/02 (Note: ./quad_subdivision related portion only worth 10%)
6 Object-based Rendering Transformations and Projections Assignment 6 (Shader Pipeline) assigned due 12:00 09/03 happy reading week
7 Real-time graphics pipeline, review for mid-term
Thursday, March 3 24-hour take-home exam due 12:00 04/03 (11% of grade) tentative date
Monday, March 14 Drop date (consider if current grade is <50%)
9 Assignment 7 (Kinematics) due 12:00 noon 16/3 (Note: inverse kinematices I,i related portion only worth 10%)
10 Assignment 8 (Mass-Spring Systems) due 12:00 noon 31/3
11 The future of Computer Graphics
12 Study for exam next week.
Final Final exam (20% of grade)

Academic Honesty (required reading)

image courtesy Gavin Barill (class of 2017)

Assignment Policies

Assignments must be submitted electronically, using MarkUs.

Code that you submit to us must work on the CS Teaching Lab machines in order to earn credit.

0.007% off for every minute late.

All assignments must be completed individually.

Academic Honesty

Any code must belong to the student submitting it. Submitted assignments will be automatically analyzed to identify suspicious levels of code similarity. Consequences of committing an academic offence can be severe.

By enrolling in this course, students acknowledge that they have read and understand the University of Toronto's definitions and policy on Academic Integrity.


Course Page for Computer Graphics course






No releases published


No packages published