ABSTRACT
Program visualization holds great potential for conveying information about the state and behavior of a running program. However, barriers exist to the realization of this potential, and the limited knowledge about the factors that affect program visualization makes the identification of these barriers difficult. We present arguments that the economy of information and tasks related to the visualization environment has a significant impact on the user's performance in solving algorithmic problems. We apply this knowledge to develop an approach for creating application-specific visualizations solely through interactions with program visualizations and textual views of the computation, thus promoting economy of interaction. The approach consists of a multiple technical contributions that are surveyed in the paper.
- BAECKER, R. M., AND SHERMAN, D., 1981. Sorting out sorting. 16mm color sound film. Shown at SIGGRAPH '81.Google Scholar
- BERTIN, J. 1983. Semiology of Graphics. The University of Wisconsin Press. Google ScholarDigital Library
- BLACKWELL, A. F., AND GREEN, T. R. G. 1999. Investment of attention as an analytic approach to cognitive dimensions. In Collected Papers of the 11th Annual Workshop of the Psychology of Programming Interest Group (PPIG-11), 24--35.Google Scholar
- BROWN, M. H., AND NAJOR, M. A. Algorithm animation using interactive 3d graphics. In Software Visualization, J. Stasko, J. Domingue, M. Brown, and B. Price, Eds. The MIT Press, Cambridge, ch. 9. Google ScholarDigital Library
- BROWN, M. H. 1988. Exploring Algorithms using Balsa-II. IEEE Computer 21, 5, 14--36. Google ScholarDigital Library
- BYRNE, M., CATRAMBONE, R., AND STASKO, J. 1999. Evaluating animations as student aids in learning computer algorithms. Computers & Education 33, 4, 253--278. Google ScholarDigital Library
- CASNER, S. M. 1991. A task-analytic approach to the automated design of graphic presentations. ACM Transactions on Graphics 10, 2, 111--151. Google ScholarDigital Library
- CRESCENZI, P., DEMETRESCU, C., FINOCCHI, I., AND PETRESCHI, R. 2000. Reversible execution and visualization of programs with leonardo. Journal of Visual Languages and Computing 11, 2, 125--150.Google ScholarDigital Library
- DIJKSTRA, E. W., AND C.S.SCHOLTEN. 1980. Termination detection for diffusing computations. Inf. Proc. Letters 11, 1, 1--4.Google ScholarCross Ref
- EISENSTADT, M., AND BRAYSHAW, M. 1988. The transparent prolog machine (TPM): An execution model and graphical debugger for logic programming. Journal of Logic Programming 5, 4, 1--66.Google ScholarCross Ref
- GREEN, T. R. G., AND PETRE, M. 1996. Usability analysis of visual programming environments: a 'cognitive dimensions' framework. Journal of Visual Languages and Computing 7, 131--174.Google ScholarCross Ref
- HAMILTON-TAYLOR, A., AND KRAEMER, E. 2002. SKA: Supporting algorithm and data structure discussion. In Proceedings of the Thirty-third SIGCSE Technical Symposium on Computer Science Education (SIGCSE-02), ACM Press, New York, J. Impagliazzo, Ed., vol. 34, 1 of SIGCSE Bulletin, 58--62. Google ScholarDigital Library
- HANSEN, S., SCHRIMPSHER, D., AND NARAYANAN, N. 1998. Learning algorithms by visualization: A novel approach using animation-embedded hypermedia. In Proc. Third International Conference on The Learning Sciences, Atlanta, GA.Google Scholar
- HART, D., KRAEMER, E., AND ROMAN, G.-C. 1999. Consistency considerations in the interactive steering of computations. International Journal of Parallel and Distributed Systems and Networks 2, 3, 171--179.Google Scholar
- HENRY, R. R., WHALEY, K. M., AND FORSTALL, B. 1990. The University of Washington illustrating compiler. ACM SIGPLAN Notices 25, 6 (June), 223--233. Google ScholarDigital Library
- HIBBARD, W., DYER, C. R., AND PAUL, B. 1992. Display of scientific data structures for algorithm visualization. In Proc. IEEE Visualization, 139--146. Google ScholarDigital Library
- HUNDHAUSEN, C. D., AND DOUGLAS, S. A. 2001. Low fidelity algorithm visualization. Journal of Visual Languages and Computing. Under review.Google Scholar
- Jinsight - Visualisation tools for Java. http://www.research.ibm.com/jinsight/.Google Scholar
- KEHOE, C., STASKO, J., AND TAYLOR, A. 2001. Rethinking the evaluation of algorithm animations as learning aids: An observational study. International Journal of Human-Computer Studies 54, 2, 265--284. Google ScholarDigital Library
- LAWRENCE, A., BADRE, A., AND STASKO, J. T. 1994. Empirically evaluating the use of animations to teach algorithms. In Proceedings of the 1994 IEEE Symposium on Visual Languages, St. Louis, MO, 48--54.Google ScholarCross Ref
- MACKINLAY, J. D. 1986. Automating the design of graphical presentations of relational information. ACM Transactions on Graphics 5, 2, 110--141. Google ScholarDigital Library
- MUKHERJEA, S., AND STASKO, J. T. 1994. Toward visual debugging: Integrating algorithm animation capabilities within a source level debugger. ACM Transactions on Computer-Human Interaction 1, 3 (Sept.), 215--244. Google ScholarDigital Library
- MYERS, B. A. 1990. Taxonomies of visual programming and program visualization. Journal of Visual Languages and Computing 1, 1 (Mar.), 97--123.Google ScholarDigital Library
- PEARL, P., AND LALANNE, D. 2000. Interactive problem solving via algorithm visualization. In Proceedings of IEEE Information Visualization, 145--153. Google ScholarDigital Library
- PRICE, B. A., BAECKER, R. M., AND SMALL, I. S. 1993. A principled taxonomy of software visualization. Journal of Visual Languages and Computing 4, 3 (Sept.), 211--266.Google ScholarCross Ref
- REISS, S. P. 2001. Bee/hive: A software visualization back end. In Workshop on Software Visualization, International Conference on Software Engineering ICSE 2001. Google ScholarDigital Library
- ROESSLING, G., AND FREISLEBEN, B. 2000. The animal algorithm animation tool. In ACM 5th Annual Conference on Innovation and Technology in Computer Science Education (ITiCSE 2000), ACMPress, New York, 37--40. Google ScholarDigital Library
- ROMAN, G., AND COX, K. 1993. A Taxonomy of Program Visualization Systems. IEEE Computer 26, 12, 11--24. Google ScholarDigital Library
- ROMAN, G.-C., COX, K. C., WILCOX, D., AND PLUN, J. Y. 1992. Pavane: a system for declarative visualization of concurrent computations. Journal of Visual Languages and Computing 3, 2, 161--193.Google ScholarCross Ref
- ROTH, S. F., AND MATTIS, J. 1991. Automating the presentation of information. 90--97.Google Scholar
- SCAIFE, M., AND ROGERS, Y. 1996. External cognition: How do graphical representations work? International Journal of Human-Computer Studies 45, 185--213. Google ScholarDigital Library
- STASKO, J. T., AND KRAEMER, E. 1993. A methodology for building application-speci c visualizations of parallel programs. Journal of Parallel and Distributed Computing 18, 2, 258--264. Google ScholarDigital Library
- STASKO, J., BADRE, A., AND LEWIS, C. 1993. Do algorithm animations assist learning? an empirical study and analysis. In Proceedings of ACM INTERCHI'93 Conference on Human Factors in Computing Systems, Understanding Programming, 61--66. Google ScholarDigital Library
- STASKO, J. T. 1990. The Path-Transition Paradigm: A practical methodology for adding animation to program interfaces. Journal of Visual Languages and Computing 1, 3, 213--236.Google ScholarDigital Library
- STASKO, J. 1998. Smooth continuous animation for portraying algorithms and processes. In Software Visualization, J. Stasko, J. Domingue, M. Brown, and B. Price, Eds. The MIT Press, Cambridge, ch. 8, 103--118.Google Scholar
- TOPOL, B., STASKO, J. T., AND SUNDERAM, V. S. 1998. Pvanim: a tool for visualization in network computing environments. Concurrency - Practice and Experience 10, 14, 1197--1222.Google ScholarCross Ref
- TUDOREANU, M. E., WU, R., HAMILTON-TAYLOR, A., AND KRAEMER, E. 2002. Empirical evidence that algorithm animation promotes understanding of distributed algorithms. In IEEE 2002 Symposia on Human Centric Computing Languages and Environments (HCC'02), 236--244. Google ScholarDigital Library
- TUDOREANU, M. E. 2002. Economy of Interaction in Program Visualization: Designing Effective Visualization Tools for Reducing User's Cognitive Effort. PhD thesis, Washington University in St. Louis. Also appears as technical report WUCS-02-30.Google Scholar
Index Terms
- Designing effective program visualization tools for reducing user's cognitive effort
Recommendations
Exploring expression-level program visualization in CS1
Koli Calling '14: Proceedings of the 14th Koli Calling International Conference on Computing Education ResearchCurrently, most of the existing program visualization systems use line-based visualization. Another option is to have expression-level visualization which uses finer granularity to provide more details about the execution. This helps novice programmers ...
Polyarchy visualization: visualizing multiple intersecting hierarchies
CHI '02: Proceedings of the SIGCHI Conference on Human Factors in Computing SystemsWe describe a new information structure composed of multiple intersecting hierarchies, which we call Polyarchies. Visualizing polyarchies enables use of novel views for discovery of relationships which are very difficult using existing hierarchy ...
Animated visualization of multiple intersecting hierarchies
The authors describe a new information structure composed of multiple intersecting hierarchies, which we call a Polyarchy. Visualizing polyarchies enables use of novel views for discovery of relationships which are very difficult using existing ...
Comments