Many programmers, instructors, and programming students have a strong intuitive belief that visualization is valuable for communicating information about the state and behavior of programs. In particular, in the area of algorithms and data structures, traditionally regarded as a core area of computer science that students find difficult, the advent of algorithm animation created great expectations in the CS teaching community, as animation was seen as a better way to portray the dynamic workings of algorithms than was the use of purely static media. However, an apparent disconnect exists between the prevalence of a belief in the usefulness of visualization and the extent to which visualization is actually employed. In this project, the PIs will investigate the hypothesis that present PV systems have failed to live up to expectations because they have largely ignored the issue of appropriate perceptual properties for effective viewing, and that in order to be effective PV systems must support perceptually appropriate animation, graphical design and layout, as well as good pedagogical design. In order to address this problem, the PIs will identify and evaluate perceptual, attentional, and cognitive aspects of program visualization and will quantify and categorize these results. They will perform observational studies of how instructors teach in order to identify the tasks that instructors perform in preparing and presenting visualization-based lesson, and will develop improved presentation and interaction techniques for program visualization and more generally for process visualization. The PIs expect that critical evaluation of the effects of relevant attributes of PVs, the development of metrics for quality of PVs, and the tuning and evaluation of models based on these metrics through empirical studies, will serve to provide normalizing parameters for future studies of the benefits of program visualization. More importantly, this work will serve as the basis for design guidelines for the effective use of PV and other forms of process visualization.
Broader Impacts: This project will advance the state of knowledge in human-computer interaction and perceptual psychology; will provide design guidelines applicable to program visualization and process visualization in particular, with potential benefit to all viewers of such displays (students, scientists, and the general public); will engage both undergraduate and graduate students in research in both computer science and perceptual psychology; will include participants from under-represented groups (the PIs students include African Americans, Asians, and women); and will result in publications that will appear in journals and conference proceedings, and in software and evaluation metrics that will be disseminated through the web.