Steve Marschner, firstname.lastname@example.org
Office hours: Tuesdays and Thursdays 3:00–4:00, 5159 Upson
Wenzel Jakob, email@example.com
Office hours: Wednesdays 3:30–5:00 and Fridays 5:30–7:00, 455 Rhodes
Donald Holden, firstname.lastname@example.org
Office hours: Sundays 12:00-2:00pm, 455 Rhodes
Kelly Patwell, email@example.com
Tuesdays and Thursdays, 1:25–2:40, 407 Phillips
455 Rhodes, the computer graphics instructional lab (part of csuglab)
This class, which expects that you've taken a basic graphics class already (CS465, for those who took it here), explores the algorithms and techniques used for interactive graphics---when images need to be displayed at many frames per second. The exact topics are subject to change, but we will cover graphics processors (GPUs) and how to use them effectively; texture maps and their many uses; spatial data structures for culling and other queries; level-of-detail techniques; techniques for real-time animation; and user interaction. The course is fairly practical in nature, with a focus on getting things to work and making them fast.
The coursework consists of:
- implementing several programming assigments to gain experience with basic techniques,
- taking a midterm exam, and
- proposing, developing, and implementing a computer game for your final project, in teams of two to four. The focus is on good graphics, not necessarily good games.
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.
Grading and late assignments
Your final grade will be computed from the grades on the assignments, project, and exam. The assignments will account for 40% of the grade, the project will account for 40%, and the exam will account for 20%.
Programming assignments are due at 11:59 pm on the due date (normally Tuesday) and are accepted with a late penalty until 11:59 pm two days after the due date (normally Thursday). Programs are accepted late as follows:
- Hand in by late deadline: 10% off score (about 1 letter grade)
- Hand in within 1 week of due date: graded pass/fail; pass receives 50/100
- More than 1 week late: no credit
Assignments that are handed in under option 2 will not be graded carefully and may be returned very late. That option is just intended to give you a chance to reduce the effect of zeros averaged into your grade.
For the programming assignments you are welcome to implement extra features. Don't expect large numbers of extra credit points—the idea is just to encourage you to have fun exploring the material in more depth.
Some ground rules:
- The default behavior of your program must always be a correct implementation of the required features. The presence of extra features must not interfere with correct operation—so include switches to turn on extra features if they change the basic behavior in any way.
- You can only get extra credit if you score at least 95/100 on the basic requirements.
- You can't get more than 10 points of extra credit on any one assignment.
The principle is that an assignment is an academic document, like a journal article. When you turn it in, you are implying 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 the material of this class among yourselves in general terms. But when it comes to the details of the assignments, you need to be working independently. In particular, it's never OK for you to see another team's code for a programming assignment.
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, that's fine, but it's imperative that you credit that fact in your writeup or in a comment in your code. Otherwise you would be falsely claiming to have invented the idea yourself.
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.