CSC 333
Computer Graphics and Image Processing

Instructor: Dr. Stephen Bloch

Fall, 2007

Most of this page has been copied from the last time I taught the course; not all the links work yet, but they will by the time classes start.

This course meets from 9:25-10:40 AM on Tuesdays and Thursdays in Science 227. The last time I taught this course was Fall 2005.

Subject matter

This course is primarily about computer graphics: using a computer to generate images, especially generating two-dimensional images on a computer screen which nonetheless "look" three-dimensional to the human eye. This requires some mathematics, particularly linear algebra.

This course is intended primarily for students majoring or minoring in computer science or information systems. It assumes MTH 142 (Calculus II), MTH 253 (Linear Algebra), and CSC 270 (Survey of Programming Languages) as prerequisites. In practice, we won't use much calculus; we will, however, use linear algebra and the C/C++ programming languages (as well as Java, perhaps).

If you're looking for a course on using Adobe PhotoShop, Quark XPress, or other pre-written applications to create graphics, you're in the wrong place; the Art department offers such courses.

If you're looking for a course on writing programs with graphical user interfaces, menus, buttons, and so on, we will address those issues from time to time, but they're not the central focus of this course; see CSC 233.


The textbook will be Fill this in!

This semester, we'll use the graphics package OpenGL (see online documentation). For more documentation, see the Red Book (user's guide) and the Blue Book (reference manual).


Development Environments

I recommend Eclipse, a professional-level development environment which is available for free download and has "plug-ins" available to work with several different languages: Java, C, C++, Prolog, etc. It should come with Java pre-installed. If you want to use it with C/C++, you'll need to install a C/C++ compiler for Eclipse to use. On Windows, probably the best choice is Borland's free C++ compiler. Downloading this requires registration, but no money. By itself, it's just a fast, reliable, command-line-driven C++ compiler, but Eclipse knows how to invoke it on your behalf.

You can also use Microsoft's Visual C++ IDE. This has the disadvantage that it's a Microsoft product, and therefore knows what you want to do better than you do, but if it works for you, great.

Software support

I've set up some forms for entering and viewing PSP data. You may use these forms to record defects, time allotted, time spent, and program size, but I won't require this information. To use the forms successfully, make sure your browser accepts JavaScript and cookies. (For those with a moral opposition to cookies, I assure you that they're all "temporary" -- they disappear as soon as you quit the browser.) (For more information about PSP, see the PSP page at Carnegie-Mellon or read Watts Humphrey's Introduction to the Personal Software Process.)

Last modified:
Stephen Bloch /