TR Number



Journal Title

Journal ISSN

Volume Title


Virginia Tech


The TreeViz project was developed as part of the capstone course CS 4624 Multimedia, Hypertext, and Information Access and was completed over the course of the Spring 2019 semester. The goal of this project is to allow students taking the CS 2114 data structures classes to visualize code written for tree data structures through CodeWorkout homework exercises. Students will be able to make changes to their code to a tree data structure in real time as they click through visualization steps in the existing interface and our changes to accommodate tree data structures. This project is an extension of the existing work of the client, Mostafa Mohamed, to create visualizations for linked list data structures for exercises for the CS 2114 and 3114 data structures classes.

Our final visualization can replicate a given tree used to test a student’s sample tree exercise code and step through the code’s execution showing them the changes made to the tree as a result of their solution. The visualization also provides a pointer to the current location of the root of the tree for exercises that require recursion for tree traversal, like the sample exercise we used to test our visualization. The student will also be able to see their code alongside our visualization so they can step through the visualization to see what each line of code specifically changes to the tree in memory. In the future, our work will be able to handle all tree operations, and can be expanded to provide visualizations for many more data structures taught in these courses and ultimately help to improve students’ understanding of the concepts taught to them in class. An explanation of how this works and how to set it up can be found in the TreeVizFinalReport files and the code to test and see the visualizations now can be done with the file. Lastly a brief presentation explaining the work completed during the semester is available through the TreeVizFinalPresentation files.



Visualization, Binary Trees, OpenDSA, OpenPoP, Code Workout, JSAV, JavaScript