COMS 4160: Introduction to Computer Graphics

Fall 2025 - Columbia University
Assignments Table

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

People

The instructor for this course is Silvia Sellán. Her office hours are on Mondays and Wednesdays between 9 and 10 am at her office (CEPSR 624).

This course also has three Teaching Assistants. Their office hours will take place at the Computer Science TA Room (Mudd 122) and are listed below:

  • Kavin Aravindhan Rajkumar: Tuesdays, 10am - noon
  • Jason Han: Fridays, 3:30pm - 5:30pm
  • Simrin Ponamgi: Thursdays, noon - 2 pm.

Contact and communication

If you have questions about the course, you are encouraged to post a question on the Ed platform, which will be monitored by the entire course staff. Asking questions through Ed is the best way to ask questions since it ensures your message reaches the entire course staff quickly and you may find your question already asked and answered by someone else or help another student with a similar question.

If you have a private question or comment about the course assignments, grading or syllabus, that for whichever reason you do not want to ask on Ed, you should attend one of the TA office hours above or reach out to one of the course TAs directly. Their emails are as follows:

If you have questions or comments about the course that cannot be answered by the TAs, or that the TAs have not answered to your satisfaction, please attend Silvia’s office hours on Mondays and Wednesdays before class.

Finally, in exceptional circumstances in which you have urgent questions or comments that cannot be answered by the TAs and cannot wait until Silvia’s next office hour session, or if she has told you herself that you should email her, please email Silvia.

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.

Fundamentals of Computer Graphics, by Marschner, Shirley and collaborators

Lecture calendar

Lectures will take place in CSB 451. Lecture slides in PDF format are posted in the “Files” section of CourseWorks shortly after each lecture.

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 (Mandatory attendance)
11 November 10th: Physically based Animation November 12th: Assignment Clinic (Mandatory attendance)
12 November 17th: Research Topics November 19th: Assignment Clinic (Mandatory attendance)
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. You must attend the Code Review and Assignment Clinic sessions on the dates specified above, as well as your final project presentation in December.

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 to CourseWorks 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.

Grading

Your final percentage grade will be computed by adding the percentage grade of all the assignments plus twice the percentage grade of the final project, and dividing the result by ten. This final percentage grade will be converted into letters as follows:

  • A+: 95% or higher
  • A: 90% to 94%
  • B+: 85% to 89%
  • B: 80% to 84%
  • C: 70% to 79%
  • D: 60% to 69%

We reserve the right to globally curve all grades upwards at the end of the course (improving your letter grade, never reducing it), but we will not negotiate the conversion table above for individual students.

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.

Generative AI policy

You should not use generative AI to produce the solution to any of the assignments. You are allowed to use generative AI to produce your final project image (but do not lie about it if asked).

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.