This course meets from 9:00-9:50 AM on Mondays, Wednesdays, and Fridays in Science 227.
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 main textbook will be Interactive Computer Graphics, by Edward Angel, who has also provided a variety of on-line supplements and resources, including on-line programming examples.
You may also want to use Angel's OpenGL: A Primer, which doesn't explain principles of computer graphics, but is more useful as a reference to OpenGL. The programs in this book are available on the web.
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).
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.
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.