CPSC 324:
Fundamentals of Computer Graphics

   Department of Mathematics and Computer Science
   Hobart and William Smith Colleges

   Fall, 1996.

   Instructor:  David J. Eck.

   Monday, Wednesday, Friday, 12:00 -- 1:10.
   Room Napier 102.
   Note:  Time and Place may be changed.

About CS324

Computer graphics is simply the art/science of producing and manipulating images on a computer. It is one of the most visible and exciting aspects of computer science. And unlike some fields of computer science, it has a rigorous foundation in theory and mathematics. In this course, I will try to cover some of that foundation, without losing sight of the fun and excitement.

The text for this course will be Introduction to Computer Graphics, by Foley, van Dam, and Feiner. This book is an abridged and updated version of the mind-numbingly complete classic, Computer Graphics: Principles and Practice, 2nd edition, which I used six years ago, the last time I taught the course. Even the abridged version would be plenty for a two-semester course, so we will not cover the entire book.

Also, as a first assignment (and at the risk of appearing egotistical), I am asking you to read the chapter on graphics from my introductory computer science text, The Most Complex Machine. This chapter gives an overview of much of the material we will cover in the course.


There will be two in-class tests. They are scheduled for Friday, October 11 and Monday November 11. (These dates might change, depending on how the course progresses.)

There will be no final exam.

Programming Assignments

I will ask you to write six or seven programs of vaying degrees of complexity. Although it is possible that I might allow you to work in groups on one or two of them, most of the programs will be individual assignments. I encourage you to ask me for advice, hints, and help on the individual assignments. But you are not permitted to work with other students or discuss the details of your programs with them. You should also avoid leaving copies of your work where other students might find it. In particular, do not post the source code for your programs on the Web while there is still a chance that other students are still working on the same project.

Programming assignments that are turned in up to one week late will lose 15% of their grades as a penalty. Programs will not ordinarily be accepted later than one week after they are due. Even if your program is not complete or not working properly, you should still turn it in to receive partial credit.

Final Project

As a final project for the course, I will ask you to choose some advanced topic in computer graphics and investigate it. The topic should be something that we do not cover, or cover only briefly, in class. Each person in the class will choose a different topic.

You will write a short paper (about 3 to 5 pages) on your topic, and you will either write a program or do some other project related to the topic. Details are subject to negotiation. During the last week of the course, you will do an in-class presentation on your project.

Some possible topics include: Ray tracing, hidden surface removal algorithms, VRML, Quickdraw 3D, animation, graphics file formats, texture mapping, and fractals. I will ask you to select a topic by the end of the sixth week of the term.


Your grade for the course will be computed as follows:

            First Test:        20%
            Second Test:       20%
            Programs:          40%
            Final Project:     20%

Office Hours and E-mail

My office is room 301 in Lansing Hall. My office phone extension is 3398. I am on campus most days, and you are welcome to come in anytime you can find me there. I will announce regular office hours (when I promise to try my best to definitely be in my office) as soon as I schedule them.

My e-mail address is ECK (or eck@hws.edu from off-campus). E-mail is good way to communicate with me, since I usually answer messages the day I receive them.