Policies
Grading Scheme
The tentative grading scheme will be:
- 45%: Programming assignments
- 30%: Quizzes
- 15%: Final project
- 10%: Engagement
Textbook
The required textbook for the class is Fundamentals of Computer Graphics, by Shirley and Marschner, 3rd edition or newer. There will be required reading from this book each week to supplement the material discussed in lecture.
Lectures & Coursework
For the majority of the quarter, coursework will consist of lectures, in-class quizzes, and pre-defined programming assignments. I will try to post slides online after lecture.
Graduate Credit & "Hacker Points"
In general, the coursework will be largely the same between grad and undergrads, but I will grade graduate work more strictly. Sometimes the programming assignments will include extra portions that will be required for students enrolled in the graduate version (CS 177), and may count as extra credit for those enrolled as undergrads (CS 77). We will grade these separately and grant extra credit only if the foundation of the original assignment has been completed correctly (e.g., at least 90% of the original requirements/grade are met). Extra credit will not exceed 20% of the overall grade.
Occasionally we will include the possibility to earn “Hacker Points”. Hacker Points are “underpriced” bonus points for the daring few. Sometimes this might require implementing something that was not taught in class or something that requires some additional research and creative thinking. Hacker Points are awarded only to students who implemented all of the remaining assignment. In addition Hacker Points are either fully awarded or not awarded at all.
Submission Deadlines & Grading
You will turn in your code through Canvas, and each assignment will have a strict deadline. We will strive to post programming assignment grades on Canvas within roughly two weeks of the due date. Some of the assignments will build off of each other, so you do not want to fall behind!
Late policy:
- < 1 day late: max 75%
- < 2 days late: max 25%
- >= 2 days late: 0%
Exception to this rule might be made for special cases only if the professor is informed well before (e.g. >1 week, not a couple days before) the deadline, or in the case of a medical emergency, and at the professor’s sole discretion.
It’s up to you to check that assignments have been successfully submitted to Canvas; if there are any problems, you must notify course staff by email immediately (not weeks later, claiming “Canvas ate it”).
Piazza & Canvas
We will be using Canvas for lab assignments and grades and Piazza for class discussion.
To set up Piazza, first log on to Canvas. This should take you to the Canvas page for this class, but if not, select “Computational Photography (GFA15)” from the “Courses” dropdown. Then, click on “Piazza” on the left side and register using your full @dartmouth.edu email address and a unique password (don’t re-use your Dartmouth NetID password!).
If you have registered with Canvas using your full @dartmouth.edu address before, then your account should already be properly set up. If you registered using a different email, you’ll need to add your @dartmouth.edu address to your Piazza account settings for it to link properly with Canvas.
E-mail the course staff for Piazza access if you are auditing or yet to register.
Piazza is the place for you to ask questions and get help. Unless your question reveals part of the solution to a homework problem, please post it to Piazza. This allows your classmates to benefit from seeing the question and subsequent instructor response. We encourage you to contribute answers to other people’s threads, or initiate open-ended discussions on topics relevant to the class.
Note that activity on Piazza will count towards your participation grade. Anonymous (to other students) posting is enabled.
Academic Integrity and Working Together
In short: You are welcome and encouraged to chat about assignments with other students in general terms, but code must be written on your own.
I assume the work you hand in is your own, and the results you hand in are generated by your program. You’re welcome to read whatever you want to learn what you need to complete the work, but I do expect you to build your own implementations of the methods we are studying.
If you’re ever in doubt, just include a citation in your code and report indicating where some idea came from, whether it be a classmate, a website, another piece of software, or anything—this always maintains your honesty, whether the source was used in a good way or not. The same basic principle applies to your presentations. Any material you reuse from outside sources must be properly attributed.
The example scenarios below (adapted from Tom Cormen's discussion of the honor principle) should give you a more concrete idea of what is and is not acceptable.
Shared/Public Computers
If you are working on a public lab machine, or any other computer that someone else in the course might use, be sure to remove your code from the computer when you are all done. If you leave your code on a computer, and someone else can see it, then they can copy it and hand it in. It’s often difficult to tell who was the copy-ee and who was the copy-er. Avoid this situation.