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

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.

We will focus on the modern programmable graphics pipeline, using the OpenGL Shading Language (GLSL), with vertex and fragment shaders. We will use JavaScript and the WebGL API (which is closely related to the OpenGL API, and uses the same shading language). We will use a required textbook throughout the course.

Course Organization

Instructor: Dinesh K. Pai, Computer Science, UBC. Office hour: Thursday 10-11am, in X853.

TAs: Shailen Agrawal, Joao Cardoso, Ben Janzen. To contact the TAs, use the discussion board or visit one of the scheduled labs.

Lectures: MWF 1-2pm Dempster 301.

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.

Grades and Time-critical Announcements: These will be posted on Connect. Please log in at the beginning of the term, and read the instructions there.

Discussions: We will use Piazza for optional discussions. The course URL is https://piazza.com/ubc.ca/winterterm22014/cpsc314/home. You will need an access code; log in to Connect once for instructions.

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

This is a required text and we will assign reading and other work 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. Caveat: the examples in the book are in OpenGL, not WebGL.

Course Work

Programming Assignments (40%): There will be 4 programming assignments, requiring the use of GLSL, WebGL, Three.js, and JavaScript. Assignments must be done individually. The focus will be on implementing graphics concepts learned in class using GLSL (GL Shading Language), the WebGL API, and the Three.js library. You will be expected to pick up JavaScript on your own (there are several excellent sources available, due to the popularity of this language).

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 (60%): There will be three in-class quizzes (11% each) and one final exam (27%). You must get a passing grade in the final exam to pass the course.

Schedule: Quiz 1 on Jan 30, Quiz 2 March 4, Quiz 3 March 27. Final April 20.

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

The marks distribution is summarized in this table:

marks %work
40programming assignments (4)
33quizzes (3)
27final exam


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 2015-02-13T20:01-0800.