Abstract
Visualization of an algorithm offers only a rough picture of operations. Explanations are crucial for deeper understanding, because they help the viewer to associate the visualization with the factual meaning of each detail. We present a framework based on path testing for associating instructive explanations and assignments with a constructive self-study visualization of an algorithm. The algorithm is divided into blocks, and a description is given for each block. The system contains a separate window for code, flowchart, animation, explanations, and control. Assignments are based on the flowchart and on the coverage conditions of path testing. Path testing is expected to lead into more accurate evaluation of learning outcomes because it supports systematic instruction in addition to more free trial-and-error heuristics. A qualitative analysis of preliminary experiences with the prototype indicates that the approach helps a student to reflect on her own reasoning about the algorithm. However, a prerequisite for an successful learning process with the environment is a motivating introduction, describing both the system and the main idea of the algorithm to be learned.
The work was supported by the National Technology Agency, Finland.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Aho, A., Sethi, R., Ullman J.: Compilers, Principles, Techniques, and Tools. Addison Wesley, 1986.
Beizer, B.: Software Testing Techniques, 2nd edition. New York, Van Nostrand Reinhold, 1990.
Ben-Ari, M., Myller, N., Sutinen, E., Tarhio, J.: Perspectives of Program Animation with Jeliot. In this volume.
Brown, M.: Algorithm Animation. ACM distinguished dissertation, MIT Press, 1988.
Cornett S.: Code Coverage Analysis. http://www.bullseye.com, seen 08/01.
Haajanen, J., Pesonius, M., Sutinen, E., Tarhio, J., Teräsvirta, T., Vanninen, P.: Animation of user algorithms on the Web. In Proc. 1997 Symposium on Visual Languages, 1997, 360–367.
Horspool, N.: Practical fast searching in strings. Software Practice & Experience 10, 1980, 501–506.
Hundhausen, C.: Toward Effective Algorithm Visualization Artifacts: Designing for Participation and Communication in an Undergraduate Algorithms Course. Doctoral Dissertation (Tech Rep. No. CIS-TR-99-07), Dept. of Computer and Information Science, University of Oregon, 1999.
Järvinen, E. M.: The Lego/Logo Learning Environment in Technology Education: An Experiment in a Finnish Context. Journal of Technology Education 9(2), 1988, 47–59.
Korhonen, A.: Algorithm Animation and Simulation. Licentiate’s thesis, Helsinki University of Technology, Department of Computer Science and Engineering, 2000.
Korhonen, A., Malmi, L.: Algorithm Simulation with Automatic Assessment. In Proc. ITiCSE’ 00, 5th Annual SIGCSE/SIGCUE Conference on Innovation and technology in computer science education, ACM, 2000, 160–163.
Korhonen, A., Malmi, L., Saikkonen, R.: Design Pattern for Algorithm Animation and Simulation. In E. Sutinen (Ed.): Proceedings of the First Program Visualization Workshop, University of Joensuu, Department of Computer Science, 2001, 89–100.
Lavonen, J., Meisalo, V., Lattu, M.: Visual programming: basic structures made easy. In E. Sutinen (Ed.): Proceedings of the First Program Visualization Workshop, University of Joensuu, Department of Computer Science, 2001, 163–177.
Pólya, G. How to Solve It? Princeton University Press, 1973.
Price, B. A., Baecker, R. M., Small, I. S.: A Principled Taxonomy of Software Visualization Journal of Visual Languages and Computing 4(3), 1993, 211–266.
Stasko, J., Badre, A., Lewis, C.: Do algorithm animations assist learning: An empirical study and analysis. In Proc. INTERCHI’ 93, Conference on Human Factors in Computing Systems, Amsterdam, The Netherlands (1993) 61–66.
Stern, L., Sondergaard, H., Naish, L.: A strategy for managing content complexity in algorithm animation. In Proc. ITiCSE’ 99, 4th Annual SIGCSE/SIGCUE Conference on Innovation and technology in computer science education, ACM, 1999, 127–130.
Vygotsky, L. S.: Mind in Society: The Development of Higher Psychological Processes. (M. Cole, V.J. Steiner, S. Scribner, E. Souberman, eds.) Harvard University Press, 1978.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2002 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Korhonen, A., Sutinen, E., Tarhio, J. (2002). Understanding Algorithms by Means of Visualized Path Testing. In: Diehl, S. (eds) Software Visualization. Lecture Notes in Computer Science, vol 2269. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45875-1_20
Download citation
DOI: https://doi.org/10.1007/3-540-45875-1_20
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-43323-1
Online ISBN: 978-3-540-45875-3
eBook Packages: Springer Book Archive