| Name: | Warren R. Carithers |
| Office: | 3617 Golisano (70-3617) |
| Phone: | (585) 475-5393 |
| Email: | wrc AT cs.rit.edu |
The prerequisite for this course is one of the following courses:
These are prerequisites, not corequisites - to succeed in this course, you should have already passed one of these courses, or their equivalents. Taking it at the same time as CG2 is not sufficient! See me immediately if you are missing the prerequisites, or you may be dropped from CG2 without further warning!
There is no required textbook for this course.
There are a number of textbooks which cover this area; here are two of them:
Ray Tracing from the Ground Up, Kevin Suffern, AK Peters, 2007.
Physically Based Rendering: From Theory to Implementation, second edition, Matt Pharr and Greg Humphreys, Morgan Kaufmann, 2010.
Neither of these books are required, and lecture material will not be based on either book.
In Computer Graphics, much like many other areas of Computer Science, the best way to learn is by doing. Whereas the theory of image synthesis will be discussed in the lectures, the real learning occurs when implementing this theory into code. Thus, this course relies heavily on programming tasks for grading.
The final grade will be determined using the following weights:
| 40% | Programming Assignments | |
| 40% | Project | |
| 20% | Readings |
The programming assignments will focus on two major areas: Ray Tracing and Procedural Shading. Starting with the first week, assignments will be given (roughly) on a weekly basis. In most cases, the assignment will be due the following week. Each of the assignments will build upon the work done on the previous assignments.
Unless otherwise specified in the assignment, with the exception of the final submission of materials, programming assignment submissions are posted to a web page you will set up for your submissions, with an email message to me announcing that they have been posted and including the URL for the submission.
Final programming assignment materials will be submitted electronically
via the try command on the CS systems.
See the
programming assignment specification
web page for full details of submission requirements.
A quarter-long project that illustrates in-depth knowledge of one aspect of the image synthesis pipeline as presented in the course. Students' choice of project should reflect their interests and their motivation for taking this course. The intent of the project is to provide students with the opportunity to undertake a significant task in computer graphics of their own choosing.
Team projects are acceptable; however, the complexity of the project should reflect the number of members of the team, and all team members are expected to contribute equally to the final project.
Each student (or team) will be expected to give a short (~15 minutes) presentation on his/her/their project during the last week(s) of the quarter and finals week.
Final project materials (including all code and required documentation)
will be submitted electronically
via the try command on the CS systems.
See the
project requirements
web page for full details of submission requirements.
In order to get used to reading the Computer Graphics literature, students will also be required to submit short summaries of selected papers. Students may choose the papers they wish to summarize from the Reading List; however only one paper per topic should be chosen.
Paper summaries must be submitted in printed (hardcopy) form at the beginning of class on the lecture date associated with the topic. See the reading summary specification web page for full details of submission requirements.
Undergraduates are required to submit one paper summary per week in weeks 2 through 9 of the quarter.Academic dishonesty will be dealt with in accordance with DCS and RIT policies.
RIT's
Honor Code
(section 1 of the
RIT Students Rights and Responsibilities handbook).
A general statement that sets standards of behavior for all members of
the RIT community.
RIT's
Academic Honesty Policy
(section 18 of the
RIT Students Rights and Responsibilities handbook).
Defines the basic forms of academic dishonesty (cheating, duplicate
submission, and plagiarism) and explains the official RIT policy
regarding academic dishonesty.
The
DCS Policy on Academic Integrity.
Explains the official Department of Computer Science policy regarding
incidents of academic dishonesty.
RIT is committed to providing reasonable accommodations to students with
disabilities.
If you would like to request accommodations such as special
seating or testing modifications due to a disability, please contact the
Disability Services Office.
It is located in the Student Alumni Union, Room
1150; the Web site is
www.rit.edu/dso.
After you receive
accommodation approval, it is imperative that you see me during office
hours so
that we can work out whatever arrangement is necessary.
Disclaimer: Normally, the number, type, and relative weights of assignments will not change from those specified in the syllabus and other course documents. However, I reserve the right to make changes to these or any other facet of the course, at my discretion, based upon the events of the quarter; if such a change must be made, you will be notified in class, via electronic mail, and on my web page for the course.
Coursework: Unless otherwise specified in the assignment, all work you submit for grading must be your own. Code or ideas (specific algorithms, optimizations, etc.) obtained from or inspired by other sources must be properly attributed.
Due dates: I select due dates for assignments in order to provide adequate time to complete the assignments, while allowing sufficient remaining time in the quarter to complete the remaining assignments. Should it become necessary, I reserve the right to change due dates; this, in turn, may require modification of due dates for other assignments during the quarter, or (in some cases) elimination of some assignments.
System downtime on or near the due date for an assignment is not usually grounds for an extension. An exception to this is extended system downtime (on the order of multiple days, not just hours); if this occurs, I may consider modifying a due date, but this is not guaranteed.
Documentation and Programming Style: I expect students to follow some reasonable form of programming style. I don't mandate a specific style; for the most part, it's more important that your code be neat, clear, and (above all) consistent. Here are the major things I'm looking for:
An example style standard for C++ from CS4 can be found online in HTML, PDF, and PostScript form.
Warning: This course requires a significant amount of out-of-class work. I strongly suggest that you very carefully consider whether or not you should take any other courses that have similar workloads along with it.
Withdrawing:
During the add/drop period (the first seven calendar days of the quarter),
you may drop this course and it will disappear from your transcript.
After that time, you can only withdraw from the course; the course will
appear on your transcript with a grade of W.
Deadline to add/drop: Sunday, December 2, 2012
Deadline to withdraw: Friday, February 1, 2013
Submitting assignments: Submission requirements for each assignment will be given in the description for the assignment. Submissions for reading summaries must be made in printed form; all other submissions are electronic. Unless otherwise indicated in the assignment, assignments are due as follows:
Item Form Due Reading summaries hardcopy at the beginning of class on the date associated with that item Checkpoint materials timestamp of delivery to my system mailbox no later than 11:59:59pm on the specified due date Final submissions electronic via tryby 11:59:59pm on the specified due date
Any day of the week is a valid due date. DO NOT slide assignments under my office door, or put them in the bin on the wall outside my office - in both cases, I may never see them! If you cannot attend class on a day when you have a reading summary due, you may turn it in during the previous class session, during one of my office hours prior to the due date, or at the main CS office (GOL 3005); I will not accept electronic (emailed) copies without prior approval.
Assignment of final grades:
|
I use a traditional 90/80/70/60 percentage-based grading scale in this class.
I reserve the right to alter these division points as I see fit at the end of the quarter if I believe it to be necessary, based on my overall evaluation of individual or class performance and effort. |
|
Grading:
This is not an introductory course. Think about what this should mean to you. You will be expected to incorporate all you have learned so far into this course; i.e., you will lose points for not following assignment instructions, for submitting code that is sloppy, undocumented or unstructured, etc.
It is extremely important to continue to make progress as the course progresses. Late deliverables will be penalized 10% for each day late. There is an exception to this rule: if you forsee any problems with meeting deliverable deadlines, and see me well in advance (at least one week) of the deadline that might be missed, we can attempt to work out alternate arrangements.