CS4620 (5620) Introduction to Computer Graphics
MWF 1:25pm, Gates G01
M 12:20pm, Gates G01 [4621 only]
Instructor: Steve Marschner (office hours: Mon 2:30–3:30, Weds 4:30–5:30)
Ruojin Cai (Head TA)
There will be 7 projects and 6 homeworks during the semester.
The CS4620 late policy is described in one of the first lectures. Briefly, you have 7 slip days that you can use to turn assignments in late: turn one assignment in 7 days late or turn 7 assignments in one day late. After you run out of slip days there are late penalties, and assignments can't ever be turned in more than 7 days late.
There will be an evening midterm and a final exam:
- Midterm: October 29, 7:30pm, Gates G01 Review Session
- 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.
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 Fall 2018
- CS 4620 Spring 2018
- CS 4620 Spring 2017
- CS 4620 Fall 2014
- CS 4620 Fall 2013
- CS 4620 Fall 2010
- CS 4620 Fall 2009
- CS 4620 Fall 2008
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 Monday 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.
Marschner & Shirley,Fundamentals of Computer Graphics
(Available online in Cornell library two ways: 1 2)
Supplemental Books and Materials:
Gortler,Foundations of 3D Computer Graphics
- 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,