An object-oriented approach to algorithm visualization—easy, extensible, and dynamic
Thomas L. Naps, Brian Swander · 1994
A key component of our attempt to integrate the object-oriented paradigm into introductory and intermediate courses is algorithm visualization. Such visualization depicts an algorithm as a sequence of graphical snapshots of data structures that are operated upon at “interesting events” in the algorithm's execution. Using object-oriented techniques, we have significantly enchanced a previous version of the algorithm visualization system called GAIGS, developed at Lawrence. These enhancements allow instructors and students to develop dynamic visualizations with relative ease and, if desired, extend the graphic operations that are built into GAIGS to allow more personalized visualizations. The resulting software package is being used in a core of courses as a means of illustrating the power of the object-oriented approach while at the same time advancing students' understanding of difficult algorithms. Because of the extensibility of the object-oriented features of the system, we envision many future applications in which it could be used. To encourage the development of such applications, the system is conveniently available via ftp.