Fall 2023 - CMPT 361 D100

Introduction to Visual Computing (3)

Class Number: 6141

Delivery Method: In Person


  • Course Times + Location:

    Sep 6 – Dec 5, 2023: Mon, 12:30–2:20 p.m.

    Oct 10, 2023: Tue, 12:30–2:20 p.m.

    Sep 6 – Dec 5, 2023: Wed, 12:30–1:20 p.m.

  • Exam Times + Location:

    Dec 14, 2023
    Thu, 8:30–11:30 a.m.

  • Prerequisites:

    CMPT 225 and MATH 232 or 240, all with a minimum grade of C-.



Provides a unified introduction to the fundamentals of computer graphics and computer vision (visual computing). Topics include graphics pipelines, sampling and aliasing, geometric transformations, projection and camera models, meshing, texturing, color theory, image filtering and registration, shading and illumination, raytracing, rasterization, animation, optical flow, and game engines.


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.

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.


- Understanding the mathematical models and techniques fundamental to modern computer graphics
- Developing fundamental mathematical and coding skills essential in computer graphics
- Having a broader look at the field of Visual Computing, the place of Computer Graphics in it, and the relation of CG to Computer Vision

- Topics include image formation, image processing, image registration, rendering fundamentals, geometric modeling, animation



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. 





Your personalized Course Material list, including digital and physical textbooks, are available through the SFU Bookstore website by simply entering your Computing ID at: shop.sfu.ca/course-materials/my-personalized-course-materials.

Registrar Notes:


SFU’s Academic Integrity website http://www.sfu.ca/students/academicintegrity.html is filled with information on what is meant by academic dishonesty, where you can find resources to help with your studies and the consequences of cheating. Check out the site for more information and videos that help explain the issues in plain English.

Each student is responsible for his or her conduct as it affects the university community. Academic dishonesty, in whatever form, is ultimately destructive of the values of the university. Furthermore, it is unfair and discouraging to the majority of students who pursue their studies honestly. Scholarly integrity is required of all members of the university. http://www.sfu.ca/policies/gazette/student/s10-01.html


Students with a faith background who may need accommodations during the semester are encouraged to assess their needs as soon as possible and review the Multifaith religious accommodations website. The page outlines ways they begin working toward an accommodation and ensure solutions can be reached in a timely fashion.