Computer Graphics COMS BC3160 Fall2025

Categories

OVERVIEW
This undergraduate course introduces students to algorithms, data structures and mathematical principles used in computer graphics. Students will gain experience with OpenGL and graphics processing unit (GPU) programming and develop an understanding of the graphics pipeline. The topics covered include shading and illumination, sampling and reconstruction, ray tracing, graphics hardware, geometric and viewing transformations, rendering, modeling curves and surfaces and image-based methods. Near the end of the course, students will be introduced to topics in animation, global illumination and reflectance and modern concepts like neural rendering.

 

OBJECTIVES
This undergraduate course covers fundamental concepts and mathematical principles behind current and emerging methods, tools, and techniques in computer graphics. Through programming assignments and written exercises, students develop a thorough understanding of the field. Topics covered include shading and illumination, signal processing, ray tracing, graphics hardware, geometric and viewing transformations, rendering, curves and surfaces, and image-based methods. The course will also introduce topics for discussion related to animation, global illumination and reflection, and neural rending. There is an emphasis on programming projects that implement classical algorithms in computer graphics that reinforce learned concepts (programming projects may be completed individually or in groups of 2-3). Two homework assignments, three quizzes and one take-home exam complement programming projects and are designed to help students develop problem solving skills that use mathematical concepts covered in class. These assignments also help students evaluate their comprehension of course material. The course culminates with student-designed final projects that demonstrate creativity, and a depth of knowledge in two or more course topics. Examples of prior final projects include real-time texture synthesis for gaming and path tracing for photorealistic rendering.

 

STUDENT LEARNING OUTCOMES
1. Ability to identify, formulate, and solve complex engineering problems by applying principles of engineering, science, and mathematics.
2. Ability to develop and conduct appropriate experimentation, analyze and interpret data, and use engineering judgment to draw conclusions.
3. Ability to communicate effectively with a range of audiences.
4. Ability to function effectively on a team whose members together provide leadership, create a collaborative and inclusive environment, establish goals, plan tasks, and meet objectives.
5. Ability to recognize ethical and professional responsibilities in engineering situations and make informed judgments, which consider the impact of solutions in global, economic,
environmental, and societal contexts.

 

Instructor: Dr. Corey Toler-Franklin, Computer Science Department, Barnard College, Columbia University

Contact: Office Milstein 502B, ct3219@columbia.edu

Office Hours: MW 4:10pm – 5:10pm
Location: Milstein 502B
 

Teaching Assistant: Pranav Bidve
Office Hours: TBD

 

Course Management: CourseWorks
 

PREREQUISITES:

COMS W3157 Advanced Programming, Linear Algebra (COMS W3251, APMA E3101, APMA E2101, MATH UN2010, or MATH UN2015), and Calculus I or higher.

**Contact instructor if you are not sure you are prepared for the course**

 

TEXTBOOK
 

https://coreytolerfranklin.com/wp-content/uploads/2025/07/cover-gfx-edition-5.jpg
Marschner & Shirley,


FUNDAMENTALS OF COMPUTER GRAPHICS

Fifth Edition

ISBN: 0367505037

(Available online)
Amazon

 

OpenGL Programming Guide
John Kessenich , Graham Sellers, Dave Shreiner


OPENGL PROGRAMMING GUIDE: THE OFFICIAL GUIDE TO LEARNING OPENGL

ISBN: 0134495497

Publisher: ADDISON-WESLEY Edition: LATEST

(Available online)
Amazon

 

SYLLABUS
COMS BC3160 001 Computer Graphics

Date
Topic
Reading & Resources
Assignments
3-Sep
Introduction | Review Prerequisites
Ch. 1, Ch. 2
8-Sep
Triangle Meshes
Ch. 12: up to Fig. 12.1.4
10-Sep
Cloud Computing, GPUs, Code Platform | Intro to OpenGL
proj. 1 out
15-Sep
OpenGL Shaders, GLSL
17-Sep
History of CG | Math in CG (Interpolation, Polygons, Curves, Surfaces)
quiz 1
22-Sep
Ray Tracing | class discussion proj. 2
Ch. 4
proj. 2 out
24-Sep
Shading | Texture Mapping
Ch.5
proj. 1 due
29-Sep
Texture Mapping
Ch. 11: Sec. 11.1, 11.3, 11.4
1-Oct
Geometric Transformations: 2D | Final Project Guidelines
Ch. 7
6-Oct
Geometric Transformations: 3D (Linear, Affine, Coordinate)
proj. 3 out
8-Oct
Viewing Transformations
Ch. 8: Sec. 8.1-8.2
proj. 2 due
13-Oct
Projection & Modeling Hierarchy
15-Oct
Perspective
Ch. 8: Sec. 8.3 to end
quiz 2. | hw 1. out Oct. 14
20-Oct
Rasterization | Graphics Pipeline & Hardware
Ch. 9
proj. 4 out | hw 1. due Oct 21
22-Oct
Take Home Exam (No Class)
proj. 3 due | Exam due Oct 24
27-Oct
Images
29-Oct
Images: Displays, Antialiasing, Compositing
Ch. 3: Sec 3.4
final project guide out
3-Nov
Academic Holiday – No classes
proj. 4 due Nov 4th
5-Nov
Signal Processing
Ch. 10
10-Nov
Monte Carlo Rendering
Ch. 14: Sec. 14.1-14.5
12-Nov
Monte Carlo Rendering
Ch. 14: Sec. 14.6-14.10
17-Nov
Monte Carlo Rendering: Sampling Methods
hw 2 out
19-Nov
Curves
Ch. 15
Final Project: Mid-Point Eval.
24-Nov
Surfaces | Subdivision
26-Nov
Academic Holiday – No classes
hw 2. due, Nov. 27th
1-Dec
Animation (Kinematics, Interpolation of Quaternion)
quiz 3.
3-Dec
Recent Trends: Neural Rendering & Gaussian Splatting
8-Dec
Final Project Presentations Schedule TBD
Final Project due

 

COURSEWORK

35% Programming Assignments (2)

15%  Take Home Exam (1)

15%  Written Homework (2)

25%  Final Project

10%  Quizzes (~weekly: 10 top scores count toward grade)

 

Grading Policy

98-100 A+ 4.33
93 – 97.9 A 4.00
90.0 – 92.9 A- 3.67
87-89.9 B+ 3.33
83-86.9 B 3.00
80-82.9 B- 2.67
77-79.9 C+ 2.33
73-76.9 C 2.00
70-72.9 C- 1.65
60-69.9 D 1.00
below 59.9 F 0.00

 

Attendance Policy, Class Expectations, and Make-Up Policy
Students are expected to attend class. Repeated non-excused absences (more than three) may impact your grade. Make-Up homework, projects and exams must be coordinated with the instructor. Excused absences must be consistent with your college’s Absence and Attendance Policy.

 

Late Policy:

Students are given five late days total for the course. Students can use late days without penalty for project one and/or two only. Late days cannot be used for the final project, homework, or take-home exam.

There is a 10% per day late deduction up to a maximum of a 50% reduction for late programming projects (after applied late days). Students are expected to submit all programming assignments (even if they are late).

To use the late days, you must notify the instructor in writing (email) by the assignment due date and receive a confirmation email from the instructor. When you submit your project, you must indicate the number of late days you are using.

You do not have to use your late days if you have a university allowed absence. See your college’s Absence and Attendance Policy.

The homework solutions are posted quickly as a study aid for the take-home exam. Late homework is not accepted except for absences permitted by your college’s absence and attendance policy.

 
Honor Code

We, the students of Barnard College, resolve to uphold the honor of the College by engaging with integrity in all of our academic pursuits. We affirm that academic integrity is the honorable creation and presentation of our own work. We acknowledge that it is our responsibility to seek clarification of proper forms of collaboration and use of academic resources in all assignments or exams. We consider academic integrity to include the proper use and care for all print, electronic, or other academic resources. We will respect the rights of others to engage in pursuit of learning in order to uphold our commitment to honor. We pledge to do all that is in our power to create a spirit of
honesty and honor for its own sake.

In addition, all students must adhere to and uphold the honor codes of their respective colleges. All Columbia College and undergraduate Columbia Engineering students are committed to the following honor code:

I affirm that I will not plagiarize, use unauthorized materials, or give or receive illegitimate help on assignments, papers, or examinations. I will also uphold equity and honesty in the evaluation of my work and the work of others. I do so to sustain a community built around this Code of Honor.

Wellness Statement
It is important for undergraduates to recognize and identify the different pressures, burdens, and stressors you may be facing, whether personal, emotional, physical, financial, mental, or academic. We as a community urge you to make yourself–your own health, sanity, and wellness–your priority throughout this term and your career here. Sleep, exercise, and eating well can all be a part of a healthy regimen to cope with stress. Resources exist to support you in several areas of your life, and we encourage you to make use of them. Should you have any questions about navigating these resources, please visit these sites:

http://barnard.edu/primarycare
https://barnard.edu/about-counseling
http://barnard.edu/wellwoman/about
https://www.health.columbia.edu/services/stressbusters

Center for Accessibility Resources & Disability Services (CARDS) Statement
If you believe you may encounter barriers to the academic environment due to a documented disability or emerging health challenges, please feel free to contact me and/or the Center for Accessibility Resources & Disability Services (CARDS). Any student with approved academic accommodations is encouraged to contact me during office hours or via email. If you have questions regarding registering a disability or receiving accommodations for the semester, please contact CARDS at (212) 854-4634, cards@barnard.edu, or learn more at barnard.edu/disabilityservices. CARDS is located in Diana 307.

Affordable Access to Course Texts & Materials
We believe all students deserve to be able to access course texts. The high costs of textbooks and other course materials prohibit access and perpetuate inequity, and Barnard librarians and library staff are partnering with students, faculty, and staff to increase access. The purpose of this page is to highlight the steps the Barnard Library is taking to promote accessibility of texts on our campus.

https://library.barnard.edu/textbook-affordability