CPSC 314    Computer Graphics    September 2012

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 Modelling (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.   


News
  • 11/14/12 - Assignment four is out. The template can be downloaded from here. Due November 30 at 4PM.
  • 10/16/12 - Assignment three is out. The template can be downloaded from here. Due November 9 at 4PM.
  • 9/21/12 - Assignment two is out. The template can be downloaded from here. Due October 12 at 4PM.
  • 9/11/12 - First weekly quiz is online now. To access quizes, Please log in to connect (connect.ubc.ca). On the course webpage in the menu to your left you should see the link to "Weekly Quizzes" right below "Home Page" link.
  • 9/4/12 - Assignment one is out. The template can be downloaded from here. Due September 21 at 4PM.
  • 9/4/12 - Please read, sign, and submit the Course Plagiarism Policy to Alla by Monday Sep 10 (your assignments or other submissions will not be evaluated untill you do so).
  • 7/27/12 - The first class (and first lab) will be on Wed Sep 5.
  • 8/20/12 - Please login to http://connect.ubc.ca, and follow the link under "clicker Registration Module" to register your clicker.

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

Instructor







I am Alla Sheffer. You can contact me by e-mail (sheffa@cs.ubc.ca), I generally try to respond within one work day, or come to my office hours (my office is x651):
  • Monday 10-11AM
  • Tuesday 3-4PM
  • Wed 10-11AM
Some weeks I may not be able to make them all, but will post this. General questions should be asked on the course Piazza discussion group.

 TAs:   Crawford Doran, Anil Mahmud and Mikhail Bessmeltsev will help with the course. TA will typically have office hours in the lab in the days before assignment deadlines (announced in the discussion group).

Lectures/Labss Lectures: Mon Wed Fri 9:00 -10:00        Location Dempster 301        Sep 5 - Dec 1, 2011
Labs:: Wed 12-13, Thu 15:30-16:30        Location CICSR 005
In the labs TAs will review classroom material and help you with assignments. You don't need to come to these if you don't want to, but I highly recommend you do.

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 Quizes (3%), Participation (2%), Midterms (25%), Final Exam (30%)   

Course Resources (notes,textbooks,etc...)) Lecture Notes: The main source of material for the course are the lecture and lab notes which will become available as the course progesses. 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.
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 wil also be used for submitting your review questions (details in class)


Assignments Programming assignments will show up here as they become available. To submit the programming assignments, unless specified otherwise, use the 'handin' program.
  • Assignment 1 - The template can be downloaded from here. Due September 21 at 4PM.
  • Assignment 2 - The template can be downloaded from here. Due October 12 at 4PM.
  • Assignment 3 - The template can be downloaded from here. Due November 9 at 4PM.
  • Assignment 4 - The template can be downloaded from here. Due November 30 at 4PM.

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

Hall of Fame (In progress) Here

Review and Exam Prep Old assignments and midterms/finals (with solutions) can be found on the pages of older 314 offerings:
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