Date: Tue, 14 Jan 1997 23:11:24 GMT
Server: NCSA/1.5.1
Last-modified: Thu, 31 Aug 1995 21:40:00 GMT
Content-type: text/html
Content-length: 4544
CS 155 Syllabus, Fall 1995
Computer Science 155
Computer Graphics
Syllabus, Fall 1995
Professor: Ran (``RON'') Libeskind-Hadas
Office: Olin 245
Phone: x18976
E-mail: hadas@cs.hmc.edu
Course Assistant: Darin Grant
E-mail: dgrant@cs.hmc.edu
What Is This Course About?
This course covers the foundations of 2- and 3- dimensional computer
graphics. In the first part of the course we will develop the
theory and implement a simple 3-dimensional graphics system
from scratch. In the remainder of the course we will use the
OpenGL graphics library to implement complex 3-dimensional scenes
employing smooth curves and surfaces, color, lighting, atmospheric
effects, textures, etc. The last four weeks of the course will
be spent using these new tools in an independent or group project.
Is This Course for You?
OF COURSE! Alright, seriously,
the prerequisites for this course are CS 60 and Math 73 (linear algebra).
There will be a considerable amount of programming in this course
using your choice of C or C++. Most of the programs will involve
linear transformations and elementary concepts from linear algebra
(matrix multiplication and inversion, inner products, and cross products).
Texts
The textbook for this class is:
Introduction to Computer Graphics by Foley, Van Dam, Feiner,
Hughes, and Phillips, Addison-Wesley, 1994.
In addition, you will need a copy of:
The OpenGL Programming Guide by Neider, Davis, and Woo,
Addison-Wesley, 1992.
Finally, the OpenGL Reference Manual is convenient to have,
but is not required. We will have a copy available in the the
graphics lab.
Assignments and Grades
For the first two-thirds of the course, there will be programming
assignments roughly every 10 days. Periodically, there will also
be short written homework assignments.
The last four weeks of the course will be devoted to a
project of your choice. You will be given the option of working individually or
in
a group of up to 3 people. The project will be presented to the class
at the end of the semester. There will be no exams in this class. The grade
will be determined as follows:
Programming and Homework assignments: 70%
Project: 30%
Important Homework Policies
Grading Policy. Homeworks will be graded on a scale
from 0 to 10. We'll try to be very clear about what is required to
get 10 points. If you don't get 10 points, we'll also try to clearly
explain why points were deducted. If you ever feel that you were graded
unfairly, don't hesitate to come and talk to me and we'll look at it together.
Late Policy. There will be three deadlines associated with
each homework assignment. If your homework is submitted before the
Early Deadline, you will receive a 10 percent bonus on the
assignment. If your homework is submitted after the Early Deadline
but before the Regular Deadline, you will receive regular
points. If your homework is submitted after the Regular Deadline but
before the Late Deadline, 10 percent will be deducted from your
grade. These deadlines will generally be 24 to 48 hours apart. Homework
received after the Late Deadline will not receive credit.
Collaboration Policy
You are welcome and encouraged to discuss an approach to a problem and
you may, of course, help one another to debug code. The only serious
infraction is copying another person's code.
Topics
- Graphics system architectures and technologies.
- Raster graphics and scan conversion algorithms.
- 2-D transformations.
- 3-D transformations, viewing in 3-D, projections,
coordinate systems, and the 3-D rendering pipeline.
- Object hierarchy.
- Parametric cubic curves and surfaces.
- Color and lighting.
- Blending and antialiasing.
- Texture mapping.
- Fractal models.
- Recursive ray tracing.