Abstract
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.
- 3D Studio Max. 2012. http://usa.autodesk.com/3ds-max/.Google Scholar
- ACM CS Curriculum. 2008. http://www.acm.org/education/curricula/ComputerScience2008.pdf.Google Scholar
- Anderson, E. F. and Peters, C. E. 2009. On the provision of a comprehensive computer graphics education in the context of computer games: An activity-led instruction approach. In Proceedings of Eurographics (Education Papers) (Eurographics’09). 7--14.Google Scholar
- Angel, E. 2011. Interactive Computer Graphics: A Top-Down Approach with Shader-Based OpenGL 6th Ed. Google ScholarDigital Library
- Angel, E. and Shreiner, D. 2011. Teaching a shader-based introduction to computer graphics. IEEE Comp. Graph. Appl. 31, 2, 9--13. Google ScholarDigital Library
- Angel, E., Cunningham, S., Shirley, P., and Sung, K. 2006. Teaching computer graphics without raster-level algorithms. In Proceedings of the Technical Symposium on Computer Science Education (SIGCSE’06). 266--267. Google ScholarDigital Library
- Bouvier, D. J. 2002a. Assignment: Scene graphs in computer graphics courses. In Proceedings of the ACM SIGGRAPH Conference Abstracts and Applications (SIGGRAPH’02). 42--45. Google ScholarDigital Library
- Bouvier, D. J. 2002b. From pixels to scene graphs in introductory computer graphics courses. Comp. Graph. 26, 4, 603--608.Google ScholarCross Ref
- Bresenham, J., Laxer, C., Lansdown, J., and Owen, G. S. 1994. Approaches to teaching introductory computer graphics. In Proceedings of the ACM SIGGRAPH Conference Abstracts and Applications (SIGGRAPH’94). 479--480. Google ScholarDigital Library
- Cunningham S. 1999. Reinventing the introductory computer graphics course: Providing tools for a wider audience. In Proceedings of the Graphics and Visual Education Workshop (GVE’99). 50.Google Scholar
- Cunningham S. 2000. Powers of 10: The case for changing the first course in computer graphics. In Proceedings of the Technical Symposium on Computer Science Education (SIGCSE’00). 46--49. Google ScholarDigital Library
- Cunningham S. and Bailey, M. J. 2001. Lessons from scene graphs: Using scene graphs to teach hierarchical modeling. Comp. Graph. 25, 4, 703--711.Google ScholarCross Ref
- Cunningham S., Brown, J. R., Burton, R. P., and Ohlson, M. 1988. Varieties of computer graphics courses in computer science. SIGCSE Bull. 20, 1, 313--313. Google ScholarDigital Library
- Eberly, D. H. 2001. 3D Game Engine Design---A Practical Approach to Real-Time Computer Graphics. Morgan Kaufmann.Google Scholar
- Fink, H., Weber, T., and Wimmer, M. 2012. Teaching a modern graphics pipeline using a shader-based software renderer. In Proceedings of the Conference on Eurographics (Education Papers) (Eurographics’12).Google Scholar
- Gomez-Martin, P. P. and Gomez-Martin, M. A. 2006. Fast application development to demonstrate computer graphics concepts. In Proceedings of the International Conference on Innovation and Technology in Computer Science Education (ITICSE’06). 250--254. Google ScholarDigital Library
- Gribble, C. P. 2008. Ray tracing for undergraduates. ASEE Comp. Educ. J. 18.Google Scholar
- Grissom, S., Kubitz, B., Bresenham, J., Owen, G. S., and Schweitzer, D. 1995. Approaches to teaching computer graphics (abstract). SIGCSE Bull. 27, 1, 382--383. Google ScholarDigital Library
- Hitchner, L. E., Cunningham, S., Grissom, S. B., and Wolfe, R. 1999. Computer graphics: The introductory course grows up. In Proceedings of the Technical Symposium on Computer Science Education (SIGCSE’99). 341--342. Google ScholarDigital Library
- Hu, H. H. 2010. Teaching introductory computer graphics via ray tracing. J. Comput. Sci. Coll. 26, 2, 30--38. Google ScholarDigital Library
- IDEA Diagnostic Form Report. 2012. http://www.theideacenter.org/sites/default/files/InterpretativeGuideDiagForm.pdf.Google Scholar
- Jones, M. and Shesh, A. 2013. Scene graph creation and management for undergraduates. In Proceedings of the Conference of Eurographics (Education Papers) (Eurographics’13). 11--12.Google Scholar
- Klein, R., Hanisch, F., and Straber, W. 1998. Web-based teaching of computer graphics: Concepts and realization of an interactive online course. In Proceedings of the SIGGRAPH Conference Abstracts and Applications (SIGGRAPH’98). 88--93. Google ScholarDigital Library
- Kutner, M., Nachtsheim, C., Neter, J., and Li, W. 2004. Applied Linear Statistical Models 5th Ed. McGraw-Hill/Irwin.Google Scholar
- Linares-Pellicer, J., Carrasquer-Moya, E., Esparza-Peidro, J., and Mic-Tormos, P. 2010. Computer graphics for information system programmers. In Proceedings of the Conference on Eurographics (Education Papers) (Eurographics’10). 57--62.Google Scholar
- McDonald, J. and Luecking, S. 2002. Three alternatives for an introductory computer graphics sequence. In Proceedings of the Conference on Computer Graphics Education (CGE’02). 69--78.Google Scholar
- OpenSceneGraph. 2011. http://www.openscenegraph.org/.Google Scholar
- Owen, G. S. 1992. Teaching computer graphics using RenderMan. In Proceedings of the Technical Symposium on Computer Science Education (SIGCSE’92). 304--308. Google ScholarDigital Library
- Paquette, E. 2005. Computer graphics education in different curricula: Analysis and proposal for courses. Comp. Graph. 29, 2, 245--255. Google ScholarDigital Library
- QT: A cross-platform UI framework. 2011. http://qt.nokia.com/products/.Google Scholar
- Schweitzer, D., Boleng, J., and Graham, P. 2010. Teaching introductory computer graphics with the processing language. J. Comput. Sci. Coll. 26, 2, 73--79. Google ScholarDigital Library
- Schweitzer, D., Boleng, J., and Scharff, L. 2011. Interactive tools in the graphics classroom. In Proceedings of the International Conference on Innovation and Technology in Computer Science Education (ITICSE’11). 113--117. Google ScholarDigital Library
- Shirley, P., Sung, K., Brunvand, E., Davis, A., Parker, S., and Boulos, S. 2007. Rethinking graphics and gaming courses because of fast ray tracing. In Proceedings of the ACM SIGGRAPH Conference Abstracts and Applications (SIGGRAPH’07). Article 15. Google ScholarDigital Library
- Sung, K. and Shirley, P. 2003. A top-down approach to teaching introductory computer graphics. In Proceedings of the ACM SIGGRAPH Conference Abstracts and Applications (SIGGRAPH’03). 1--4. Google ScholarDigital Library
- The OpenGL Utility Toolkit. 2011. http://www.opengl.org/resources/libraries/glut/.Google Scholar
- The QT XML Module. 2011. http://doc.qt.nokia.com/5.0-snapshot/qtxml.html.Google Scholar
- Tori, R., Bernardes, Jr., J. L., and Nakamura, R. 2006. Teaching introductory computer graphics using java 3D, games and customized software: A Brazilian experience. In Proceedings of the ACM SIGGRAPH Conference Abstracts and Applications (SIGGRAPH’06). Article 12. Google ScholarDigital Library
- Trimble Sketchup. 2012. http://sketchup.google.com/.Google Scholar
- UnReal Technology. 2011. http://www.unrealengine.com/.Google Scholar
- Weiss, M. A. 2006. Data Structures and Algorithm Analysis in C++ 3rd Ed. Addison Wesley, 121--123. Google ScholarDigital Library
- Wolfe, R. 2000. Bringing the introductory computer graphics course into the 21st century. Comp. Graph. 24, 1, 151--155.Google ScholarCross Ref
Index Terms
- Toward a Singleton Undergraduate Computer Graphics Course in Small and Medium-sized Colleges
Recommendations
Hardware courses and the undergraduate computer science curriculum at small colleges
Hardware courses have always been a part of the undergraduate Computer Science (CS) curriculum at small colleges. However, these courses are often viewed by many faculty members either as a necessity to satisfy accreditation requirements or, at best, as ...
A combined introductory course on human-computer interaction and computer graphics
In this paper, we report on five years of teaching experience with our introductory course ''Graphical-Interactive Systems'', which covers basic topics of human-computer interaction and computer graphics for students in the third year of their major in ...
The content and role of the computer graphics course in small, liberal arts colleges: panel discussion
In liberal arts institutions and in other small colleges, the traditional computer graphics course is commonly offered as an upper division elective. Often, these schools do not have the resources to offer additional follow up courses within the field ...
Comments