COMS 4160: Introduction to Computer Graphics
IMPORTANT NOTE: This website is a work in progress. Nothing in it should be assumed final until the first lecture day of September 3rd, 2025
Instructor
Prof. Silvia Sellán, silviasellan@cs.columbia.edu Office Hours: Mondays and Wednesdays between 9 and 10 am.
Teaching Assistants
Kavin Aravindhan Rajkumar, kr3131@columbia.edu. Office Hours: TBD
Jason Han, jason.han@columbia.edu. Office Hours: TBD
Textbook
This course will closely follow this textbook by Marschner, Shirley et al. Both the fourth and the fifth editions will be sufficient to follow the course.

Lecture calendar
Lectures will take place in CSB 451
Week | Monday (10:10am - 11:25am) | Wednesday (10:10am - 11:25am) | Notes |
---|---|---|---|
1 | September 1st: No class: Labor day | September 3rd: Introduction to Graphics | … |
2 | September 8th: Raster images | September 10th: Ray casting | … |
3 | September 15th: Ray tracing | September 17th: Textures | … |
4 | September 22nd: Physically based rendering I | September 24th: Physically based rendering II | … |
5 | September 29th: Bounding Volume Hierarchies | October 1st: Geometry: 2D Representations | … |
6 | October 6th: Geometry: 3D Representations | October 8th: Geometry: Meshes | … |
7 | October 13th: Code Review (Classroom “exam”) | October 15th: Guest Lecture: Theodore Kim, Yale University | … |
8 | October 20th: Assignment Review | October 22nd: Math: Linear Algebra and Geometric Transformations | … |
9 | October 27th: The Graphics Pipeline | October 29th: Animation: Kinematics | … |
10 | November 2nd: No class: University Holiday | November 5th: Assignment Clinic | … |
11 | November 10th: Physically based Animation | November 12th: Assignment Clinic | … |
12 | November 17th: Research Topics | November 19th: Assignment Clinic | … |
13 | November 24th: Graphics and Vision | November 26th: No class: Indigenous Peoples’ Day / Thanksgiving | … |
14 | December 1st: Final Project Presentations I | December 3rd: Final Project Presentations II | … |
Evaluation
There will be eight assignments, each worth 10% of your grade. The Final Project will be worth 20%. The grade on each assignment will depend not only on the quality of the work you hand in, but also on your ability to explain your program’s code in the Code Review and Assignment Clinic sessions.
Please submit your assignments via CourseWorks.
Assignments
Number | Title | Link | Due date | Notes |
---|---|---|---|---|
1 | Raster images | Github | September 15th | |
2 | Ray casting | Github | September 22nd | |
3 | Ray tracing | Github | September 29th | |
4 | Bounding Volume Hierarchies | Github | October 6th | |
5 | Meshes | Github | October 19th | Deadline is final. No extensions will be given. No late days may be used. |
6 | Shaders | Github | November 3rd | |
7 | Kinematics | Github | November 17th | |
8 | Mass-Spring Systems | Github | November 30th | Deadline is final. No extensions will be given. No late days may be used. |
Late policy
A deadline of “Month XX, Day YY” means the assignment solution must be uploaded before 23:59, New York local time, on day YY of Month XX.
Each student has five late days, to use at their discretion throughout the course (you do not need to specify a reason for using them, and the TAs will keep track of these). These late days cannot be used for Assignments 5 and 8, since the solutions to the them will be discussed in class the day after. They also cannot be used for the course’s final project, since it will be presented in class by the student. No additional extensions will be given except for those required by University or Departmental policy.
Final Project
Make an image or video, combining several different topics studied in class and practiced in the assignments. You will have to present it in class and answer questions about how you generated it.
Academic honesty
Please review the Academic Honesty and Integrity policies from the Department of Computer Science and the School of Engineering. Students must abide by these policies, or suffer the penalties enumerated in them.
Acknowledgements
The materials used for this course make heavy use of course materials generously shared by Professors Alec Jacobson, David I.W. Levin, Oded Stein and Changxi Zheng.