Explanatory visualization in an educational programming environment: Connecting examples with general knowledge

  • Peter Brusilovsky
Learning and Teaching
Part of the Lecture Notes in Computer Science book series (LNCS, volume 876)


Explanatory program visualization is a name for program visualization extended with natural language explanations. Explanatory visualization can seriously increase students' understanding of program behavior. This paper gives the rationale and background for explanatory visualization and introduces our work on using explanatory visualization in educational programming environments. In particular, we present first experimental results on using explanatory visualization and provide a fine-grained description of the implementation of adaptive explanatory visualization in our ITEM/IP-II system. This system employs student model to adapt the visualization to the student knowledge level.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    du Boulay J.B.H., O'Shea T., Monk J. (1981) “The black box inside the glass box: Presenting computing concepts to novices”, International Journal on the Man-Machine Studies, v. 14, 237–249.Google Scholar
  2. 2.
    Brusilovsky P. (1991) “Turingal — the language for teaching the principles of programming”, Proc. EUROLOGO-91 conference, August 1991, Parma, 423–432.Google Scholar
  3. 3.
    Brusilovsky P. (1992a) Adaptive visualization in an intelligent programming environment. In: J.Gornostaev, (ed.) Proceedings of the East-West International Conference on Human-Computer Interaction, EWHCI'92, St. Petersburg, 4–8 August, 1992. — Moscow, p.46–50.Google Scholar
  4. 4.
    Brusilovsky P. (1992 b) “Intelligent environment, tutor and manual for introductory programming”, Educational Technology and Training International, v. 29, n. 1, 26–34.Google Scholar
  5. 5.
    Brusilovsky P.L. (1993a) Towards an intelligent environment for learning introductory programming. — In: E.Lemut, B. du Boulay, G.Dettori (eds.) Cognitive models and intelligent learning environments for learning programming. Springer-Verlag, p. 114–124.Google Scholar
  6. 6.
    Brusilovsky P. (1993 b) Student as user: Towards an adaptive interface for an intelligent learning environment. — In: P. Brna, S. Ohlson and H. Pain (Eds.) Proceedings of AI-ED'93, World Conference on Artificial Intelligence and Education, Edinburgh, 23–27 August 1993, AACE, Charlottesville, p. 386–393Google Scholar
  7. 7.
    Chi M.T.H, Bassok M., Lewis M.W., Peiman P., Glaser R. (1989) Self-explanations: How students study and use examples in learning to solve problems. Cognitive Science, 13, 145–182.Google Scholar
  8. 8.
    Clancey W.J. (1988) The role of qualitative models in instruction; In J. Self (ed.) Artificial intelligence and human learning. Chapman and Hall, London, 49–68Google Scholar
  9. 9.
    Eisenstadt M., Price B.A., Domingue J. (1992) Software visualization vs. ITS: a better way forward In Brusilovsky P. and Stefanuk V. (eds.). Proc. East-West Conference on Emerging Computer Technologies in Education, Moscow, April 1992, 111–115.Google Scholar
  10. 10.
    Linn M.C. (1992) How can hypermedia tools help teaching programming. Learning and instruction, 2, 119–139.Google Scholar
  11. 11.
    McCalla G.I., Greer J.E. et al (1992) Granularity hierarchies. International journal of computers and mathematics with applications, 23, 363–376.Google Scholar
  12. 12.
    McGlinn R.J., Britt M., Woolard L. (1989) APEX1, a library of dynamic programming examples. SIGCSE bulletin, v. 21, n. 1, 98–102.Google Scholar
  13. 13.
    Pirolli P. and Anderson J.R. (1985) The role of learning from examples in the acquisition of of recursive programming skills. Canadian Journal od Psychology, 39, 240–272.Google Scholar
  14. 14.
    Pirolli P. and Bielaczyc K. (1989) Empirical studies of self-explanations and transfer in learning to program. Proc of 11th Annual Conference of the Cognitive Science Society. Lawrence Erlbaum, Hillsdale, 450–457.Google Scholar
  15. 15.
    Recker M.M. and Pirolli P. (1992) Student strategies for learning programming from a computational environment. In: Proceedings of Second International Conference, ITS'92, LNCS N.608, Springer-Verlag, Berlin, p. 499–506.Google Scholar
  16. 16.
    Redmiles D.F. (1993) Reducing the variability of programmers' performance through explained examples. In Human factors in computing systems. Proceedings of INTERCHI'93. Amsterdam, 67–73.Google Scholar
  17. 17.
    Sanders I. and Gopal H. (1991) AAPT: Algorithm animator and programming toolbox. SIGCSE bulletin, v. 23, n.4, 41–47.Google Scholar
  18. 18.
    Stasko J., Badre A. and Lewis C. (1993) Do algorithm animations assist learning? An empirical study and analysis. In Human factors in computing systems. Proceedings of INTERCHT93. Amsterdam, 61–66Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1994

Authors and Affiliations

  • Peter Brusilovsky
    • 1
  1. 1.International Centre for Scientific and Technical InformationMoscowRussia

Personalised recommendations