CSE 167: Computer Graphics

Winter 2018

Instructor: Ben Ochoa
Email: bochoa at
Office hours: W 8:00 PM-9:00 PM (primary) and M 8:00 PM-9:00 PM (secondary), EBU3B 4208, and at other times by appointment

TA: Yunhan Ma
Email: yum108 at
Office (lab) hours: M 3:00 PM-5:00 PM and F 10:00 AM-12:00 noon, EBU3 B260 or B270

TA: Varun Syal
Email: vsyal at
Office (lab) hours: Tu 8:00 AM-10:00 AM and Th 8:00 AM-10:00 AM, EBU3 B260 or B270

Tutor: Yiming Cai
Email: yic264 at
Office (lab) hours: Tu 6:00 PM-8:00 PM and Th 6:00 PM-8:00 PM, EBU3 B260 or B270

Tutor: Renxu Hu
Email: reh011 at
Office (lab) hours: Tu 4:00 PM-6:00 PM and W 1:00 PM-3:00 PM, EBU3 B260 or B270

Tutor: Yunlu Huang
Email: yuh075 at
Office (lab) hours: W 8:00 AM-10:00 AM and F 8:00 AM-10:00 AM, EBU3 B260 or B270

Tutor: Sung Rim Huh
Email: srhuh at
Office (lab) hours: M 11:00 AM-1:00 PM and W 11:00 AM-1:00 PM, EBU3 B260 or B270

Tutor: Ziyang Li
Email: zil159 at
Office (lab) hours: W 3:00 PM-5:00 PM and Th 12:00 noon-2:00 PM, EBU3 B260 or B270

Tutor: Hanqing Zhang
Email: haz156 at
Office (lab) hours: Tu 1:00 PM-3:00 PM and Th 2:00 PM-4:00 PM, EBU3 B260 or B270

Note: when emailing the instructor, TAs, or tutors with questions about the class, please put "CSE 167" in the subject line.

Class section ID: 927534
Lecture: MW 6:30 PM-7:50 PM, CENTR 212
Discussion: Th 5:00 PM-5:50 PM, CENTR 214
Class discussion: Piazza

This course provides an introduction to 3D computer graphics, covering the fundamentals of 3D rendering and modeling. There will be an emphasis on both the mathematical and geometric aspects of computer graphics, and 3D graphics programming using OpenGL.

Prerequisites: Linear algebra and data structures. C++ or other programming experience.

Programming assignments will be completed using C++.

Academic Integrity Policy: Integrity of scholarship is essential for an academic community. The University expects that both faculty and students will honor this principle and in so doing protect the validity of University intellectual work. For students, this means that all academic work will be done by the individual to whom it is assigned, without unauthorized aid of any kind.

Collaboration Policy: It is expected that you complete your academic assignments on your own and in your own words and code. The assignments have been developed by the instructor to facilitate your learning and to provide a method for fairly evaluating your knowledge and abilities (not the knowledge and abilities of others). So, to facilitate learning, you are authorized to discuss assignments with others; however, to ensure fair evaluations, you are not authorized to use the answers developed by another, copy the work completed by others in the past or present, or write your academic assignments in collaboration with another person.

If the work you submit is determined to be other than your own, you will be reported to the Academic Integrity Office for violating UCSD's Policy on Integrity of Scholarship. In accordance with the CSE department academic integrity guidelines, students found committing an academic integrity violation will receive an F in the course.

Grading: There will be homework assignments and a midterm exam weighted with the following percentages:

Assignment 0: 5%
Assignment 1: 15%
Assignment 2: 15%
Midterm exam: 20%
Assignment 3: 20%
Assignment 4: 25%
All assignments are due and graded in person on a Friday (except for the last assignment, which is due and graded on Wednesday, Mar 21, instead of a final exam). Source code for assignments will be submitted by 12:59 PM on the Friday the assignment is due. Additionally, students must present their assignments in person for grading 1:00 PM-3:00 PM in EBU3 B270 on the Friday the assignment is due.

Late Policy: If an assignment, except for the last one, is not submitted by the due date or is not presented during the grading hours, then it will be accepted up to 1 week late and will receive a 30% grade reduction. Assignments will not be accepted 1 week after the due date. Late submissions will not be accepted for the last assignment. If you require an extension (for personal reasons only) to a due date, you must request one as far in advance as possible. Extensions requested close to or after the due date will only be granted for clear emergencies or clearly unforeseeable circumstances. You are advised to begin working on assignments as soon as they are assigned.


Lecture slides:

Lecture Topics (tentative):


Optional textbook:

Fundamentals of Computer Graphics, 4th edition
Steve Marschner and Peter Shirley
CRC Press, 2015
[CRC Press] [Amazon] [Google]

Other helpful textbooks:

The OpenGL Programming Guide, 9th edition (the "Red Book")
John Kessenich, Graham Sellers, and Dave Shreiner
Addison-Wesley, 2016
OpenGL Shading Language, 3rd edition (the "Orange Book")
Randi J. Rost and Bill Licea-Kane
Addison-Wesley, 2009
Interactive Computer Graphics: A Top-Down Approach with OpenGL, 6th edition
Edward Angel and Dave Shreiner
Addison-Wesley, 2012
Computer Graphics: Principles and Practice, 3rd edition
John F. Hughes et al.
Addison-Wesley, 2013

Last update: March 13, 2018