A really interesting computer graphics class with an amazing professor. In this class, we are given a glimpse to the realm of geometry modeling and geometry processing. As we live in the age that artists and product designers utilize 3D software such as Rhino or Maya or ZBrush, to digitally model their products before actualization into tangible objects, or to model cartoon characters that would appear in animated films, this class provides a great introduction into the technical aspects of how these 3D softwares work or should work. We study the fundamentals down to the level of so-called NURBS curves and surfaces, geometry processing performed on triangle meshes, and subdivision surfaces -- each with extensive mathematical backgrounds that consider how these structures give artists and manufacturers computational advantages such as desired degree of smoothness no matter what shape of the curves/surfaces are formed. It is a really fun experience to learn how design softwares are actually made of, and we also had a guest speaker from the industry to discuss how he actually uses the software to design real-world products.
So the class covers mainly three parts: the fundamentals of B-Spline curves and surfaces (as well as NURBS and Rational form), geometry processing (in particular, mesh data structures and mesh simplification algorithms), and Subdivision surfaces (e.g., Catmull-Clark). Each topic has extensive assignments associated with it to help us see how things are implemented. Some are really challenging, but Prof. Reed would give us extensions if needed. So we always have time to refine our assignments as possible. I'd say I'm very proud of the code I have done for this class, since they never look like a mess compared to other classes that I sometimes rush things through just to make it work. It's so organized, and beautiful.
Speaking of the professor, he is probably one of the best professors I've had for Computer Science class, personality-wise. He really took time to answer individual emails and discussion threads. He modified his assignments plan as the semester went, so we were given more challenging works since we did well as a class on the first few assignments, which helped me to learn even more. He was very approachable during his office hours or after class. So in a sense, you never feel isolated or helpless in this class. The only caveat is that his lectures sometimes may be a bit dry, but bare with them, and you will go a long way.
So, even with a slight interest in computer graphics in general, I'd recommend you to come and take the class, and you will be amazed how much you learn and have fun at the end.