About CS4620/4621, 5620/5621 Introduction to Computer Graphics

Kavita Bala ( )
     ofc hrs: Wed 3:30PM - 4:30PM in 5142 Upson

Ivaylo Boyadzhiev ( Ph.D. TA, )
     ofc hrs: Tue 1:00PM - 2:00PM in 4121 Upson
Pramook Khungurn ( Ph.D. TA, )
     ofc hrs: Tue 5:00PM - 6:00PM in 5132 Upson
Shuang Zhao ( Ph.D. TA, )
     ofc hrs: Mon 10:45AM - 11:45AM in 594 Rhodes
Yunfeng Bai ( M.Eng. TA, )
     ofc hrs: Mon 1:00PM - 2:00PM in 328B Upson
Nicolas Savva ( M.Res. TA, )
     ofc hrs: Fri 12:20PM - 1:20PM in 586 Rhodes
Asher Dunn ( undergrad. TA, )
     ofc hrs: Thu 11:00PM - 1:00PM in 328B Upson
Mohamed Ismail ( undergrad. TA, )
     ofc hrs: Thu 5:00PM - 6:00PM in 328B Upson
Shentong Wang ( undergrad. TA, )
     ofc hrs: Sat 11:00AM - 12:00PM in 328B Upson

Staff List:

Time and place:
CS4620: MWF 2:30PM - 3:20PM, Olin Hall 165 Phillips Hall 101
CS4621: F 3:35PM - 4:25PM, Location Olin 255


Shirley & Marschner,
Fundamentals of Computer Graphics, third edition (required) The second edition is available as an ebook via the library (link). Search for "Peter Shirley" with the author/speaker option selected. Or authenticate at the link above, and then directly go to this link for the book.

Supplemental books and materials:




Homework 1: Transforms and Ray Tracing

Homework 2: 3D Transforms and Graphics Pipeline

Homework 3: Textures and its framework code

Homework 4: Curves and Animation

Programming assignments

PA 1: Basic Ray Tracing
description | setup | framework code | more test scenes | test scenes with corrected camera model

PA 2: Pipeline
description | framework code


There are two in class prelims in the course. There is no final exam. Please see the schedule for the dates.


The prelims account for 45%, programming assignments (done in pairs) for 30%, and homeworks (done alone) for 25%.



The principle is that an assignment is an academic document, like a journal article. When you turn it in, you are claiming that everything in it is your original idea (or is original to you and your partner, if you're handing in as a pair) unless you cite a source for it.

You are welcome (encouraged, even) to discuss projects among yourselves in general terms. But when it comes to writing up the homeworks or implementing the projects, you need to be working alone (or only with your partner if you are doing a project as a pair). In particular, it's never OK for you to see another student's homework writeup or another team's program code, and certainly never OK to copy parts of one person's or team's writeup, code, or results into another's, even if the general solution was worked out together.

You're also welcome to read any published sources—books, articles, public web sites—that help you learn. If you find an idea in one of these sources that becomes part of your solution (or even gives you the whole solution), that's fine, but it's imperative that you credit that fact on your homework or in a comment in your code. Otherwise you would be falsely claiming to have invented the idea yourself.

Academic Integrity

In this course we expect complete integrity from everyone. School can be stressful, and your coursework and other factors can put you under a lot of pressure, but that is never a reason for dishonesty. If you feel you can't complete the work on your own, come talk to the professor or the TAs, or your advisor, and we can help you figure out what to do. Think before you hand in!

Clear-cut cases of dishonesty will result in failing the course.

For more information see Cornell's Code of Academic Integrity.