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
![]() ![]() |
Marschner & Shirley,
Fifth Edition ISBN: 0367505037 (Available online) |
![]() ![]() |
John Kessenich , Graham Sellers, Dave Shreiner
ISBN: 0134495497 Publisher: ADDISON-WESLEY Edition: LATEST (Available online) |
SYLLABUS
COMS BC3160 001 Computer Graphics
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