About CS465
Professor:
Steve Marschner, srm@cs.cornell.edu
Office hours: WF 3:30–4:30, 5159 Upson
TAs:
Andy Scukanec (head TA),
ags@cs.cornell.edu
Greg Fodor, gf24@cornell.edu
Andrew Butts, ajb64@cornell.edu
Pet Chean Ang, pa54@cornell.edu
Time and place:
MWF 2:30–3:20, B17 Upson
Office Hours:
Andy Scukanec: R, 1:00 - 4:00 pm, 5162 Upson
Andrew Butts: F 12:30 - 2:30 pm Rhodes 453, Sun* 4pm-6pm
Pet Chean Ang: Sat* 10:00 am - 12:00 pm, TR 2:00 - 4:00 pm, Rhodes
453
* Only weekends before programming assignments are due
Textbooks:
Shirley, Fundamentals of Computer Graphics (required)
Foley et al., Computer Graphics: Principles and Practice (supplementary)
Coursework
Assignments
There will be seven assignments, each (except the last) consisting of a written-only homework and a programming exercise. The homework is generally due a week after you get the assignment, and the programming exercise is generally due a week after that. See the schedule for the exact due dates.
The homweworks may be handwritten or printed and are to be turned in in class. They will involve things like working out numerical or other short answers (which should always be backed up by some brief reasoning), answering "why" questions, and drawing graphs or other pictures.
The programs must be written in Java using the framework code we'll provide. The CSUGLab in Rhodes 453 is set up to support this course. You are free to work on whatever computer you like, using any programming environment, but your code must compile and work using the basic command-line tools on the machines in our lab. You will hand your source code on line. Sometimes you will be asked to answer some discussion questions, which you should do in a comment at the top of your main source file.
Exams
There will be two evening prelims and a final exam:
- Prelim I: 7:30 pm on 7 October in Thurston 205
- Prelim II: 7:30 pm on 4 November in Hollister 110
- Final: 12:00 noon on 18 December
Together the two prelims cover the first 2/3 of the course. The final is comprehensive, so it covers all material from the whole course.
All three 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.
After the fact, you can find the exams and solutions on the exams page.
Policies
Grading and late assignments
Your final grade will be computed from the grades on the assignments and exams. The homeworks will account for 50% of the grade, and the three exams will account for 50% (15% for each prelim and 20% for the final).
Assignments are due at the start of class. Late assignments will be accepted for reduced credit as follows:
- Hand in before start of next class:
grade = base_grade * 0.90
- Hand in before start of second class:
grade = base_grade * 0.75
- After that:
grade = 0
Extra credit
For the programming exercises you are welcome to implement extra features for extra credit. Don't expect large numbers of 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 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.
Extra credit points will be tabulated separately, and the overall grading curve will be established without extra credit factored in. This means you don't need to do extra credit to get a good grade—it is extra, after all!
Collaboration
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 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 alone. In particular, it's never OK for you to see another student's homework writeup or program code, nor to discuss the solutions to the specific problems in the homeworks.
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 homework 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 claiming to have invented the idea yourself, which would not be true.
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.
Steve Marschner (srm@cs.cornell.edu)