International Journal of Data Structure Studies Original Research
Interactive Visualization and Analysis of Sorting
Abstract
This paper describes a complete review of pedagogical barriers to teaching algorithms, including development of an interactive visualization and analysis tool in Java to represent three commonly used sorting algorithms: Quick Sort, Merge Sort, and Heap Sort. Sorting algorithms are a critical part of many types of data processing, but for some students they can be challenging to visualize or conceptualize as a series of steps because traditional methods of teaching these algorithms tend to emphasize the mathematical nature of algorithms rather than the individual steps of their implementations. The main purpose of this research is to develop and evaluate an interactive visualization tool to provide users with animated representations of algorithm execution, while gathering quantitative metric data, such as execution time, number of swaps, number of comparisons, and total memory used. The system is also capable of allowing users to modify input data distributions to compare algorithmic performance under different input conditions and to control how quickly animations play back. The educational benefits of using this type of visualization tool were evaluated through an empirical study involving 30 undergraduate computer science students and a comparison of mean comprehension score improvement from pre-testing (prior to using the visualization tool) to post-testing following use of the tool. The mean comprehension score improvement of 54.7% following use of the tool was statistically confirmed using a paired t-test (p < 0.001). This statistically significant improvement indicates that the use of interactive visualizations is an effective means of improving a learner's conceptual understanding. Based upon these findings, incorporating interactive visualizations into algorithm education will enhance learners' conceptual understanding, increase their engagement, and improve their retention of material learned.