Teaching Algorithms and Data Structures through Graphics

This paper presents experiences from a first-time implementation of a data structures and algorithms course based on a specific computer graphics problem, namely surface reconstruction from unorganized points, as the teaching medium. The course required sophomore students to implement the algorithm found in Hoppe et al.’s SIGGRAPH ’92 paper of the same title. This problem was chosen since the solution lends itself well to an exploration of data structures and code modularization into distinct project phases and milestones, both of which are traditionally taught in early CS courses. While the original course goals were accomplished, our experiences suggest potentials for greater streamlining of these concepts, which are detailed herein.

[1]  Mordechai Ben-Ari,et al.  Constructivism in computer science education , 1998, SIGCSE '98.

[2]  Mordechai Ben-aft,et al.  Constructivism in computer science education , 1998, SIGCSE '98.

[3]  Anne Venables,et al.  A "secondary" look at digital image processing , 2005, SIGCSE '05.

[4]  Margaret Martinez,et al.  Designing intentional learning environments , 1997, SIGDOC '97.

[5]  Kevin R. Burger Teaching two-dimensional array concepts in Java with image processing examples , 2003, SIGCSE.

[6]  W. Press,et al.  Numerical Recipes in C++: The Art of Scientific Computing (2nd edn)1 Numerical Recipes Example Book (C++) (2nd edn)2 Numerical Recipes Multi-Language Code CD ROM with LINUX or UNIX Single-Screen License Revised Version3 , 2003 .

[7]  Kenny Hunt Using image processing to teach CS1 and CS2 , 2003, SGCS.

[8]  Anne Venables,et al.  A "secondary" look at digital image processing , 2005 .

[9]  William E. Lorensen,et al.  Marching cubes: A high resolution 3D surface construction algorithm , 1987, SIGGRAPH.

[10]  J. Graham,et al.  First Step , 2015, Annals of Internal Medicine.

[11]  Timothy A. Davis,et al.  Using graphics research to teach freshman computer science , 2006, SIGGRAPH '06.

[12]  Tony DeRose,et al.  Surface reconstruction from unorganized points , 1992, SIGGRAPH.

[13]  J. J. Carroll The Power of Problem-Based Learning. , 2005 .

[14]  Richard Wicentowski,et al.  Using image processing projects to teach CS1 topics , 2005, SIGCSE '05.

[15]  Susan H. Rodger,et al.  Animation, visualization, and interaction in CS 1 assignments , 1998, SIGCSE '98.

[16]  Richard Wicentowski,et al.  Using image processing projects to teach CS1 topics , 2005 .

[17]  F. A. Seiler,et al.  Numerical Recipes in C: The Art of Scientific Computing , 1989 .

[18]  Hugues Hoppe Surface Reconstruction from Unorganized Points (PhD Thesis) , 1994 .

[19]  Harriet J. Fell,et al.  Exploring Martian planetary images: C++ exercises for CS1 , 1997, SIGCSE '97.

[20]  Steve Cunningham Graphical problem solving and visual communication in the beginning computer graphics course , 2002, SIGCSE '02.