CPSC 314    Computer Graphics    September 2013

The course will provide an introduction to theory and practice of computer graphics algorithms, including different aspects of modelling, rendering and basic animation.

Topics to be covered include most or all of the following: geometric transformations; the rendering pipeline, including perspective projection, scan conversion, and hidden surface removal; lighting and illumination; texture mapping; colour models; geometry modeling and data structures; complex shading algorithms; ray-tracing; animation.

This course is the first in our sequence on computer graphics, followed by Modeling (424) and Animation (426) as well as several graduate CG courses.

Examples of cool programs written by recent and current students can be found (look for 'hall of fame'): here,here, and here.   


URL http://www.ugrad.cs.ubc.ca/~cs314


I am Alla Sheffer. You can contact me by e-mail (sheffa@cs.ubc.ca) or better post your questions/requests on Piazza (discussion group). I generally try to respond within one work day. You can also come to my office hours (my office is x651):
  • Monday 2-3PM
  • Tuesday 2-3PM
  • Wednesday 11-12AM

Some weeks I may not be able to make them all, but will post this.

 TAs:   Chris Thompson, Russell Gillette and Boris Dalstein will help with the course. In addition to regular lab hours TAs will typically have office hours in the lab in the days before assignment deadlines (announced in the discussion group).

Lectures/Labs Lectures: Mon Wed Fri 13:00 -14:00
Location: Dempster 301
Labs: Tue 13-14, Wed 12-13, Thu 15:30-16:30
Location CICSR 005
In the labs TAs will review classroom material and help you with assignments. Attendance is not mandatory, but is highly recommended.

Prerequisites MATH 200, MATH 221 and either (a) CPSC 221 or (b) all of CPSC 260, EECE 320. Students are expected to be able to program in C++.

Grading Programming Assignments (40%), Weekly Quizzes (3%), Participation (5%), Midterms (24%), Final Exam (28%). For more details see the course policies.

Course Resources (notes,textbooks,etc...) Lecture Notes: The main source of material for the course are the lecture slides which will become available as the course progesses. Additional, student-recorded notes will be posted on the discussion board as the course progresses.Notes from earlier offerings can be found in the links below (under "Review and Exam Prep").
Textbooks: The recommended books and manuals provide optional reading, which can help you better understand the material. However they do not replace any material taught in class.
OpenGL: OpenGL.org is the official web site for OpenGL, with lots of useful stuff. Nate Robins' OpenGL resources includes a place to download GLUT for Windows, as well as some great tutorial programs to make it easier to learn the OpenGL API. For GLUT also check here.
Clickers: You will use clickers throughout the term to answer questions in class. Since these answers will be taken into account in your final grade, clicker ownership is highly recommended.
Applets: Applets used in the lectures . Additional applets: metamers    triple-cell response    additive colour mixing   

Discussion Group

There is a Piazza group for this offering: cpsc314. You will need to join Piazza to get access. Both I and the TAs will monitor the group answering questions on a daily basis. We expect students to be up to date on information published in the group or on this webpage. The page will also be used for submitting your review questions (details in class).

I will use Piazza for all announcements, and you should use it for your own questions and answers about course material. Posting questions to Piazza is a better choice than sending email to the instructor or TAs individually, since we're all monitoring the group - plus, your classmates may have useful answers! You may choose whether to post questions and answers anonymously or using your own name. If you are asking a question that involves your own code, then please make sure to post it as a private question so that your classmates cannot see it, only the instructors.

Assignments Programming assignments will show up here as they become available. To submit the programming assignments, unless specified otherwise, use the 'handin' program.

Weekly Quizzes The course will have weekly quizzes which will be posted on our Connect page. The questions for the quizzes will be selected among the review questions submited by the students the week before. The deadline for submitting questions (via Piazza  cpsc314.) is Monday noon. The deadline for answering the quizzes is Friday noon.

Hall of Fame Will go here

Review and Exam Prep Old assignments and midterms/finals (with solutions) can be found on the pages of older 314 offerings:
Sep 2012     Jan 2012     Sep 2011     Jan 2011     Sep 2010     Jan 2010     Sep 2009     Jan 2009     Sep 2008     Jan 2008     Sep 2007     Jan 2007     Sep 2006     Jan 2006     Sep 2005     May 2005     Jan 2005     Sep 2004     Jan 2004     Sept 2003    

 Policies   Specific Course Policies    UBC student policies