CS 318 Lectures Assignments Exams Links

CS 318: Computer Graphics

Fall 2003

1:00 Monday/Wednesday/Friday in 1320 DCL

Prof. Yizhou Yu (Instructor)
yyz@cs.uiuc.edu
3214 DCL
Office Hours: Wednesday 4:00 – 5:00 pm
Andrea Whitesell (Secretary)
whitesel@uiuc.edu
3120 DCL

 

Nathan Bell (TA)
wnbell@uiuc.edu
L425 DCL
Office Hours: M Th 4:00-5:00pm
Shen Dong (TA)
shendong@uiuc.edu
L425 DCL
Office Hours: Tu 4:00-5:00pm, F 2:00-3:00pm

Overview

In this course, students will learn the basic mathematical tools and computational techniques for modeling and displaying three-dimensional geometric objects. Students are expected to have a background in basic data structures, programming in C++, analytic geometry, vector calculus, and linear algebra. More specifically, the prerequisites for this course are:

  1. CS 225 or CS 300,
  2. Math 225 or Math 315 (linear algebra), and
  3. Math 242 (vector calculus)
An existing knowledge of OpenGL is helpful, but not required.

Textbooks

The required text for this course is

Interactive Computer Graphics: A Top-Down Approach using OpenGL, Edward Angel.
Third Edition. Addison-Wesley. [Amazon]

The programming projects assigned in this course will make substantial use of the OpenGL graphics API. If you purchase the required text through the University bookstore, you should also receive a free copy of

OpenGL: A Primer, Edward Angel.
Addison-Wesley. [Amazon]
We also strongly recommend that you obtain a copy of the following book:
OpenGL Programming Guide, OpenGL ARB, Woo et al.
Third Edition. Addison-Wesley. [Amazon]
It contains a great deal of useful information on writing OpenGL programs and on computer graphics in general.

Grading Policies

Final grades in this course will be based on performance on (1) written homeworks, (2) programming projects, and (3) exams. Grades in these individual areas will be weighted as follows:

Homeworks15%
Midterm Exam10%
Final Exam25%
Projects50%
Final letter grades will not be computed "on the curve". Instead, they will be determined on a fixed scale. You are not competing with other students for grades; you are trying to master the course material. In principle, everyone in this class could fail, and similarly, everyone could earn an A.

We will total grades as indicated by the weighting scheme above. Each student will have earned some percentage of the total possible points. This percentage will determine a minimum guaranteed grade, as indicated in the following table:

% Total      Minimum Grade
90-100 A
80-89 B
70-79 C
58-69 D
This table indicates minimum guaranteed grades. Under certain limited circumstances (e.g., an unreasonably hard exam), we may select more generous ranges.

This course contains both undergraduate and graduate students. We expect to grade both undergrads and grads on the same scale, as past experience shows that both groups perform at roughly equal levels. However, if a significant performance disparity develops, we may choose to grade the two groups separately.

Please remember that students are bound by the University honor code on academic integrity in regard to all work related to this course. Any student found to be violating this code will be subject to disciplinary action.

Labs

This course will be using the Windows 2000 workstations located in the CSIL labs in room 1275 DCL. You may also be interested in using the Linux machines in 1265 DCL. Other CSIL machines do not have 3-D graphics hardware and will probably be too slow to comfortably run your projects.

Assignments

There will be four programming projects assigned in this course. As stated above, they will account for 50% of your final grade. The relative weighting of the individual projects will be as follows:

MP125%
MP225%
MP325%
MP425%

We expect there to be 3-4 written homeworks assigned during this course, which will cumulatively account for 15% of your final grade. Unless noted otherwise, they will all count equally.

After a project or homework is assigned, important clarifications may be made to the directions on the initial assignment. These clarifications will be posted on the class newsgroup uiuc.class.cs318. It is your responsibility to monitor this newsgroup in case any important announcements are made.