Course: CMSC 23700 Introduction to Computer Graphics Instructor: John Reppy Ry 259 TAs: Varsha Dani Ry 162A Jonathan Riehl Hinds 024 Lecture: TR 10:30-12:00 Ry 251 Lab 1: T 3:00-4:30 Mac Lab Lab 2: R 3:00-4:30 Mac Lab Office hours: 
Monday 4-5 Mac Lab Tuesday 5:30-6:30 Ry 162A Wednesday 4-5 Mac Lab Thursday 2-3 Hinds 024 Mailing list: cmsc23700@mailman.cs.uchicago.edu mailman.cs.uchicago.edu/mailman/listinfo/cmsc23700
This course aims to provide an introduction to the basic concepts and techniques used in 3D computer graphics. The focus is on real-time rendering techniques, such as those found in computer games. These include: coordinate systems and transformations; the graphics pipeline; basic geometric algorithms; texture mapping; level-of detail optimizations; and shadows.
The course covers both the theory and practice of computer graphics. The lectures, homework assignments and exam will cover the more mathematical aspects of graphics, while the lab sessions and programming projects deal with translating theory into practice.
In addition, there are two supplementary texts. The first of these covers material that you will need to know for the programming projects.
Title: Fundamentals of Computer Graphics Author: Peter Shirley Publisher: A.K. Peters, 2002 Errata: www.cs.utah.edu/~shirley/fcg/errata
The programming assignments will be written using the C programming language (specifically, the C99 version). If you do not have a good C manual, we recommend the following:
Title: OpenGL -- A Primer Author: Edward Angel Publisher: Addison Wesley, 2002 Errata: www.cs.unm.edu/~angel/BOOK/PRIMER/errata
Title: C -- A Reference Manual (5th Edition) Authors: Samuel P. Harbison and Guy L. Steele Jr. Publisher: Prentice Hall, 2002 Errata: www.careferencemanual.com/errata.htm
Grading for the course will be based on:
Percentage Component 25% Homework assignments 25% Midterm Exam (11/18) 50% Projects
The following is a list of the handouts that have been distributed in class with links to PDF files. As necessary, we will post revisions here.
The University of Chicago is a scholarly academic community. You need to both understand and internalize the ethics of our community. A good place to start is with the Cadet's Honor Code of the US Military Academy: "A Cadet will not lie, cheat, or steal, or tolerate those who do." It is important to understand that the notion of property that matters most to academics is ideas, and that to pass someone else's ideas off as your own is to lie, cheat, and steal.
The University has a formal policy on Academic Honesty, which is somewhat more verbose than West Point's. Even so, you should read and understand it.
We believe that student interactions are an important and useful means to mastery of the material. We recommend that you discuss the material in this class with other students, and that includes the homework assignments. So what is the boundary between acceptable collaboration and academic misconduct? First, while it is acceptable to discuss homework, it is not acceptable to turn in someone else's work as your own. When the time comes to write down your answer, you should write it down yourself from your own memory. Moreover, you should cite any material discussions, or written sources, e.g.,
Note: I discussed this exercise with Jane Smith.
The University's policy, for its relative length, says less than it should regarding the culpability of those who know of misconduct by others, but do not report it. An all too common case has been where one student has decided to "help" another student by giving them a copy of their assignment, only to have that other student copy it and turn it in. In such cases, we view both students as culpable and pursue disciplinary sanctions against both.
For the student collaborations, it can be a slippery slope that leads from sanctioned collaboration to outright misconduct. But for all the slipperyness, there is a clear line: present only your ideas as yours and attribute all others.
If you have any questions about what is or is not proper academic conduct, please ask your instructors.