CPSC 314 Computer Graphics 2013WT2 (Jan-Apr 2014)

This course provides an introduction to the exciting field of computer graphics. It is the first in our computer graphics sequence. Please see the official UBC course description, for prerequisites and schedules.

There are several significant changes this term. The main one is that we will focus on the modern programmable graphics pipeline, using the OpenGL API and the OpenGL Shading Language (GLSL), with vertex and fragment shaders. We will use a new textbook (required) and clickers (required) throughout the course.

Course Organization

Instructor: Dinesh K. Pai, Computer Science, UBC. Office hour: W 3-4pm, in X853.

TAs: Russell Gillette, Jan-Hendrik Louw, Craig Peters. Plus Edwin Chen (CSSEI TA). To contact the TAs, use the discussion board or visit one of the scheduled labs.

Lectures: MWF 1-2pm Dempster 301. Clickers are required in every class. Please obtain one and register it with Connect (see these instructions).

Labs: There are 3 scheduled labs, held in ICICS 005. Attendance is not mandatory but highly recommended. TAs will be available in the labs to answer questions about the programming assignments, and to help with graphics concepts. Drop-ins are welcome in any of the labs.

Discussions: We will use Piazza. Please join the course discussion group: https://piazza.com/ubc.ca/spring2014/cpsc314.

Textbook: Foundations of 3D Computer Graphics by Steven J. Gortler, MIT Press, 2012.

This is a required text and we will assign work (reading, homeworks) from it. The good news is that it is very good, compact, and relatively inexpensive. Even better news: it's available online from UBC library, free to UBC students. No limits on access, everyone in the class can access the book at the same time.

Course Work

Programming Assignments (40%): There will be 4 programming assignments, requiring the use of C++, OpenGL, and GLSL, to be done individually. We will use "face-to-face grading," i.e., you will be required to demonstrate that you understand why your program works. You must get a passing grade in assignments to pass the course.

Written Exams (50%): There will be two in-class midterm exams (12% each) and one final exam (26%). You must get a passing grade in the final exam to pass the course.

Schedule: Midterm 1 on Feb 7, 2014. Midterm 2 on March 21, 2014. Final TBD.

Handback: Exams will be returned electronically. Log in to the following site using your ugrad CSID: https://www.ugrad.cs.ubc.ca/~cs314/handback/

C3 (Concept Consolidation with Clickers) (10%): We will use clickers throughout the term for a range of activities, ranging from simple surveys to homeworks. Each answer gets one participation mark. In addition, there will be 0-3 marks for getting the right answer, depending on the type of question. There will be four types of clicker questions (maximum mark indicated in parenthesis):

  • Survey (1) : A simple poll without any particular "correct" answer.
  • Review (2) : Review of material covered in class or in textbook reading.
  • Exercise (3) : In-class exercises, taking 5-10mins.
  • Homework (4) : A homework problem, with most of the work done outside class.

To account for occasional absences from class (or just a few bad days), I will count the best 90% of the answers for each question type toward your final grade.

The marks distribution is summarized in this table:

marks %work
40programming assignments (4)
26final exam
24midterms (2)
10concept consolidation w clickers


We take cheating very seriously. Briefly: don't do it. Please read the CS department policy. For further clarification, please read this document and the course specific guidelines prepared by Prof. Munzner.

Last Updated 2014-02-12T17:01-0800.