Description: This is an entry-level course which will introduce you to a wide range of topics in computer graphics, and prepare you for continued studies in more specialized sub-fields. You will become familiar with the technical challenges faced in capturing, displaying, and generating computer generated images. The course will introduce important concepts such as modeling of lights, cameras, materials and geometry, graphics hardware, trade-offs in physical realism and rendering time. A final project will give students the opportunity to create imaginative, technically complex visuals inspired by recent research literature. Click here for a more detailed weekly schedule.

Prerequisites: CS 107 & MATH 51, or instructor approval. Fluency in C/C++ and relevant IDEs.

Note: this is a General Education Requirements WAYS course in creative expression; students will be assessed in part on their ability to use their technical skills in support of aesthetic goals.

Time and Place

Tuesdays & Thursdays 1:30-3:20pm
Skilling Auditorium, 494 Lomita Mall Stanford


NameOffice Hours
Instructor Zahid Hossain (zhossain@stanford.edu)

Course Assistants David Hyde (cs148.staff@gmail.com)Gates Basement Lobby: Saturdays: 1-5PM; Tuesdays: 7-9PM
Minjae Lee (cs148.staff@gmail.com) Gates 210: Mon to Fri till Aug 12th: 12:30 - 4:30PM
Jason Riggs (cs148.staff@gmail.com) Gates B21: Mondays: 1:00-3:00PM; B21: Tuesdays: 4:30-6:30PM

Remote/SCPD students: Please check this Piazza post for the updated Google Hangouts links

Piazza Forumhttps://piazza.com/stanford/summer2016/cs148
Email all homeworks and reading assignments at: cs148.staff@gmail.com

Important Dates/Times

Every Tuesday (1:30PM)Reading assignment from previous week due
Every Thursday (11:59PM)Homework from previous week due
July 21 (1:30PM)Project proposal due (before class)
Aug 2 (11:59PM)Project milestone due
Aug 10 (11:59PM)SCPD/Remote Students: Youtube video presentation of final project due
Aug 11 (11:59PM)Final project presentation
Aug 12 (11:59PM)Final project report due

Best Projects of Summber 2016

We compiled the best projects of Summer 2016 in three categories: Visuals, Technicals, and Creativity. See here for the list.

Virtual Machine for Homeworks

Download VM (Updated with LXDE) (username: cs148, password: cs148)
Read More

Final Project Guidelines


WeekDateTopicReadings HomeworkNotes
Week 1Jun 21Introduction
Jun 23Lights and Colors RA1
Week 2Jun 28Rasterization RA2 HW1 (solution) RA1 Due
Jun 30Coordinates & Transformation
Week 3Jul 05OpenGL RA2 Due
Jul 07Textures RA3 HW2 HW1 Due, Virtual Machine Posted
Week 4Jul 12GPU, Shaders & OpenGL 3.2 RA3 Due
Jul 14Basics of Rendering RA4 Proj. Proposal HW3 HW2 Due
Week 5Jul 19Materials RA4 Due
Jul 21Ray-Tracing RA5 HW4 HW3 Due. Project Proposal Due (1:30PM)
Week 6Jul 26Geometric Modeling RA5 Due
Jul 28Animation RA6 HW5 HW4 Due
Week 7Aug 02Physically Based Animation Project Milestone Due (11:59PM)
Aug 04Sampling HW5 Due
Week 8Aug 09Recap
Aug 11Final project presentation, (Best Projects)
Aug 12Reserved Day Project Report Due 11:59PM


Grading and late policy details
Homeworks: 60%, Reading: 10%, Final project: 20%, Participation: 10%
Email all your submissions at: cs148.staff@gmail.com


[ebook] Fundamentals of Computer Graphics 3rd Ed. by Shirley et. al.
[ebook] OpenGL Programming Guide, 7th Edition by Shreiner.
Computer graphics : Principles and Practice by Foley et. al.