CMPT 370 Spring 2009 Homepage


Dr. Sean Ho
(604) 513-2121 x3209
5 Neufeld Science Centre
Office hours: M-F 12-1pm
Class location:
TR 16:00-17:15 Neufeld 34



General course information: objectives, prerequisites, text, policies, etc.

IDE Policy

Policy on use of alternate integrated development environments and programming languages in this course.

Lab Write-up

Template/example write-up for the programming projects/labs.


Schedule of lecture topics and assignments (subject to revision as the semester proceeds).

Lecture Notes

Slides from the lectures, in Adobe Portable Document Format (PDF).

Example Code


Sample programs using FLTK


Sample parallel programs


Sample 3D graphics progams


Sample code from the OpenGL Programming Guide


Sample programs using GLSL shaders



You may find useful the exams from the last time I taught CMPT370; the topics are mostly (although not completely) the same.

Midterm 1

Our first midterm, covering graphical user interfaces in FLTK and parallel programming with OpenMP. Answers are included.

Midterm 2

Second midterm, covering OpenGL graphics, the rendering pipeline, 3D geometry and transforms, shading, texture maps, and blending. May be a bit longer than last year's midterm (but a hopefully a touch shorter than our first midterm this year).

Final Exam

Our final exam, covering the whole semester. Answers are included.


Documentation for FLTK, a lightweight toolkit for graphical user interfaces.
We will be using version 1.1.9 on Cygwin, with GCC.

Erco's FLTK

Greg Ercolano's FLTK Cheat Page has lots of example code.

The homepage of OpenMP, a standard API for shared-memory parallel scientific computation.
We will be using the version built-in to GCC-4.1.0 on carmel.

The homepage of OpenGL, an industry-standard API for 3D graphics.
We will be using OpenGL under FLTK on Cygwin.

MIT's OpenCourseWare

MIT has generously released the curriculum and course material for their advanced undergrad/grad graphics course, 6.837, under their OpenCourseWare initiative. This is a locally-cached copy.

Red Book

The OpenGL Programming Guide (RedBook)

Daily Devotionals

Every class starts with a short devotional from the Bible, to help keep everything in perspective!