Introduction to Computer Graphics (and Vision)

CMPT 361, Fall 2022 - with full online support

Instructors: Yağız Aksoy, Jason Peng    TAs:S. Mahdi H. Miangoleh, Amir Mousavi

How to take this course:
This course is composed of two mandatory and important parts: lecture videos and live lectures. Live lectures are accessible through Zoom where the recordings will be made available, as well as in-person. Every week, you need to watch the lecture videos before coming to the live lectures. The live lectures have many different activities that will help you develop your understanding, where we go over hard concepts and formulations in further detail, discuss your questions on previous week's subjects, programming assignments, and general discussions about every aspect of visual computing.

Online Lectures:
You do not need to attend the lectures in-person to get the best out of this course. All live lectures will be broadcast over Zoom, where you can ask questions and interact with the professor. The recordings of these lectures will also be made available.

COVID-19 Policy:
In order to have a safe learning environment for everyone, we have several guidelines for in-person lectures:
- Please wear a mask, preferably an N-95 mask equivalent or better, if you are attending the live lectures in person.
- If you are feeling sick or you suspect you might have contracted COVID-19, please do not attend the in-person lectures and instead join the Zoom sessions.
- If you have contracted COVID-19, please do not attent the in-person lectures for 2 weeks after your initial diagnosis. Please join the Zoom sessions or follow the lecture recordings.

Course description:
Classical computer graphics has had a focus on realistic image synthesis, when given an explicitly defined 3D scene. In its modern era, graphics research has extended its reach to cover the synthesis and generation of all visual content, beyond scene projection and rendering. Hence, there is often a need to first acquire an understanding of the visual information being processed and created, which is an analysis task studied in computer vision. Indeed, modern computer graphics has seen “an increasing integration of techniques from computer vision” (from page 2 of “Computer Graphics, Principles and Practice, Third Edition, by Hughes, et al.). In this course, which will be co-taught by two instructors, we will offer an introduction to fundamental concepts and techniques in both computer graphics and computer vision, with more emphasis placed on material that is deemed central to both fields. With a focus on classical topics, we will also shed light on the most recent trend and developments in the fields and the interplay between them. Students completing this course will be well prepared for more advanced courses in both computer graphics and computer vision. Programming assignments will be conducted in WebGL for the graphics-related problems and MATLAB for vision-related ones.

Prerequisites: (i) CMPT 225 - Data Structures and Programming, (ii) MATH 232 or 240 - Linear Algebra

You should brush up on your linear algebra skills as soon as possible to make the best of this class. 3Blue1Brown has introductory Linear Algebra classes on Youtube with great visual explanations of concepts that we will make use of during the class.

Live lectures: Wednesdays: 11:30am - 12:20pm, Fridays: 10:30am - 12:20pm, in person and online on Zoom

Announcements, Lecture Notes, Questions and Discussion

Our main venue for communication will be the discussion forum in CourSys .

Office hours:
Yağız: TBA, through Zoom.
Jason: TBA.
Mahdi: TBA
Amir: TBA

Grading (tentative)

4 Programming assignments (2 vision, 2 graphics, each 10%) - 40%
Midterm - 25%
Final - 35%
Participation in CourSys discussion forum - up to 5% bonus


Vision required reading: Computer Vision: Algorithms and Applications, 2nd ed. , Richard Szeliski, 2020 (online)

Graphics required reading: Interactive Computer Graphics: A Top-Down Approach with WebGL, 7th ed., E. Angel and D. Shreiner, ISBN: 9780133574845 (acronym for readings is "CG")

Tentative schedule

Y. Aksoy will cover vision topics and J. Peng will cover graphics topics.

Video lectures are available on YouTube for you to follow weekly before the live lectures (see links below; video lectures are also available in SFU Vault if you have trouble accessing YouTube). We will have live lectures also over Zoom during scheduled course hours where every student are expected to join. The live lectures are where we go into some topics in more detail, and complete your understanding of the course topics. This is also the opportunity to ask open questions after lectures as we would have done in a traditional classroom.

Computer Vision Lectures (Lecture Playlist )

Computer Graphics Lectures (Lecture Playlist )

Sep 7

Sep 9

Reading: webpage

Reading: 1.1, 1.2

Reading: CG 1.1

Sep 14

Sep 16

Reading: 2.3.2, 3.1

Reading: 3.2, 3.3

Reading: 7.2

Sep 21

Sep 23

Reading: 5.3, 5.4

Reading: 3.4

Sep 28

Sep 30

National Day for Truth and Reconciliation

Oct 2: Assignment 1 deadline. Requires video lectures V1 to V6.

Reading: 7.1.1

Oct 5

Oct 7

Reading: 7.1.2, 7.1.3

Reading: 2.1.1, 8.1.1; 8.1.1, 8.1.2, 8.1.4
--Slides 1-- --Slides 2--

Reading: 5.2.1, 5.2.2, 7.5.1, 7.5.2

Oct 12

Oct 14

Reading: 7.1.5

Reading: 2.1.4, 2.1.5


Oct 16: Assignment 2 deadline. Requires video lectures V7 to V10.

Oct 19

Oct 21


Reading: 12.3, 12.4, 12.5

Oct 26

Oct 28

Reading: CG 1.1

Reading: CG 1.2-5

Reading: CG 8.1-2

Nov 2

Nov 4

Reading: CG 8.8-10

Reading: CG 12.1-3

Reading: CG 8.6.1, 9.10.2-3

Nov 9

Nov 11

Reading: CG 6.2-5

Rememberence Day

Nov 13: Assignment 3 deadline. Requires video lectures G1 to G5.

Nov 16

Nov 18

Reading: CG 4.2

Reading: CG 2.4, 4.6, 11.1

Reading: CG 4.7-11, 9.1-3, 9.8-9

Nov 23

Nov 25

Reading: CG 7.3-5

Reading: CG 7.7-8, 5.11

Reading: CG 10.2-4

Nov 30

Dec 2

Reading: CG 3.6-11

Reading: CG 1.7-9

Dec 4: Assignment 4 deadline. Requires video lectures G6 to G15.


We will provide detailed explanations for the exam procedures in due time. The exams will focus around pen & paper, problem-solving questions.

Academic Integrity

Unethical academic behavior will not be tolerated in this course. You are encouraged to talk about and discuss coding assignments with your classmates and CourSys should be your go-to venue for such discussions. Besides code/libraries specified in the assignment instructions, every single line of code you submit in your assignments must be written by you, and you are not allowed to copy from other sources. Writing code by exactly or closely following existing code is not technically copy-and-paste, but is also considered to be copy-and-paste. It is very easy to detect such cases and we will be checking every file you upload. Use your fair judgement. You know what is good and bad. When in doubt, consult the instructor. You are expected to maintain the highest standards of academic integrity and refrain from the forms of misconduct. Please refer to SFU's academic integrity policy , and consider taking the Academic Integrity Tutorial .