OpenGL SuperBible , 2nd Edition by R. S. Wright Jr. and M. Sweet, Waite Group, 1999. The course involves geometric programming and reasoning. We will give an overview of linear algebra in class, but if you are unfamiliar or fuzzy in your understanding of concepts such as vector spaces, linear independence, bases, linear transformations, determinants, and inner products, I would recommend that you review this material. The course involves some nontrivial programming projects. Although a specific knowledge of data structures is not essential, I will assume that you are capable of writing and debugging moderately sophisticated programs.
Homeworks are due at the start of class.
Programming assignments will typically be due at midnight of the due date. Homework assignments are to be written up neatly and clearly, and programming assignments must be clear and well-documented. If you develop your program on some other platform, it is your responsibility to see that it can be compiled and executed on one of these machines by the due date. If not, you will be asked to make whatever changes are needed and assessed an appropriate late penalty. Some homeworks and projects will have a special challenge problem.