CSE 167: Computer Graphics

Winter 2020


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 3234, and at other times by appointment

TA: Ronald Baldonado
Email: rbaldona at
Office (lab) hours: W 11:00 AM-1:00 PM and Th 11:00 AM-1:00 PM, EBU3 B260 or B270

TA: Yihang (Stacy) Cheng
Email: yic222 at
Office (lab) hours: Th 5:00 PM-7:00 PM and F 8:00 AM-10:00 AM, EBU3 B260 or B270

TA: Xinming (David) Zhang
Email: xiz015 at
Office (lab) hours: M 10:00 AM-12:00 noon and W 9:00 AM-11:00 AM, EBU3 B260 or B270

Tutor: Guangyan (Nick) Cai
Email: g5cai at
Office (lab) hours: Th 2:00 PM-4:00 PM and F 10:00 AM-12:00 noon, EBU3 B260 or B270

Tutor: Kevin Huang
Email: kyh022 at
Office (lab) hours: Tu 12:00 noon-2:00 PM and W 1:00 PM-3:00 PM, EBU3 B260 or B270

Tutor: Wenlin Mao
Email: w6mao at
Office (lab) hours: M 1:00 PM-3:00 PM and Tu 3:00 PM-5: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: 995150
Lecture: MW 6:30 PM-7:50 PM, PCYNH 106
Discussion: Th 8:00 PM-8:50 PM, PCYNH 106
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% (Feb 19)
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 18, 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 B260 and 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]
Real-Time Rendering, 4th edition
Tomas Akenine-Möller and Eric Haines and Naty Hoffman and Angelo Pesce and Michał Iwanicki and Sébastien Hillaire
CRC Press, 2018
[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

Diversity and Inclusion

We are committed to fostering a learning environment for this course that supports a diversity of thoughts, perspectives, and experiences while respecting your identities (including race, ethnicity, heritage, gender, sex, class, sexuality, religion, ability, age, educational background, etc.). Our goal is to create an inclusive learning environment where all students can feel comfortable and thrive. Accordingly, the instructional staff will make a concerted effort to be welcoming and inclusive to the wide range of students in this course. If there is some way we can help you feel more included, please let one of the course staff know (in person, via email/Piazza, or even using an anonymous note).

We also expect that you, as a student in this course, will honor and respect your classmates, abiding by the UCSD Principles of Community. Please understand that others' backgrounds, perspectives, and experiences may be different than your own, and help us build an environment where everyone is welcomed and respected.

If you experience any sort of harassment or discrimination, please contact an instructor as soon as possible. If you prefer to speak with someone outside of the course, please contact the Office for the Prevention of Harassment and Discrimination.

Students with Disabilities

We aim to create an environment in which all students can succeed. If you have a disability, please contact the Office for Students with Disabilities (OSD) and discuss appropriate accommodations as soon as possible. We will work to provide you with the accommodations you need, but you must first provide a current Authorization for Accommodation (AFA) letter issued by the OSD. You are required to present your AFA letters to the instructor and to the department's OSD Liaison so that accommodations may be arranged.

Basic Needs/Food Insecurities

If you are experiencing any insecurities related to basic needs (food, housing, financial resources), there are resources available on campus to help, including The Hub and the Triton Food Pantry. Please visit The Hub for more information.

Last update: March 1, 2020