Skip to content
Course Page for Computer Graphics course
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
images images Sep 4, 2018
.gitignore images Sep 4, 2018 Update Nov 27, 2019
github-markdown.css assignment schedule Sep 5, 2018

Computer Graphics CSC418/CSC2504 Fall 2019
Course Syllabus

image courtesy Tim Jeruzalski

Wednesdays 15:00-17:00 in GB 120.
Prof. Alec Jacobson
+1 416-946-8630
Office hours Wednesdays 17:00-18:00 in BA 5266.
Note: I am not available on Fridays as I'm off campus.

Tutorial for both sections will be held together on Mondays 12:00-13:00 in GB 120.

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, line drawing, affine and perspective transformations, windows and viewports, clipping, visibility, illumination and reflectance models, radiometry, energy transfer models, parametric representations, curves and surfaces, texture mapping, graphics hardware, ray tracing, graphics toolkits, animation systems.

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

Discussion Board

Please post your questions about the lectures, readings, and assignments on the Quercus discussion board. We 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 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
8% Assignment 1
8% Assignment 2
8% Assignment 3
8% Assignment 4
8% Assignment 5
8% Assignment 6
8% Assignment 7
8% Assignment 8
12% Midterm exam
24% Final exam

Lecture Schedule

Week Topic / Event
1 Introduction, Demos of Solutions Assignment 1 (Raster Images) due 17/09 (for students on the waitlist: zip your src directory and send to so that you get a timestamp)
2 Assignment 2 (Ray Casting) due 24/09
3 Assignment 3 (Ray Tracing) due 01/10
4 Assignment 4 (Bounding Volume Hierarchy) due 08/10 (Note: ./intersections related portion only worth 10%)
5 Assignment 5 (Meshes) due 22/10 (Note: ./quad_subdivision related portion only worth 10%) happy Thanksgiving
6 Work on Assignment 5
7 Study for exam next week.
Monday, October 28 In-tutorial Exam (12% of grade)
8 Assignment 6 (Shader Pipeline) due 12/11
Monday, November 4 Drop date (consider if current grade is <50%)
9 Assignment 7 (Kinematics) due 19/11 (Note: inverse kinematices I,i related portion only worth 10%)
10 Assignment 8 (Mass-Spring Systems) due 3/12
11 The future of Computer Graphics
12 Study for exam next week.
Final Final exam (24% 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.

You can’t perform that action at this time.