Shader programming is fast becoming an essential skill for computer graphics students. Using shaders, programmers have the flexibility to perform amazing vertex-by-vertex and pixel-by-pixel effects, combined with the parallel-processor performance to use shaders in interactive graphics. The emergence of shader programming is having profound effects on all areas of computer graphics including science, engineering, art, animation, and gaming. Because it is new, experience with teaching it is scarce. We taught such a class at OSU last spring, and thus have experience with teaching the topic, along with making up classroom examples and assignments. As part of that class, we developed a hands-on program called glman. glman allows students to create a shader scene description file which not only creates the 3D scene, but creates an interactive user interface to adjust shader parameters. Our experience is that glman is flexible enough to demonstrate and experiment with many shader concepts, and creates a fast and fun learning curve for the students.