Using Textbook Illustrations to Extract Design Principles for Algorithm Visualizations



The literature on algorithm visualizations addresses a number of important issues for educational use, such as instructional uses, graphical formats, effort of adoption, etc. However, there is a lack of clear principles to guide the construction of educationally effective visualizations. We have addressed an analysis of visualizations concerning three basic algorithm design techniques (divide and conquer, backtracking and dynamic programming). The material was the illustrations found in a number of prestigious algorithm textbooks, which prove to be high-quality sources. One contribution of this chapter is the final list of fields used to characterize visualizations, given that they embody the key features of illustrations. A second contribution is an outline of the findings of our analysis, which are a step toward stating design principles for algorithm visualizations.


Dynamic Programming Search Tree Dynamic Programming Algorithm Visualization System Geometric Problem 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.



I want to thank Natalia Esteban-Sánchez, Antonio Pérez-Carrasco and Belén Sáenz-Rubio for their collaboration in previous phases of this research. This work was supported by research grant TIN2011-29542-C02-01 of the Spanish Ministry of Economy and Competitiveness.


  1. 1.
    S. Fincher and M. Petre. Computer Science Education Research. London, UK: Routledge, 2004.Google Scholar
  2. 2.
    R. Lister. The naughties in CSEd research: A retrospective. In SIGCSE Inroads, volume 1, no. 1, pp. 22–24, March 2010.CrossRefGoogle Scholar
  3. 3.
    C. Hundhausen, S. Douglas and J. Stasko. A meta-study of algorithm visualization effectiveness. In Journal of Visual Languages and Computing, volume 13, no. 3, pp. 259–290, June 2002.CrossRefGoogle Scholar
  4. 4.
    T. Naps, G. Roessling, V. Almstrum, W. Dann, R. Fleischer, C. Hundhausen, A. Korhonen, L. Malmi, M. McNally, S. Rodger and J. Á. Velázquez-Iturbide. Exploring the role of visualization and engagement in computer science education. In SIGCSE Bulletin, volume 35, no. 2, pp. 131–152, June 2003.CrossRefGoogle Scholar
  5. 5.
    M. Ben-Ari. Constructivism in computer science education. In Journal of Computers in Mathematics and Science Teaching, volume 20, no. 1, pp. 45–73, 2001.Google Scholar
  6. 6.
    E. Wenger. Intelligent Tutoring Systems. Los Altos, CA: Morgan Kaufmann, 1987.Google Scholar
  7. 7.
    T. L. Naps, G. Roessling, J. Anderson, S. Cooper, W. Dann, R. Fleischer, B. Koldehofe, A. Korhonen, M. Kuittinen, C. Leska, L. Malmi, M. McNally, J. Rantakokko and R. J. Ross. Evaluating the educational impact of visualization. In SIGCSE Bulletin, volume 35, no. 4, pp. 124–136, December 2003.CrossRefGoogle Scholar
  8. 8.
    P. Ihantola, V. Karavirta, A. Korhonen and J. Nikander. Taxonomy of effortless creation of algorithm visualization. Proceedings of the 2005 International Workshop on Computing Education Research, ICER 2005, pp. 123–133.Google Scholar
  9. 9.
    R. Ben-Bassat Levy and M. Ben-Ari. Perceived behavior control and its influence on the adoption of software tools. In Proceedings of the 13th Annual Conference on Innovation and Technology in Computer Science education, ITiCSE 2008, pp. 169–173.Google Scholar
  10. 10.
    P. Saraiya, C. A. Shaffer, D. S. McCrickard and C. North. Effective features of algorithm visualizations. In Proceedings of the 35th Technical Symposium on Computer Science Education, SIGCSE 2004, pp. 382–386.Google Scholar
  11. 11.
    D. Norman. Some observations on mental models. In Mental Models, D. Gentner and A. Stevens, Eds. Hillsdale, NJ: Erlbaum, 1983, pp. 7–14.Google Scholar
  12. 12.
    G. Roessling and T. L. Naps. A testbed for pedagogical requirements in algorithm visualizations. In Proceedings of the 7th Annual Conference on Innovation and Technology in Computer Science education, ITiCSE 2002, pp. 96–100.Google Scholar
  13. 13.
    S. Pollack and M. Ben-Ari. Selecting a visualization system. In Proceedings of the Third Program Visualization Workshop, PVW 2004, pp. 134–140.Google Scholar
  14. 14.
    P. A. Gloor. User interface issues for algorithm animation. In Software Visualization, J. Stasko, J. Domingue, M. H. Brown and B. A. Price, Eds. Cambridge, MA: MIT Press. 1998, pp. 145–152.Google Scholar
  15. 15.
    B. A. Price, R. Baecker and I. Small. An introduction to software visualization. In Software Visualization, J. Stasko, J. Domingue, M. H. Brown and B. A. Price, Eds. Cambridge, MA: MIT Press. 1998, pp. 3–27.Google Scholar
  16. 16.
    V. Karavirta, A. Korhonen, L. Malmi and T. Naps. A comprehensive taxonomy of algorithm animation languages. In Journal of Visual Languages and Computing, volume 21, pp. 1–22, 2010.CrossRefGoogle Scholar
  17. 17.
    M. H. Brown. A taxonomy of algorithm animation displays. In Software Visualization, J. Stasko, J. Domingue, M. H. Brown and B. A. Price, Eds. Cambridge, MA: MIT Press. 1998, pp. 35–42.Google Scholar
  18. 18.
    J. Urquiza-Fuentes and J. Á. Velázquez-Iturbide. A survey of program visualizations for the functional paradigm. In Proceedings of the Third Program Visualization Workshop, PVW 2004, pp. 2–9.Google Scholar
  19. 19.
    P. Romero, R. Cox, B. du Boulay and R. Lutz. A survey of external representations employed in object-oriented programming environments. In Journal of Visual Languages and Computing, volume 14, pp. 387–419, 2003.CrossRefGoogle Scholar
  20. 20.
    M. H. Brown and J. Hershberger. Fundamental techniques for algorithm animation displays. In Software Visualization, J. Stasko, J. Domingue, M. H. Brown and B. A. Price, Eds. Cambridge, MA: MIT Press. 1998, pp. 81–89.Google Scholar
  21. 21.
    M. H. Brown and M. A. Najork. Algorithm animation using interactive 3D graphics. In Software Visualization, J. Stasko, J. Domingue, M. H. Brown and B. A. Price, Eds. Cambridge, MA: MIT Press. 1998, pp. 119–135.Google Scholar
  22. 22.
    L. Stern and L. Naish. Visual representations for recursive algorithms. In Proceedings of the 33th SIGCSE Technical Symposium on Science Education, SIGCSE 2002, pp. 196–200.Google Scholar
  23. 23.
    J. Á. Velázquez-Iturbide, A. Pérez-Carrasco and J. Urquiza-Fuentes. A design of automatic visualizations for divide-and-conquer algorithms. In Electronic Notes in Theoretical Computer Science, no. 224, pp. 113–120, January 2009.Google Scholar
  24. 24.
    J. Á. Velázquez-Iturbide, D. Redondo-Martín, C. Pareja-Flores and J. Urquiza-Fuentes. An instructor’s guide to design web-based algorithm animations. In Advances in Web-Based Learning – ICWL 2007, LNCS 4823, Springer-Verlag. 2008, pp. 440–451.Google Scholar
  25. 25.
    S. Hansen, D. Schrimpsher and N. H. Narayanan. Designing educationally effective algorithm animations. In Journal of Visual Languages and Computing, volume 13, pp. 291–317, 2002.CrossRefGoogle Scholar
  26. 26.
    L. Stern, H. Sondergaard and L. Naish. A strategy for managing content complexity in algorithm animation. In Proceedings of the 4 th Annual Conference on Innovation and Technology in Computer Science Education, ITiCSE 1999, pp. 127–130.Google Scholar
  27. 27.
    J. Á. Velázquez-Iturbide, O. Debdi, N. Esteban-Sánchez and C. Pizarro. GreedEx: A visualization tool for experimentation and discovery learning of greedy algorithms. In IEEE Transactions on Learning Technologies, in press.Google Scholar
  28. 28.
    J. Á. Velázquez-Iturbide. Characterizing time and interaction in a space of software visualizations. In Proceedings of the Sixth Program Visualization Workshop, PVW 2011, pp. 43–51.Google Scholar
  29. 29.
    K. Sugiyama. Graph Drawing and Applications for Software and Knowledge Engineers. Singapore: World Scientific, 2002.MATHCrossRefGoogle Scholar
  30. 30.
    P. di Batista, G. Eades, T. Tamassia and I. Tollis. Graph Drawing: Algorithms for the Visualization of Graphs. Prentice-Hall, 1999.Google Scholar
  31. 31.
    J. Bertin. Semiology of Graphics. Madison, WI: University of Wisconsin Press, 1983.Google Scholar
  32. 32.
    W. Cleveland. Visualizing Data. Mummit, NJ: Hobart Press, 1993.Google Scholar
  33. 33.
    M. Agrawala, W. Li and F. Berthouzoz. Design principles for visual communication. In Communications of the ACM, volume 54, no. 4, pp. 60–69, April 2011.CrossRefGoogle Scholar
  34. 34.
    L. Fernández-Muñoz and J. Á. Velázquez-Iturbide. Estudio sobre la visualización de las técnicas de diseño de algoritmos. In Interacción’06: Actas del VII Congreso Internacional de Interacción Persona-Ordenador, pp. 315–324.Google Scholar
  35. 35.
    M. H. Alsuwaiyel. Algorithms, Design Techniques and Analysis. World Scientific, 1999.Google Scholar
  36. 36.
    G. Brassard and P. Bratley. Algorithmics: Theory and Practice. Prentice-Hall, 1988.Google Scholar
  37. 37.
    G. Brassard and P. Bratley. Fundamentals of Algorithmics. Prentice-Hall, 1996.Google Scholar
  38. 38.
    T. H. Cormen, C. E. Leiserson and R. L. Rivest. Introduction to algorithms. Cambridge, MA: MIT Press, 2nd ed., 2001.MATHGoogle Scholar
  39. 39.
    J. Gonzalo-Arroyo and M. Rodríguez-Artacho. Esquemas algorítmicos: enfoque metodológico y problemas resueltos. Madrid, Spain: Universidad Nacional de Educación a Distancia, 1997.Google Scholar
  40. 40.
    R. Johnsonbaugh and M. Schaefer. Algorithms. Pearson Education, 2004.Google Scholar
  41. 41.
    J. Kleinberg and É. Tardos. Algorithm Design. Pearson Addison-Wesley, 2006.Google Scholar
  42. 42.
    R.C.T., Lee, S.S., Tseng, R.C., Chang and Y.T. Tsai. Introduction to the Design and Analysis of Algorithms. Singapore: McGraw-Hill, 2005.Google Scholar
  43. 43.
    A. Levitin. The Design of Analysis of Algorithms. Addison-Wesley. 2003.Google Scholar
  44. 44.
    N. Martí-Oliet and Ortega and J. A. Verdejo. Estructuras de datos y métodos algorítmicos ejercicios resueltos. Madrid, Spain: Pearson, 2004.Google Scholar
  45. 45.
    I. Parberry. Problems on Algorithms. Prentice–Hall, 2002.Google Scholar
  46. 46.
    S. Sahni. Data Structures, Algorithms and Applications in Java. Summit, NJ: Silicon Press, 2005.Google Scholar
  47. 47.
    M. A. Weiss. Data Structures and Algorithms Analysis. Addison-Wesley, 1992.Google Scholar
  48. 48.
    S. Baase and A. Van Gelder. Computer Algorithms: Introduction to Design and Analysis. Addison-Wesley Longman, 2000.Google Scholar
  49. 49.
    M. T. Goodrich and R. Tamassia. Data Structures and Algorithms in Java. John Wiley & Sons, 2nd ed., 2001.Google Scholar
  50. 50.
    E. Horowitz and S. Sahni. Fundamentals of Computer Algorithms. Pitman, 1978.Google Scholar
  51. 51.
    R. Neapolitan and K. Naimipour. Foundations of Algorithms. Jones and Bartlett, 1997.Google Scholar
  52. 52.
    R. Sedgewick. Algorithms in Java. Addison-Wesley, 2002.Google Scholar
  53. 53.
    S. Skiena. The Algorithm Design Manual. Berlin, Germany: Springer-Verlag, 1998.Google Scholar
  54. 54.
    A. Pérez-Carrasco, J. Á. Velázquez-Iturbide and F. Almeida-Martínez. Revisión bibliográfica de la representación de problemas de la técnica «divide y vencerás». In Serie de Informes Técnicos DLSI1-URJC, Universidad Rey Juan Carlos, Spain, no. 2012–02, 2012.Google Scholar
  55. 55.
    N. Esteban-Sánchez and J. Á. Velázquez-Iturbide. Revisión bibliográfica de problemas resolubles por la técnica de vuelta atrás. In Serie de Informes Técnicos DLSI1-URJC, Universidad Rey Juan Carlos, Spain, no. 2012–03, 2012.Google Scholar
  56. 56.
    B. Sáenz-Rubio and J. Á. Velázquez-Iturbide. Revisión bibliográfica de algoritmos de programación dinámica. In Serie de Informes Técnicos DLSI1-URJC, Universidad Rey Juan Carlos, Spain, no. 2012–04, 2012.Google Scholar
  57. 57.
    B. Glaser and A. Strauss. The Discovery of Grounded Theory: Strategies for Qualitative Research. Aldine, 1967.Google Scholar
  58. 58.
    N. Esteban Sánchez, A. Pérez Carrasco, B. Sáenz Rubio and J. Á. Velázquez Iturbide. Towards the identification of graphical principles for visualizing algorithm design techniques. In Proceedings of the 2012 International Symposium on Computers in Education, SIIE 2012, 5 pp.Google Scholar
  59. 59.
    J.S. Yi, a. Kang, J.T. Stasko and J.A. Jacko. Toward a deeper understanding of the role of interaction in information visualization. In IEEE Transactions on Visualization and Computer Graphics, volume 13, no. 6, pp. 1.224―1.231, November/December 2007.Google Scholar
  60. 60.
    Y. K. Leung and M. D. Apperley. A review and taxonomy of distortion-oriented presentation techniques. In ACM Transactions on Computer-Human Interaction, volume 1, no. 2, pp. 126–160. June 1994.CrossRefGoogle Scholar
  61. 61.
    J. Á. Velázquez-Iturbide and A. Pérez-Carrasco. InfoVis interaction techniques in animation of recursive programs. In Algorithms, volume 3, no. 1, pp. 76–91, March 2010.CrossRefGoogle Scholar

Copyright information

© Springer Science+Business Media New York 2014

Authors and Affiliations

  1. 1.Departamento de Lenguajes y Sistemas Informáticos I, Escuela Técnica Superior de Ingeniería InformáticaUniversidad Rey Juan CarlosMóstolesSpain

Personalised recommendations