This is a fantastic introduction to graphical programming. Most OpenGL tutorials that I've seen only cover the basics of how to set up the framework and put triangles on the screen, so I was pleasantly surprised to find this introduction that not only covers the latest version of OpenGL, but the entire rendering pipeline from start to finish with explanations of how and why the underlying matrix math works. It also covers more advanced topics like lighting, importing meshes, and animation. With its breadth and depth, I think this book could be a pretty good syllabus for a coursera class.
It does skimp on the explanations for some math concepts - quaternions and versors stand out as a topic where the functionality and implementation is explained in detail, but the underlying math is kind of glossed over. That's fine, though; it's not a linear algebra textbook. It also assumes a basic familiarity with C++, but it doesn't use any object-oriented concepts so you really just need to understand the syntax and memory management.
All in all, this is far and away the best introductory primer for graphical programming that I've been able to find. I'd recommend it to anyone who is interested in 3D graphics.