Files
Abstract
Software visualization (SV) involves the use of the crafts of typography, graphic design, animation, and cinematography with modern Human-Computer Interaction technology to facilitate both the human understanding and effective use of computer software. Software visualizations are often used to portray both concrete and abstract concepts and range from depictions of source code to performance characteristics to the execution of an algorithm as a discrete or continuous sequence of graphical images, or algorithm visualization. Numerous algorithm visualizations have been developed for use in educational settings. However, studies that were designed to demonstrate the pedagogic effectiveness of algorithm visualizations have been markedly unsuccessful, in spite of high expectations. In response to these results, lists of recommended features have been suggested to algorithm visualization system designers, but most of these features have not been proven to be beneficial. The broad goal of this research is to provide an empirically-validated method for designing and evaluating the effectiveness of dynamic visualizations. Our approach has been to identify features of these visualizations and systems that may improve learning, to create software that can isolate features of interest and aid in evaluating the usefulness of these features, and to then use the software to conduct and analyze user studies. This research: i) assembles an initial listing of features of SVs and SV systems and introduces a framework for testing the effectiveness of each, ii) provides verified design guidelines for dynamic visualizations, iii) applies concepts already researched and established in perceptual psychology and cognitive psychology to the design of effective SVs, iv) offers an explanation of the inevitable variability present in studies involving human subjects through the investigation of the effects of individual differences on comprehending SVs, and v) objectively classifies SV systems and makes them widely and easily available in a way never done before, with VisIOn, an Interactive Visualization Ontology.