Abstract Visualization of Algorithms and Data Structures
Abstract
Within the field of visualization it is common to distinguish between Algorithm
Visualization (AV) and Program Visualization (PV). AV uses high level abstractions to demonstrate how algorithms works, while PVs are debugger-like and display low level information about programs. <br><br> There exists a variety of visualization tools within both AV and PV today. However, few tools provide a good combination of the two. There is a lack of tools which can produce visualization with a high abstraction level from code in common programming languages. Moreover, most tools are either restricted to a certain programming language or a set of algorithms. Therefore users have to learn a variety of tools for different programming languages and algorithms. <br><br> The goal of this project is to combine AV and PV in a single system. The system is based around a communication contract which connects programs written in any language to any visualization tool. In this way, a programming language will immediately have a rich selection of visualizations available once an interface has been implemented for it. At the other end, new visualizations and visualization tools can be constructed without concern for how program execution will be recorded. <br><br> As a proof of concept, we have developed interface prototypes for Java and Python programs. Accompanying these are visualization tool prototypes, one written in Java and the other in HTML5.
Degree
Student essay
Collections
View/ Open
Date
2017-01-13Author
Jönsson, Dennis
Gerdin, Johan
Josefsson, Ivar
Smith, Simon
Sundqvist, Richard
Keywords
Algorithm Visualization
AV
Program Visualization
PV
Education
Visualization Tool
Language
eng