Demystifying Complex Algorithms Through Interactive VisualizationsIn-Person
Algorithms are the backbone of computer science, and the area of visualizing algorithms has been studied since the 90s. However, despite the advancements in tools and languages for programming responsive and engaging user interfaces, there is currently a lack of in-depth, visually appealing visualizations for the advanced algorithms and data structures covered in undergraduate computing curricula. In light of students who commonly struggle with such content in upper-level courses, providing supplemental visual and interactive learning materials addresses a significant gap in supporting student learning.
This work revisits the challenge of visualizing algorithms for the purpose of education using modern web technologies—namely HTML5/CSS3 and JavaScript. More specifically, we introduce the animation framework AnimTimeline, which allows developers to create animation timelines that can be fine-tuned with several configuration options and controlled with various playback options—all with an easy-to-read programming interface. We demonstrate the feasibility of our approach by using it to create a comprehensive educational visualization for the weighted interval scheduling problem using memoization and dynamic programming.