CS 488/688: Introduction to Computer Graphics
Winter 2025
Welcome to the home page for CS488/688, the introductory computer graphics course in the School of Computer Science at the University of Waterloo. This course focuses on 3D graphics, although it does discuss some aspects of user interface design. CS488/688 has a fairly heavy project component and should not be taken in conjunction with other heavy project courses.
Course logistics for Winter 2025
- Instructor
- Gladimir V. G. Baranoski
gvgbaran@uwaterloo.ca
Office hours: Friday, 4:00 – 5:00 PM in DC 3520 - Teaching Assistants
- Scott Steinfield
sssteinf@uwaterloo.ca
Office hours: Tuesday 11:00 AM-12:00 PM, MC 3007 - Francis Sun
y476sun@uwaterloo.ca
Office hours: Wednesday 4:00-5:00 PM, MC 3007 - Frank Fan
y235fan@uwaterloo.ca
Office hours: Monday 3:00-4:00 PM, MC 3007 - Zachary Leger
zcjleger@uwaterloo.ca
Office hours: Friday 1:00-2:00 PM, MC 3007 - Lectures
- Tuesday and Thursday, from 1:00 – 2:20 PM, RCH 112 (Section 2)
- Tuesday and Thursday, from 4:00 – 5:20 PM, RCH 305 (Section 1)
- Lab
- MC 3007. There are no scheduled lab times. The lab is available 24 hours a day for students enrolled in CS 488/688. The code to open the lab will be provided in class.
- Exams
- Midterm: Thursday February 13 at Lecture time in Room TBA
Final: TBA - Course Outline
- The course outline contains general information about the course, including the marking scheme.
- Required Texts
-
- CS 488/688 Lecture notes.
- The instructor may also release in the Course Lessons Website reading materials associated with the contents covered in each lecture. These materials will be made available after the repsective lectures. For specific questions already related to these materials, students should attend the instructor's office hours.
- Recommended Texts
-
- OpenGL Programming Guide: The Official Guide to Learning OpenGL, by Kessenich et al.
- Computer Graphics with Open GL, by Hearn, Baker and Carithers.
Winter 2025 Assignments
- Please read our additional notes regarding assignment completion and submission. These notes may help you avoid losing marks unnecessarily.
-
Assignment 0: Warmup
Due Thursday January 16 at 9:00 AM -
Assignment 1: OpenGL
Due Thursday January 23 at 9:00 AM -
Assignment 2: Pipeline
Due Thursday February 6 at 9:00 AM -
Assignment 3: Puppet
Due Thursday February 27 at 9:00 AM -
Assignment 4: Trace
Due Thursday March 13 at 9:00 AM -
Assignment 5: Project
Due Monday March 31 at 9:00 AM
Additional Resources
Start by visiting the old home page for the course, where you'll find lots of other useful information and links.
- Check out the OpenGL and Lua tutorials (from previous terms) on the course Course Lessons Website.
- The website open.gl is a great starting point for programming in modern OpenGL, featuring a sequence of well written tutorials.
- See also the longer sequence of tutorials at learnopengl.com, which go into more detail about specific topics.
- Song Ho Ahn also has a number of useful tutorials that explain concepts in 3D computer graphics, especially as related to the OpenGL graphics pipeline.
- Visit docs.gl for the best OpenGL API reference.
- You might also want to look at Terence's OpenGL tutorial slides.