Course Details

Time: MWF, 1:30pm - 2:20pm EST
Location: Cornell University, Phillips Hall 101
Instructor: Abe Davis (Email: abedavis [at] cornell [dot] edu) Gates R307
TAs and Office Hours: TBA

AniGraph Docs

Course Description

Introduction to the principles of computer graphics in two and three dimensions. Topics include basic computational geometry and shape representation, transformations and animation, basic digital image processing and filtering, ray tracing, perspective and 3-D viewing, the graphics pipeline, curves and surfaces, and human visual perception. This course emphasizes fundamental techniques in graphics, with written and practical assignments. Assignments will have core parts as well as open-ended creative parts where students will be encouraged to apply material in creative ways. May be taken with or without concurrent enrollment in CS 4621.


The course will be split up into four larger topic areas:
- Drawing: Basic geometry for graphics, spatial transformations, and transformation hierarchies
- Animation: Keyframing, interpolation
- Imaging: Basic image filtering and manipulation
- Rendering: Ray tracing and appearance models


An approximate breakdown of grading is given below:
- 20% Quizes
- 35% Core Submissions
- 25% Creative Submissions
- 20% Final Project

While creative submissions and the final project will be open-ended, we will provide guidelines and/or examples to help establish expectations and grading standards for these parts of the course.

Office Hours


Assignment details on course github.

A note relative to the FA2020 offering: assignments will be similar in nature to last year’s offering, but assignments that were previously in Javascript and SVG will be greatly revised and now use TypeScript and Three.js (WebGL).

Textbook (Optional)

Academic Integrity

Basics: Academic integrity: We assume the work you hand in is your own, and the results you hand in are generated by your program. You are welcome to read whatever you want to learn what you need to do the work, but we do expect you to build your own implementations. If you are ever in doubt, just include a citation in your code or report indicating clearly and specifically where some particular idea or implementation came from, whether it be a classmate, a web site, another piece of software, or anything—this always maintains your honesty, whether the source was used in a good way or not.

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 are handing in as a pair) unless you cite a source for it.

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.