CS4620 Introduction to Computer Graphics
CS4621 Computer Graphics Practicum
Cornell University
MWF 2:30pm, Uris Hall G01
F 3:35pm, Uris Hall G01 [4621 only]
Instructor: Steve Marschner (office hours T 3:15–4:15, W 4pm–5pm; see calendar for exceptions)
Staff
Graduate TAs
Eston Schweickart (CS4620 head TA, ers@cs.cornell.edu)
Pramook Khungurn (CS4621 head TA, pramook@cs.cornell.edu)
Albert Liu (ajul@cs.cornell.edu)
Zechen Zhang (zz335@cornell.edu)
Eric Lin (esl89@cornell.edu)
Ugrad TAs
James Noeckel (jwn48@cornell.edu)
Kristen Crasto (kmc376@cornell.edu)
Henry Chen (hjc77@cornell.edu)
Olivia Dawd (ord5@cornell.edu)
Linda Liu (ll538@cornell.edu)
Nicolas Kuhn de Chizelle (nk436@cornell.edu)
Naxin Chen (nc352@cornell.edu)
See below for the office hours calendar.
Schedule
Videos of lectures from a previous run of CS4620 are available.
Projects
There will be 7 projects during the semester, due approximately every two weeks.
Exams
There will be an evening midterm and a final exam:
- Midterm: 21 March 2017, 7:30pm (Olin Hall 155)
- Final: (not yet scheduled)
The exams are closed book, but you're allowed to bring one letter-sized piece of paper with writing on both sides, to avoid the need to memorize things.
Old Exams
Here are links to exams from previous versions of this class. They can be useful for studying, because they give an indication of the style and scope of problems that may be expected. Note that they are not a useful reference for topics to expect, because the content of the course has changed from year to year.
- CS 4620 Spring 2017
- CS 4620 Fall 2014
- CS 4620 Fall 2013
- CS 4620 Fall 2010
- CS 4620 Fall 2009
- CS 4620 Fall 2008
- CS 465 Fall 2005
- CS 465 Fall 2004
- CS 465 Fall 2003
About CS4620
Questions, help, discussion: The instructors are available to answer questions, advise on projects, or just to discuss interesting topics related to the class at office hours and by appointment as needed. For electronic communication we are using Piazza (handy link at the top of this page).
Practicum: In the optional practicum course, CS4621/5621, you will get a more in-depth exposure to the course material and complete an additional project. Students taking the practicum will also be required to attend lectures most weeks during the Friday meeting time for CS4621/5621.
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 of the methods we are studying. 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.
Collaboration: 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 is 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. The paper and pencil parts of the projects can be discussed in general terms, but must be worked on alone.
Books
Textbook:
Marschner & Shirley,
Fundamentals of Computer Graphicsfourth edition (Available online in Cornell library two ways: 1 2) |
Supplemental Books and Materials:
Gortler,
Foundations of 3D Computer Graphicsfirst edition |
- OpenGL
"Red Book" --- *the* reference for OpenGL programming
- 3-D computer graphics: a mathematical introduction with OpenGL, Volume 385, By Samuel R. Buss
- Andrew S. Glassner, An Introduction to ray tracing,
1989