This article discusses the evolution of a single undergraduate computer graphics course over five semesters, driven by a primary question: if one could offer only one undergraduate course in graphics, what would it include? This constraint is relevant to many small and medium-sized colleges that lack resources, adequate expertise, and enrollment to sustain multiple courses in graphics that spread out its vast and evolving content. We strive to include material that would provide (1) a basic but solid theoretical foundation, (2) topics, data structures, and algorithms that are most practically used, (3) ample experience in actual graphics programming and (4) a basic awareness of advanced topics. We have a secondary objective of relating and complementing computer graphics knowledge and programming with topics in other computer science courses to provide a more cohesive understanding to our students. We achieve both objectives by using an "early-scenegraphs" approach to progressively create graphics applications that use XML-based modeling and both pipeline-based and ray traced rendering. We report and analyze results that show how students were able to achieve more complex results within similar time periods while largely retaining prior average student performance in the course. Students also report higher rates of satisfaction with the course when it follows our proposed approach. Pedagogically our main contribution is an evolving blueprint for a single undergraduate CG course that offers flexibility to emphasize different aspects like modeling, rendering, etc. according to the instructor's and students' interests, while aligning the course better within the computer science curriculum especially when resources are limited.
ACM Reference Format:Shesh, A. 2013. Toward a singleton undergraduate computer graphics course in small and medium-sized colleges. ACM Trans. Comput.