(Half-day tutorial)
Sami Khuri
Department of Mathematics and Computer Science
San José State University
One Washington Square
San José, CA 95192-0103
khuri@mathcs.sjsu.edu
Thomas Naps
Department of Computer Science
Lawrence University
Appleton, WI 54911
thomas.naps@lawrence.edu
These topics will be covered using Java-based algorithm visualization systems that have been developed by the tutorial instructors. Sami Khuri has developed a number of interactive algorithm-specific applications in Java. MLFQ and Page are used in teaching Multilevel Feedback Queue Scheduling Algorithms and Page Replacement Algorithms in Operating Systems courses. LZ, AHuffman, RLE, Quadtree, and JPEG are visualization packages developed to assist students in learning text and image compression algorithms. Tom Naps has developed JHAVÉ (Java-hosted Algorithm Visualization Environment), a client-server environment for delivering algorithm visualizations over the Web. JHAVÉ allows a variety of algorithm visualization engines to plug into its Web delivery features. These features include context-sensitive documentation, input generators, and stop-and-think questions. All of these features are designed to "force" the student to interact with the visualization.
[Glo98] Gloor, P., User Interface Issues for Algorithm Animation, in Software Visualization: Programming as a Multimedia Experience, The MIT Press, 1998, pp. 145-152.
[SL99] Stasko, J., and Lawrence, A., Empirically Assessing Algorithm Animations as Learning Aids, in Software Visualization: Programming as a Multimedia Experience, The MIT Press, 1998, pp. 419-438.
[SSN99] Stern, L., Sandergaard, H., and Naish, L., "A Strategy for Managing Content Complexity in Algorithm Animation", Proceedings of ITiCSE'99, pp. 127-130, 1999.