Algorithm Visualization System for Teaching Spatial Data Algorithms

Introduction Spatial data is data that is located in a multidimensional space (Laurini & Thompson, 1992). In other words, each spatial data item is identified by a set of coordinates, which define its location in relation to other data items. Thus, each spatial data item contains spatial information (coordinates) that describes the location of the item and associated attribute data that describes what it represents. Spatial data is used in numerous disciplines, such as geographic information systems (GIS), computer graphics, robotics, virtual reality, computer-aided design, biology, VLSI design, and many others. In the context of GIS and related disciplines, the data is assumed to model geographic locations on the Earth's surface and their associated properties. In this paper, we discuss spatial data in this context. In GIS, there are at least two coordinate axes (x and y, which represent geographical longitude and latitude), and two additional ones (height and time) can also be used. Spatial data algorithms (SDA) are algorithms designed to process and manipulate such data and spatial data structures are entities used to store the data. Spatial data structures are based on regular non-spatial data structures such as arrays and trees, as well as algorithms that manipulate these basic structures. However, the multidimensional nature of spatial data makes them more complex than the basic data structures. This also makes the design and implementation of efficient spatial data algorithms more difficult. For example, dictionary structures for spatial data must be able to locate data items according to their coordinates instead of using one-dimensional key values. Furthermore, the spatial nature of the data makes teaching spatial data algorithms more challenging than basic non-spatial data structures and algorithms. For example, in order to show both how data items are related to each other and how they are arranged in a data structure, typically two illustrations are required: one to show the data items and the space they occupy, and another to show the data structures. Consequently, the learner must be able to connect the illustrations in order to comprehend how the data is organized. In basic data structures, on the other hand, the relationships between the data items are typically distinguishable with just a single picture. SDA and associated data structures are an integral part of geoinformatics, a branch of science where computer science is applied to cartography and geosciences. The data geoinformatics studies is location data on the Earth's surface, and therefore SDA are required for efficient storage and processing. Geoinformatics is also closely related to cartography, and therefore many different kinds of illustrations are used. Maps are the most fundamental way to represent spatial information. Visualization of maps is in itself a large, varied and important field (Slocum, McMaster, Kessler, & Howard, 2004). However, since many spatial data sets have several properties for each location, other visualization methods are also required for understanding the data. For example, multivariate visualization techniques such as parallel coordinate plots or star plots can be used in conjunction with map views. A map view shows how the data is distributed geographically, while other views show what information the data contains. Software Visualization (SV) is a branch of software engineering that aims to use graphics and animation to illustrate the different aspects of software (Stasko, Domingue, Brown, & Price, 1998). Price, Baecker, and Small (1993) divide SV into two subcategories: program visualization (PV) and algorithm visualization (AV). PV is the use of various visual techniques to enhance the human understanding of computer programs. It is typically used to illustrate actual, implemented programs. AV, on the other hand, illustrates abstractions of algorithmic concepts and is independent of any actual algorithm implementation. …

[1]  Kirsi Virrantaus,et al.  Visualization of Spatial Data Structures on Different Levels of Abstraction , 2007, Electron. Notes Theor. Comput. Sci..

[2]  Joe Marks,et al.  A General Cartographic Labeling Algorithm , 1996 .

[3]  Geert Degrande,et al.  An electronic learning environment for the study of seismic wave propagation , 2005, Comput. Geosci..

[4]  M. Patton Qualitative research and evaluation methods , 1980 .

[5]  Susan H. Rodger,et al.  JAWAA: easy web-based animation from CS 0 to advanced CS courses , 2003, SIGCSE.

[6]  Lauri Malmi,et al.  Taxonomy of Visual Algorithm Simulation Exercises , 2004 .

[7]  Christopher D. Hundhausen,et al.  What you see is what you code: a radically dynamic algorithm visualization development model for novice learners , 2005, 2005 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC'05).

[8]  Terry A. Slocum Thematic Cartography and Geographic Visualization , 2004 .

[9]  Thomas Ottmann,et al.  Algorithms for Reporting and Counting Geometric Intersections , 1979, IEEE Transactions on Computers.

[10]  Lauri Malmi,et al.  Experiences in automatic assessment on mass courses and issues for designing virtual courses , 2002, ITiCSE '02.

[11]  Ilan Shimshoni,et al.  MAVIS: a multi-level algorithm visualization system within a collaborative distance learning environment , 2002, Proceedings IEEE 2002 Symposia on Human Centric Computing Languages and Environments.

[12]  John Hamer,et al.  PeerWise: students sharing their multiple choice questions , 2008, ICER '08.

[13]  Michael F. Worboys,et al.  GIS : a computing perspective , 2004 .

[14]  David Medyckyj-Scott,et al.  The e-MapScholar project - an example of interoperability in GIScience education , 2005, Computational Geosciences.

[15]  M. McCullagh,et al.  Delaunay Triangulation of a Random Data Set for Isarithmic Mapping , 1980 .

[16]  Jacob Cohen,et al.  Weighted kappa: Nominal scale agreement provision for scaled disagreement or partial credit. , 1968 .

[17]  Hanan Samet,et al.  The Design and Analysis of Spatial Data Structures , 1989 .

[18]  Michael Ian Shamos,et al.  Computational geometry: an introduction , 1985 .

[19]  Guido Rößling,et al.  Animal-Farm: an extensible framework for algorithm visualization , 2002 .

[20]  John Fisher Visualizing the Connection Among Convex Hull , Voronoi Diagram and Delaunay Triangulation , 2004 .

[21]  John Domingue,et al.  Software visualization : programming as a multimedia experience , 1998 .

[22]  Ayellet Tal,et al.  Interactive Collaborative Visualization Environment for Geometric Computing , 2000, J. Vis. Lang. Comput..

[23]  Ari Korhonen,et al.  Experiences on Using TRAKLA2 to Teach Spatial Data Algorithms , 2009, Electron. Notes Theor. Comput. Sci..

[24]  Blaine A. Price,et al.  A Principled Taxonomy of Software Visualization , 1993, J. Vis. Lang. Comput..

[25]  Matti Järvisalo,et al.  Teaching Smullyan's Analytic Tableaux in a Scalable Learning Environment , 2004 .

[26]  Derek Thompson,et al.  Fundamentals of spatial information systems , 1992, A.P.I.C. series.

[27]  Lauri Malmi,et al.  Fully automatic assessment of programming exercises , 2001 .

[28]  Marios Hadjieleftheriou,et al.  R-Trees - A Dynamic Index Structure for Spatial Searching , 2008, ACM SIGSPATIAL International Workshop on Advances in Geographic Information Systems.

[29]  Tapio Salakoski,et al.  Multi-Perspective Study of Novice Learners Adopting the Visual Algorithm Simulation Exercise System TRAKLA2 , 2005, Informatics Educ..

[30]  Jussi Nikander,et al.  Algorithm Visualization in Teaching Spatial Data Algorithms , 2007, 2007 11th International Conference Information Visualization (IV '07).

[31]  Lauri Malmi,et al.  Experiences on automatically assessed algorithm simulation exercises with different resubmission policies , 2005, JERC.

[32]  Lauri Malmi,et al.  Does it make a difference if students exercise on the web or in the classroom? , 2002, ITiCSE '02.

[33]  Thomas L. Naps,et al.  Exploring the role of visualization and engagement in computer science education , 2003, ITiCSE-WGR '02.

[34]  Sven Schuierer,et al.  Vega - a user-centered approach to the distributed visualization of geometric algorithms , 1998 .

[35]  Leonidas J. Guibas,et al.  A dichromatic framework for balanced trees , 1978, 19th Annual Symposium on Foundations of Computer Science (sfcs 1978).

[36]  Yuzhong Shen,et al.  An educational interactive numerical model of the Chesapeake Bay , 2008, Comput. Geosci..

[37]  Derek Karssenberg,et al.  The PCRaster Software and Course Materials for Teaching Numerical Modelling in the Environmental Sciences , 2001, Trans. GIS.

[38]  Kirsti Ala-Mutka,et al.  Journal of Information Technology Education Supporting Students in C++ Programming Courses with Automatic Program Style Assessment Supporting Students on C++ Programming Courses , 2022 .

[39]  Werner Hartmann,et al.  Exorciser: Automatic generation and interactive grading of structured excercises in the theory of computation , 2004 .

[40]  Ursula Fuller,et al.  How shall we assess this , 2003 .

[41]  Gennady L. Andrienko,et al.  Reactions to geovisualization: an experience from a European project , 2006, Int. J. Geogr. Inf. Sci..

[42]  Mark de Berg,et al.  Computational geometry: algorithms and applications , 1997 .

[43]  Ari Korhonen,et al.  VISUAL ALGORITHM SIMULATION , 2003 .

[44]  Lauri Malmi,et al.  MatrixPro - A Tool for On-The-Fly Demonstration of Data Structures and Algorithms , 2004 .

[45]  J. Stasko,et al.  A Meta-Study of Algorithm Visualization Effectiveness , 2002, J. Vis. Lang. Comput..

[46]  Lauri Malmi,et al.  Visual Algorithm Simulation Exercise System with Automatic Assessment: TRAKLA2 , 2004, Informatics Educ..

[47]  David P. Dobkin,et al.  GAWAIN: visualizing geometric algorithms with Web-based animation , 1998, SCG '98.

[48]  Leonidas J. Guibas,et al.  Randomized incremental construction of Delaunay and Voronoi diagrams , 1990, Algorithmica.

[49]  Klaus Krippendorff,et al.  Content Analysis: An Introduction to Its Methodology , 1980 .

[50]  Steven Fortune,et al.  A sweepline algorithm for Voronoi diagrams , 1986, SCG '86.