{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,6,13]],"date-time":"2026-06-13T07:00:24Z","timestamp":1781334024634,"version":"3.54.1"},"reference-count":41,"publisher":"Association for Computing Machinery (ACM)","issue":"4","license":[{"start":{"date-parts":[[2013,11,1]],"date-time":"2013-11-01T00:00:00Z","timestamp":1383264000000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Comput. Educ."],"published-print":{"date-parts":[[2013,11]]},"abstract":"<jats:p>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 \u201cearly-scenegraphs\u201d 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\u2019s and students\u2019 interests, while aligning the course better within the computer science curriculum especially when resources are limited.<\/jats:p>","DOI":"10.1145\/2522689","type":"journal-article","created":{"date-parts":[[2013,11,15]],"date-time":"2013-11-15T19:22:39Z","timestamp":1384543359000},"page":"1-21","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":5,"title":["Toward a Singleton Undergraduate Computer Graphics Course in Small and Medium-sized Colleges"],"prefix":"10.1145","volume":"13","author":[{"given":"Amit","family":"Shesh","sequence":"first","affiliation":[{"name":"Illinois State University"}],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"320","published-online":{"date-parts":[[2013,11]]},"reference":[{"key":"e_1_2_1_1_1","unstructured":"3D Studio Max. 2012. http:\/\/usa.autodesk.com\/3ds-max\/.  3D Studio Max. 2012. http:\/\/usa.autodesk.com\/3ds-max\/."},{"key":"e_1_2_1_2_1","unstructured":"ACM CS Curriculum. 2008. http:\/\/www.acm.org\/education\/curricula\/ComputerScience2008.pdf.  ACM CS Curriculum. 2008. http:\/\/www.acm.org\/education\/curricula\/ComputerScience2008.pdf."},{"key":"e_1_2_1_3_1","volume-title":"Proceedings of Eurographics (Education Papers) (Eurographics\u201909)","author":"Anderson E. F."},{"key":"e_1_2_1_4_1","doi-asserted-by":"crossref","unstructured":"Angel E. 2011. Interactive Computer Graphics: A Top-Down Approach with Shader-Based OpenGL 6th Ed.   Angel E. 2011. Interactive Computer Graphics: A Top-Down Approach with Shader-Based OpenGL 6th Ed.","DOI":"10.1201\/b12288-3"},{"key":"e_1_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1109\/MCG.2011.27"},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1145\/1121341.1121423"},{"key":"e_1_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1145\/1242073.1242087"},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1016\/S0097-8493(02)00109-7"},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1145\/192161.192290"},{"key":"e_1_2_1_10_1","volume-title":"Proceedings of the Graphics and Visual Education Workshop (GVE\u201999)","author":"Cunningham S.","year":"1999"},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1145\/330908.331809"},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1016\/S0097-8493(01)00099-1"},{"key":"e_1_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1145\/52965.53041"},{"key":"e_1_2_1_14_1","unstructured":"Eberly D. H. 2001. 3D Game Engine Design---A Practical Approach to Real-Time Computer Graphics. Morgan Kaufmann.  Eberly D. H. 2001. 3D Game Engine Design---A Practical Approach to Real-Time Computer Graphics . Morgan Kaufmann."},{"key":"e_1_2_1_15_1","volume-title":"Proceedings of the Conference on Eurographics (Education Papers) (Eurographics\u201912)","author":"Fink H."},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1145\/1140124.1140191"},{"key":"e_1_2_1_17_1","article-title":"Ray tracing for undergraduates. ASEE","author":"Gribble C. P.","year":"2008","journal-title":"Comp. Educ. J. 18."},{"key":"e_1_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1145\/199691.199891"},{"key":"e_1_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1145\/299649.299801"},{"key":"e_1_2_1_20_1","first-page":"30","article-title":"Teaching introductory computer graphics via ray tracing","volume":"26","author":"Hu H. H.","year":"2010","journal-title":"J. Comput. Sci. Coll."},{"key":"e_1_2_1_21_1","unstructured":"IDEA Diagnostic Form Report. 2012. http:\/\/www.theideacenter.org\/sites\/default\/files\/InterpretativeGuideDiagForm.pdf.  IDEA Diagnostic Form Report. 2012. http:\/\/www.theideacenter.org\/sites\/default\/files\/InterpretativeGuideDiagForm.pdf."},{"key":"e_1_2_1_22_1","volume-title":"Proceedings of the Conference of Eurographics (Education Papers) (Eurographics\u201913)","author":"Jones M."},{"key":"e_1_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1145\/280953.281013"},{"key":"e_1_2_1_24_1","unstructured":"Kutner M. Nachtsheim C. Neter J. and Li W. 2004. Applied Linear Statistical Models 5th Ed. McGraw-Hill\/Irwin.  Kutner M. Nachtsheim C. Neter J. and Li W. 2004. Applied Linear Statistical Models 5th Ed. McGraw-Hill\/Irwin."},{"key":"e_1_2_1_25_1","volume-title":"Proceedings of the Conference on Eurographics (Education Papers) (Eurographics\u201910)","author":"Linares-Pellicer J."},{"key":"e_1_2_1_26_1","volume-title":"Proceedings of the Conference on Computer Graphics Education (CGE\u201902)","author":"McDonald J."},{"key":"e_1_2_1_27_1","unstructured":"OpenSceneGraph. 2011. http:\/\/www.openscenegraph.org\/.  OpenSceneGraph. 2011. http:\/\/www.openscenegraph.org\/."},{"key":"e_1_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1145\/134510.134570"},{"key":"e_1_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.cag.2004.12.011"},{"key":"e_1_2_1_30_1","unstructured":"QT\n\n  \n  : A cross-platform UI framework. 2011. http:\/\/qt.nokia.com\/products\/.  QT: A cross-platform UI framework. 2011. http:\/\/qt.nokia.com\/products\/."},{"key":"e_1_2_1_31_1","first-page":"73","article-title":"Teaching introductory computer graphics with the processing language","volume":"26","author":"Schweitzer D.","year":"2010","journal-title":"J. Comput. Sci. Coll."},{"key":"e_1_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.1145\/1999747.1999781"},{"key":"e_1_2_1_33_1","doi-asserted-by":"publisher","DOI":"10.1145\/1282040.1282056"},{"key":"e_1_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.1145\/965106.965114"},{"key":"e_1_2_1_35_1","unstructured":"The OpenGL Utility Toolkit. 2011. http:\/\/www.opengl.org\/resources\/libraries\/glut\/.  The OpenGL Utility Toolkit. 2011. http:\/\/www.opengl.org\/resources\/libraries\/glut\/."},{"key":"e_1_2_1_36_1","unstructured":"The QT XML Module. 2011. http:\/\/doc.qt.nokia.com\/5.0-snapshot\/qtxml.html.  The QT XML Module. 2011. http:\/\/doc.qt.nokia.com\/5.0-snapshot\/qtxml.html."},{"key":"e_1_2_1_37_1","doi-asserted-by":"publisher","DOI":"10.1145\/1179295.1179308"},{"key":"e_1_2_1_38_1","unstructured":"Trimble Sketchup. 2012. http:\/\/sketchup.google.com\/.  Trimble Sketchup. 2012. http:\/\/sketchup.google.com\/."},{"key":"e_1_2_1_39_1","unstructured":"UnReal Technology. 2011. http:\/\/www.unrealengine.com\/.  UnReal Technology. 2011. http:\/\/www.unrealengine.com\/."},{"key":"e_1_2_1_40_1","unstructured":"Weiss M. A. 2006. Data Structures and Algorithm Analysis in C++ 3rd Ed. Addison Wesley 121--123.   Weiss M. A. 2006. Data Structures and Algorithm Analysis in C ++ 3rd Ed. Addison Wesley 121--123."},{"key":"e_1_2_1_41_1","doi-asserted-by":"publisher","DOI":"10.1016\/S0097-8493(99)00145-4"}],"container-title":["ACM Transactions on Computing Education"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2522689","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/2522689","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T08:10:01Z","timestamp":1750234201000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2522689"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2013,11]]},"references-count":41,"journal-issue":{"issue":"4","published-print":{"date-parts":[[2013,11]]}},"alternative-id":["10.1145\/2522689"],"URL":"https:\/\/doi.org\/10.1145\/2522689","relation":{},"ISSN":["1946-6226"],"issn-type":[{"value":"1946-6226","type":"electronic"}],"subject":[],"published":{"date-parts":[[2013,11]]},"assertion":[{"value":"2012-06-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2013-08-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2013-11-01","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}