skip to main content
research-article

A Review of Generic Program Visualization Systems for Introductory Programming Education

Published:01 November 2013Publication History
Skip Abstract Section

Abstract

This article is a survey of program visualization systems intended for teaching beginners about the runtime behavior of computer programs. Our focus is on generic systems that are capable of illustrating many kinds of programs and behaviors. We inclusively describe such systems from the last three decades and review findings from their empirical evaluations. A comparable review on the topic does not previously exist; ours is intended to serve as a reference for the creators, evaluators, and users of educational program visualization systems. Moreover, we revisit the issue of learner engagement which has been identified as a potentially key factor in the success of educational software visualization and summarize what little is known about engagement in the context of the generic program visualization systems for beginners that we have reviewed; a proposed refinement of the frameworks previously used by computing education researchers to rank types of learner engagement is a side product of this effort. Overall, our review illustrates that program visualization systems for beginners are often short-lived research prototypes that support the user-controlled viewing of program animations; a recent trend is to support more engaging modes of user interaction. The results of evaluations largely support the use of program visualization in introductory programming education, but research to date is insufficient for drawing more nuanced conclusions with respect to learner engagement. On the basis of our review, we identify interesting questions to answer for future research in relation to themes such as engagement, the authenticity of learning tasks, cognitive load, and the integration of program visualization into introductory programming pedagogy.

References

  1. Ahoniemi, T. and Lahtinen, E. 2007. Visualizations in preparing for programming exercise sessions. Elec. Notes Theoret. Comp. Sci. 178, 137--144. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Algoviz. n.d. Algoviz.org: The algorithm visualization portal. http://www.algoviz.org/.Google ScholarGoogle Scholar
  3. Allen, E., Cartwright, R., and Stoler, B. 2002. DrJava: A lightweight pedagogic environment for Java. SIGCSE Bull. 34, 1, 137--141. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Alsaggaf, W., Hamilton, M., Harland, J., D’Souza, D., and Laakso, M.-J. 2012. The use of laptop computers in programming lectures. In Proceedings of the 23rd Australasian Conference on Information Systems (ACIS’12). 1--11.Google ScholarGoogle Scholar
  5. Anderson, L. W., Krathwohl, D. R., Airasian, P. W., Cruikshank, K. A., Mayer, R. E., Pintrich, P. R., Raths, J., and Wittrock, M. C. 2001. A Taxonomy for Learning, Teaching, and Assessing: A Revision of Bloom’s Taxonomy of Educational Objectives. Longman.Google ScholarGoogle Scholar
  6. Andrianoff, S. K. and Levine, D. B. 2002. Role playing in an object-oriented world. SIGCSE Bull. 34, 1, 121--125. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Atwood, J. 2008. Everything I needed to know about programming I learned from BASIC (blog post). http://www.codinghorror.com/blog/2008/04/everything-i-needed-to-know-about-programming-i-learned-from-basic.html.Google ScholarGoogle Scholar
  8. Auguston, M. and Reinfelds, J. 1994. A visual Miranda machine. In Proceedings of the Software Education Conference (SEC’94). 198--203.Google ScholarGoogle Scholar
  9. Bares, W. H., Zettlemoyer, L. S., and Lester, J. C. 1998. Habitable 3D learning environments for situated learning. In Proceedings of the 4th International Conference on Intelligent Tutoring Systems (ITS’98). 76--85. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Beck, K. and Cunningham, W. 1989. A laboratory for teaching object oriented thinking. SIGPLAN Not. 24, 10, 1--6. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Bednarik, R., Myller, N., Sutinen, E., and Tukiainen, M. 2006. Analyzing individual differences in program comprehension. Tech. Instruc. Cogn. Learn. 3, 3, 205--232.Google ScholarGoogle Scholar
  12. Ben-Ari, M. 2001. Constructivism in computer science education. J. Comp. Math. Sci. Teach. 20, 1, 45--73. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Ben-Ari, M., Bednarik, R., Ben-Bassat Levy, R., Ebel, G., Moreno, A., Myller, N., and Sutinen, E. 2011. A decade of research and development on program animation: The Jeliot experience. J. Vis. Lang. Comput. 22, 375--384.Google ScholarGoogle ScholarCross RefCross Ref
  14. Ben-Bassat Levy, R. and Ben-Ari, M. 2007. We work so hard and they don’t use it: Acceptance of software tools by teachers. SIGCSE Bull. 39, 3, 246--250. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Ben-Bassat Levy, R., Ben-Ari, M., and Uronen, P. A. 2003. The Jeliot 2000 program animation system. Comp. Educ. 40, 1, 1--15. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Bennedsen, J. and Schulte, C. 2010. BlueJ visual debugger for learning the execution of object-oriented programs? ACM Trans. Comput. Educ. 10, 2, 1--22. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Biermann, A. W., Fahmy, A. F., Guinn, C., Pennock, D., Ramm, D., and Wu, P. 1994. Teaching a hierarchical model of computation with animation software in the first course. SIGCSE Bull. 26, 1, 295--299. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Birch, M. R., Boroni, C. M., Goosey, F. W., Patton, S. D., Poole, D. K., Pratt, C. M., and Ross, R. J. 1995. DYNALAB: A dynamic computer science laboratory infrastructure featuring program animation. SIGCSE Bull. 27, 1, 29--33. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Bloom, B. S. 1956. Taxonomy of Educational Objectives, Handbook 1: Cognitive Domain. Addison Wesley.Google ScholarGoogle Scholar
  20. Booth, S. 1992. Learning to program: A phenomenographic perspective. Doctoral dissertation, University of Gothenburg.Google ScholarGoogle Scholar
  21. Boroni, C. M., Eneboe, T. J., Goosey, F. W., Ross, J. A., and Ross, R. J. 1996. Dancing with DynaLab: Endearing the science of computing to students. SIGCSE Bull. 28, 1, 135--139. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Brito, S., Silva, A. S., Tavares, O., Favero, E. L., and Francês, C. R. L. 2011. Computer supported collaborative learning for helping novice students acquire self-regulated problem-solving skills in computer programming. In Proceedings of the 7th International Conference on Frontiers in Education: Computer Science and Computer Engineering (FECS’11). 65--73.Google ScholarGoogle Scholar
  23. Brown, M. H. 1988. Exploring algorithms using Balsa-II. Comp. 21, 5, 14--36. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Bruce-Lockhart, M. P., Crescenzi, P., and Norvell, T. S. 2009. Integrating test generation functionality into the teaching machine environment. In Electronic Notes in Theoretical Computer Science, vol. 224, 115--124. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Bruce-Lockhart, M. P. and Norvell, T. S. 2000. Lifting the hood of the computer: Program animation with the teaching machine. In Proceedings of the Canadian Conference on Electrical and Computer Engineering (CCECE’00). 831--835.Google ScholarGoogle Scholar
  26. Bruce-Lockhart, M. P. and Norvell, T. S. 2007. Developing mental models of computer programming interactively via the Web. In Proceedings of the 37th Annual Frontiers in Education Conference (FIE’07).Google ScholarGoogle Scholar
  27. Bruce-Lockhart, M. P., Norvell, T. S., and Cotronis, Y. 2007. Program and algorithm visualization in engineering and physics. In Electronic Notes in Theoretical Computer Science, vol. 178, 111--119. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Brusilovsky, P. and Loboda, T. D. 2006. WADEIn II: A case for adaptive explanatory visualization. SIGCSE Bull. 38, 3, 48--52. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Brusilovsky, P. L. 1992. Intelligent tutor, environment and manual for introductory programming. Educ. Train. Tech. Int. 29, 1, 26--34.Google ScholarGoogle ScholarCross RefCross Ref
  30. Byckling, P. and Sajaniemi, J. 2005. Using roles of variables in teaching: Effects on program construction. In Proceedings of the 17th Workshop of the Psychology of Programming Interest Group (PPIG’05). 278--292.Google ScholarGoogle Scholar
  31. Carlisle, M. C. 2009. Raptor: A visual programming environment for teaching object-oriented programming. J. Comput. Sci. Coll. 24, 4, 275--281. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Clancy, M. 2004. Misconceptions and attitudes that interfere with learning to program. In Computer Science Education Research, S. Fincher and M. Petre Eds., Routledge, 85--100.Google ScholarGoogle Scholar
  33. Clark, R. E. 1982. Antagonism between achievement and enjoyment in ATI studies. Educat. Psychol. 17, 2, 92--101.Google ScholarGoogle ScholarCross RefCross Ref
  34. Corritore, C. L. and Wiedenbeck, S. 1991. What do novices learn during program comprehension? Int. J. Hum.-Comput. Inter. 3, 2, 199--222.Google ScholarGoogle ScholarCross RefCross Ref
  35. Cross, II, J. H., Barowski, L. A., Hendrix, T. D., and Teate, J. C. 1996. Control structure diagrams for Ada 95. In Proceedings of TRI-Ada: Disciplined Software Development (ADA’96). 143--147. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. Cross, II, J. H., Hendrix, T. D., and Barowski, L. A. 2002. Using the debugger as an integral part of teaching CS1. In Proceedings of the 32nd Annual Frontiers in Education Conference (FIE’02).Google ScholarGoogle Scholar
  37. Cross, II, J. H., Hendrix, T. D., and Barowski, L. A. 2011. Combining dynamic program viewing and testing in early computing courses. In Proceedings of the 35th Annual IEEE International Computer Software and Applications Conference (COMPSAC’11). 184--192. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. Cross, II, J. H., Barowski, L. A., Hendrix, D., Umphress, D., and Jain, J. n.d. jGRASP - An integrated development environment with visualizations for improving software comprehensibility (website). http://www.jgrasp.org/.Google ScholarGoogle Scholar
  39. Cypher, A. 1993. Watch What I Do: Programming by Demonstration. MIT Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. Deng, J. 2003. Programming by demonstration environment for 1st year students. Master’s thesis, School of Mathematics, Statistics and Computer Science, Victoria University of Wellington.Google ScholarGoogle Scholar
  41. Dönmez, O. and İnceoğlu, M. M. 2008. A Web-based tool for novice programmers: Interaction in use. In Proceedings of the International Conference on Computational Science and its Applications (ICCSA’08). Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. du Boulay, B. 1986. Some difficulties of learning to program. J. Educ. Comput. Res. 2, 1, 57--73.Google ScholarGoogle ScholarCross RefCross Ref
  43. du Boulay, B., O’Shea, T., and Monk, J. 1981. The black box inside the glass box: Presenting computing concepts to novices. Int. J. Man-Mach. Stud. 14, 237--249.Google ScholarGoogle ScholarCross RefCross Ref
  44. Ebel, G. and Ben-Ari, M. 2006. Affective effects of program visualization. In Proceedings of the 2nd International Workshop on Computing Education Research (ICER’06). 1--5. Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. Eckerdal, A. and Thuné, M. 2005. Novice Java programmers’ conceptions of “object” and “class”, and variation theory. SIGCSE Bull. 37, 3, 89--93. Google ScholarGoogle ScholarDigital LibraryDigital Library
  46. Eskola, J. and Tarhio, J. 2002. On visualization of recursion with Excel. In Proceedings of the 2nd Program Visualization Workshop (PVW’02). 45--51.Google ScholarGoogle Scholar
  47. Esteves, M. and Mendes, A. J. 2003. OOP-Anim, a system to support learning of basic object oriented programming concepts. In Proceedings of the 4th International Conference on Computer Systems and Technologies: e-Learning (CompSysTech’03). 573--579. Google ScholarGoogle ScholarDigital LibraryDigital Library
  48. Esteves, M. and Mendes, A. J. 2004. A simulation tool to help learning of object oriented programming basics. In Proceedings of the 34th Annual Frontiers in Education Conference (FIE’04).Google ScholarGoogle Scholar
  49. Etheredge, J. 2004. CMeRun: Program logic debugging courseware for CS1/CS2 Students. SIGCSE Bull. 36, 1, 22--25. Google ScholarGoogle ScholarDigital LibraryDigital Library
  50. Fernández, A., Rossi, G., Morelli, P., Garcia Mari, L., Miranda, S., and Suarez, V. 1998. A learning environment to improve object-oriented thinking. In Proceedings of the Conference on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA’98).Google ScholarGoogle Scholar
  51. Fincher, S., E. A. n.d. Share project: Sharing & representing teaching practice (website). http://www.sharingpractice.ac.uk/homepage.html.Google ScholarGoogle Scholar
  52. Findler, R. B., Clements, J., Flanagan, C., Flatt, M., Krishnamurthi, S., Steckler, P., and Felleisen, M. 2002. DrScheme: A programming environment for scheme. J. Func. Program. 12, 2, 159--182. Google ScholarGoogle ScholarDigital LibraryDigital Library
  53. Fitzgerald, S., Lewandowski, G., McCauley, R., Murphy, L., Simon, B., Thomas, L., and Zander, C. 2008. Debugging: Finding, fixing and flailing, a multi-institutional study of novice debuggers. Comp. Sci. Educ. 18, 2, 93--116.Google ScholarGoogle ScholarCross RefCross Ref
  54. Gajraj, R. R., Williams, M., Bernard, M., and Singh, L. 2011. Transforming source code examples into programming tutorials. In Proceedings of the 6th International Multi-Conference on Computing in the Global Information Technology (ICCGI’11). 160--164.Google ScholarGoogle Scholar
  55. Gallego-Carrillo, M., Gortázar-Bellas, F., and Velázquez-Iturbide, J. Á. 2004. JavaMod: An integrated Java model for Java software visualization. In Proceedings of the 3rd Program Visualization Workshop (PVW’04). 102--109.Google ScholarGoogle Scholar
  56. George, C. E. 2000a. EROSI - Visualizing recursion and discovering new errors. SIGCSE Bull. 32, 1, 305--309. Google ScholarGoogle ScholarDigital LibraryDigital Library
  57. George, C. E. 2000b. Evaluating a pedagogic innovation: Execution models & program construction ability. In Proceedings of the 1st Annual Conference of the LTSN Centre for Information and Computer Sciences (LTSN’00). 98--103.Google ScholarGoogle Scholar
  58. George, C. E. 2000c. Experiences with novices: The importance of graphical representations in supporting mental models. In Proceedings of the 12th Workshop of the Psychology of Programming Interest Group (PPIG’00). 33--44.Google ScholarGoogle Scholar
  59. George, C. E. 2002. Using visualization to aid program construction tasks. SIGCSE Bull. 34, 1, 191--195. Google ScholarGoogle ScholarDigital LibraryDigital Library
  60. Gestwicki, P. and Jayaraman, B. 2005. Methodology and architecture of JIVE. In Proceedings of the ACM Symposium on Software Visualization (SoftVis’05). 95--104. Google ScholarGoogle ScholarDigital LibraryDigital Library
  61. Gilligan, D. 1998. An exploration of programming by demonstration in the domain of novice programming. Master’s thesis, School of Mathematics, Statistics and Computer Science, Victoria University of Wellington.Google ScholarGoogle Scholar
  62. Goldman, K., Gross, P., Heeren, C., Herman, G., Kaczmarczyk, L., Loui, M. C., and Zilles, C. 2008. Identifying important and difficult concepts in introductory computing courses using a Delphi process. SIGCSE Bull. 40, 1, 256--260. Google ScholarGoogle ScholarDigital LibraryDigital Library
  63. Gómez-Martín, P. P., Gómez-Martín, M. A., Díaz-Agudo, B., and González-Calero, P. A. 2005. Opportunities for CBR in learning by doing. In Proceedings of the 6th International Conference on Case-Based Reasoning (ICCBR’05). 267--281. Google ScholarGoogle ScholarDigital LibraryDigital Library
  64. Gómez-Martín, M. A., Gómez-Martín, P. P., and González-Calero, P. A. 2006. Dynamic binding is the name of the game. In Proceedings of the Conference on Entertainment Computing (ICEC’06). 229--232. Google ScholarGoogle ScholarDigital LibraryDigital Library
  65. Gondow, K., Fukuyasu, N., and Arahori, Y. 2010. MieruCompiler: Integrated visualization tool with “horizontal slicing” for educational compilers. In Proceedings of the 41st ACM Technical Symposium on Computer Science Education (SIGCSE’10). 7--11. Google ScholarGoogle ScholarDigital LibraryDigital Library
  66. Gračanin, D., Matković, K., and Eltoweissy, M. 2005. Software visualization. Innov. Syst. Softw. Eng. 1, 2, 221--230.Google ScholarGoogle ScholarCross RefCross Ref
  67. Gries, D. 2008. A principled approach to teaching OO first. SIGCSE Bull. 40, 1, 31--35. Google ScholarGoogle ScholarDigital LibraryDigital Library
  68. Gries, P. and Gries, D. 2002. Frames and folders: A teachable memory model for Java. J. Comput. Sci. Coll. 17, 6, 182--196. Google ScholarGoogle ScholarDigital LibraryDigital Library
  69. Gries, P., Mnih, V., Taylor, J., Wilson, G., and Zamparo, L. 2005. Memview: A pedagogically-motivated visual debugger. In Proceedings of the 35th Annual Frontiers in Education Conference (FIE’05). 11--16.Google ScholarGoogle Scholar
  70. Guo, P. J. 2013. Online Python tutor: Embeddable web-based program visualization for CS education. In Proceedings of the 44th ACM Technical Symposium on Computer Science Education (SIGCSE’13). Google ScholarGoogle ScholarDigital LibraryDigital Library
  71. Haajanen, J., Pesonius, M., Sutinen, E., Tarhio, J., Teräsvirta, T., and Vanninen, P. 1997. Animation of user algorithms on the Web. In Proceedings of Symposium on Visual Languages (VL’97). 360--367. Google ScholarGoogle ScholarDigital LibraryDigital Library
  72. Hattie, J. and Purdie, N. 1998. The SOLO model: Addressing fundamental measurement issues. In Teaching and Learning in Higher Education, B. Dart and G. Boulton-Lewis Eds., Australian Council for Educational Research, 145--176.Google ScholarGoogle Scholar
  73. Hauswirth, M., Jazayeri, M., and Winzer, A. 1998. A Java-based environment for teaching programming language concepts. In Proceedings of the 28th Annual Frontiers in Education Conference (FIE’98). 296--300. Google ScholarGoogle ScholarDigital LibraryDigital Library
  74. Helminen, J. 2009. Jype - An education-oriented integrated program visualization, visual debugging, and programming exercise tool for Python. Master’s thesis, Department of Computer Science and Engineering, Helsinki University of Technology.Google ScholarGoogle Scholar
  75. Helminen, J. and Malmi, L. 2010. Jype - A program visualization and programming exercise tool for Python. In Proceedings of the 5th International Symposium on Software visualization (SOFTVIS’10). 153--162. Google ScholarGoogle ScholarDigital LibraryDigital Library
  76. Hertz, M. and Jump, M. 2013. Trace-based teaching in early programming courses. In Proceedings of the 44th ACM Technical Symposium on Computer Science Education (SIGCSE’13). 561--566. Google ScholarGoogle ScholarDigital LibraryDigital Library
  77. Holliday, M. A. and Luginbuhl, D. 2004. CS1 assessment using memory diagrams. SIGCSE Bull. 36, 1, 200--204. Google ScholarGoogle ScholarDigital LibraryDigital Library
  78. Huizing, C., Kuiper, R., Luijten, C., and Vandalon, V. 2012. Visualization of object-oriented (Java) programs. In Proceedings of the 4th International Conference on Computer Supported Education (CSEDU’12). 65--72.Google ScholarGoogle Scholar
  79. Hundhausen, C. D., Douglas, S. A., and Stasko, J. T. 2002. A meta-study of algorithm visualization effectiveness. J. Vis. Lang. Comput. 13, 3, 259--290.Google ScholarGoogle ScholarCross RefCross Ref
  80. Isoda, S., Shimomura, T., and Ono, Y. 1987. VIPS: A visual debugger. IEEE Softw. 4, 3, 8--19. Google ScholarGoogle ScholarDigital LibraryDigital Library
  81. Isohanni, E. and Knobelsdorf, M. 2010. Behind the curtain: Students’ use of VIP after class. In Proceedings of the 6th International Workshop on Computing Education Research (ICER’10). 87-96. Google ScholarGoogle ScholarDigital LibraryDigital Library
  82. Isohanni, E. and Knobelsdorf, M. 2011. Students’ long-term engagement with the visualization tool VIP. In Proceedings of the 11th Koli Calling International Conference on Computing Education Research (KoliCalling’11). 33--38. Google ScholarGoogle ScholarDigital LibraryDigital Library
  83. Jiménez-Díaz, G., Gómez-Albarrán, M., Gómez-Martín, M. A., and González-Calero, P. A. 2005. Software behavior understanding supported by dynamic visualization and role-play. SIGCSE Bull. 37, 3, 54--58. Google ScholarGoogle ScholarDigital LibraryDigital Library
  84. Jiménez-Díaz, G., Gómez-Albarrán, M., and González-Calero, P. A. 2008. Role-Play virtual environments: Recreational learning of software design. In Proceedings of the 3rd European Conference on Technology Enhanced Learning: Times of Convergence: Technologies Across Learning Contexts (EC-TEL’08). 27--32. Google ScholarGoogle ScholarDigital LibraryDigital Library
  85. Jiménez-D’iaz, G., González-Calero, P. A., and Gómez-Albarrán, M. 2011. Role-play virtual worlds for teaching object-oriented design: The ViRPlay development experience. Softw. Prac. Exp. 42, 2, 235--253. Google ScholarGoogle ScholarDigital LibraryDigital Library
  86. Jiménez-Peris, R., Pareja-Flores, C., Patiño-Martínez, M., and Velázquez-Iturbide, J. Á. 1997. The locker metaphor to teach dynamic memory. SIGCSE Bull. 29, 1, 169--173. Google ScholarGoogle ScholarDigital LibraryDigital Library
  87. Jiménez-Peris, R., Patiño-Martínez, M., and Pacios-Martínez, J. 1999. VisMod: A beginner-friendly programming environment. In Proceedings of the ACM Symposium on Applied Computing (SAC’99). 115--120. Google ScholarGoogle ScholarDigital LibraryDigital Library
  88. Jones, A. 1992. Conceptual models of programming environments: How learners use the glass box. Instruct. Sci. 21, 6, 473--500.Google ScholarGoogle ScholarCross RefCross Ref
  89. Kaila, E. 2008. A survey of Finnish university teachers on the teaching of programming and tool adoption, in Finnish. http://www.cs.hut.fi/Research/COMPSER/Verkostohanke/raportti.pdf.Google ScholarGoogle Scholar
  90. Kaila, E., Rajala, T., Laakso, M.-J., and Salakoski, T. 2008. Automatic assessment of program visualization exercises. In Proceedings of the 8th Koli Calling International Conference on Computing Education Research (KoliCalling’08). 105--108. Google ScholarGoogle ScholarDigital LibraryDigital Library
  91. Kaila, E., Laakso, M.-J., Rajala, T., and Salakoski, T. 2009a. Evaluation of learner engagement in program visualization. In Proceedings of the12th International Conference on Computers and Advanced Technology in Education (IASTED’09).Google ScholarGoogle Scholar
  92. Kaila, E., Rajala, T., Laakso, M.-J., and Salakoski, T. 2009b. Effects, experiences and feedback from studies of a program visualization tool. Inform. Educ. 8, 1, 17--34.Google ScholarGoogle Scholar
  93. Kaila, E., Rajala, T., Laakso, M.-J., and Salakoski, T. 2010. Effects of course-long use of a program visualization tool. In Proceedings of the 12th Australasian Conference on Computing Education (ACE’10). 97--106. Google ScholarGoogle ScholarDigital LibraryDigital Library
  94. Kannusmäki, O., Moreno, A., Myller, N., and Sutinen, E. 2004. What a novice wants: Students using program visualization in distance programming course. In Proceedings of the 3rd Program Visualization Workshop (PVW’04). 126--133.Google ScholarGoogle Scholar
  95. Karavirta, V. 2007. Integrating algorithm visualization systems. In Electronic Notes in Theoretical Computer Science, vol. 178, 79--87. Google ScholarGoogle ScholarDigital LibraryDigital Library
  96. Kasmarik, K. and Thurbon, J. 2003. Experimental evaluation of a program visualization tool for use in computer science education. In Proceedings of the Asia-Pacific Symposium on Information Visualisation (APVis’03). 111--116. Google ScholarGoogle ScholarDigital LibraryDigital Library
  97. Kelleher, C. and Pausch, R. 2005. Lowering the barriers to programming: A taxonomy of programming environments and languages for novice programmers. ACM Comput. Surv. 37, 2, 83--137. Google ScholarGoogle ScholarDigital LibraryDigital Library
  98. Kirby, S., Toland, B., and Deegan, C. 2010. Program visualization tool for teaching programming in C. In Proceedings of the International Conference on Education, Training and Informatics (ICETI’10).Google ScholarGoogle Scholar
  99. Kölling, M. 2008. Using BlueJ to introduce programming. In Reflections on the Teaching of Programming: Methods and Implementations, J. Bennedsen, M. E. Caspersen, and M. Kolling Eds., Springer, 98--115. Google ScholarGoogle ScholarDigital LibraryDigital Library
  100. Kollmansberger, S. 2010. Helping students build a mental model of computation. In Proceedings of the 15th Annual Conference on Innovation and Technology in Computer Science Education (ITiCSE’10). 128--131. Google ScholarGoogle ScholarDigital LibraryDigital Library
  101. Korhonen, A. n.d. Ohjelmoinnin perusopetuksen verkosto. http://www.cs.hut.fi/Research/COMPSER/Verkostohanke/index.shtml A website for networking amongst Finnish teachers of introductory programming. Finnish Virtual University.Google ScholarGoogle Scholar
  102. Korhonen, A., Helminen, J., Karavirta, V., and Seppälä, O. 2009a. TRAKLA2. In Proceedings of the 9th Koli Calling International Conference on Computing Education Research (KoliCalling’09). 43--46.Google ScholarGoogle Scholar
  103. Korhonen, A., Laakso, M.-J., and Myller, N. 2009b. How does algorithm visualization affect collaboration? Video analysis of engagement and discussions. In Proceedings of the 5th International Conference on Web Information Systems and Technologies (WEBIST’09). 479--488.Google ScholarGoogle Scholar
  104. Korhonen, A., Malmi, L., Silvasti, P., Karavirta, V., Lönnberg, J., Nikander, J., Stålnacke, K., and Ihantola, P. 2004. Matrix - A framework for interactive software visualization. Research rep. TKO-B 154/04, Department of Computer Science and Engineering, Helsinki University of Technology.Google ScholarGoogle Scholar
  105. Korsh, J. F. and Sangwan, R. 1998. Animating programs and students in the laboratory. In Proceedings of the 28th Annual Frontiers in Education Conference (FIE’98). 1139--1144. Google ScholarGoogle ScholarDigital LibraryDigital Library
  106. Kumar, A. N. 2005. Results from the evaluation of the effectiveness of an online tutor on expression evaluation. SIGCSE Bull. 37, 1, 216--220. Google ScholarGoogle ScholarDigital LibraryDigital Library
  107. Kumar, A. N. 2009. Data space animation for learning the semantics of C++ pointers. SIGCSE Bull. 41, 1, 499--503. Google ScholarGoogle ScholarDigital LibraryDigital Library
  108. Laakso, M.-J., Myller, N., and Korhonen, A. 2009. Comparing learning performance of students using algorithm visualizations collaboratively on different engagement levels. J. Educ. Tech. Soc. 12, 2, 267--282.Google ScholarGoogle Scholar
  109. Laakso, M.-J., Rajala, T., Kaila, E., and Salakoski, T. 2008. The impact of prior experience in using a visualization tool on learning to program. In Proceedings of Cognition and Exploratory Learning in Digital Age (CELDA’08). 129--136.Google ScholarGoogle Scholar
  110. LaFollette, P., Korsh, J., and Sangwan, R. 2000. A visual interface for effortless animation of C/C++ programs. J. Vis. Lang. Comput. 11, 1, 27--48.Google ScholarGoogle ScholarDigital LibraryDigital Library
  111. Lahtinen, E. and Ahoniemi, T. 2005. Visualizations to support programming on different levels of cognitive development. In Proceedings of the 5th Koli Calling Conference on Computer Science Education (KoliCalling’05). 87---94.Google ScholarGoogle Scholar
  112. Lahtinen, E. and Ahoniemi, T. 2007. Annotations for defining interactive instructions to interpreter based program visualization tools. In Electronic Notes in Theoretical Computer Science, vol. 178, 121--128. Google ScholarGoogle ScholarDigital LibraryDigital Library
  113. Lahtinen, E., Ala-Mutka, K., and Järvinen, H.-M. 2005. A study of the difficulties of novice programmers. SIGCSE Bull. 37, 3, 14--18. Google ScholarGoogle ScholarDigital LibraryDigital Library
  114. Lahtinen, E., Ahoniemi, T., and Salo, A. 2007a. Effectiveness of integrating program visualizations to a programming course. In Proceedings of the 7th Baltic Sea Conference on Computing Education Research (KoliCalling’07). 195--198. Google ScholarGoogle ScholarDigital LibraryDigital Library
  115. Lahtinen, E., Järvinen, H.-M., and Melakoski-Vistbacka, S. 2007b. Targeting program visualizations. SIGCSE Bull. 39, 3, 256--260. Google ScholarGoogle ScholarDigital LibraryDigital Library
  116. Larochelle, M., Bednarz, N., and Garrison, J., Eds. 1998. Constructivism and Education. Cambridge University Press.Google ScholarGoogle Scholar
  117. Lattu, M., Meisalo, V., and Tarhio, J. 2003. A visualization tool as a demonstration aid. Comp. Educ. 41, 2, 133--148. Google ScholarGoogle ScholarDigital LibraryDigital Library
  118. Lattu, M., Tarhio, J., and Meisalo, V. 2000. How a visualization tool can be used - Evaluating a tool in a research & development project. In Proceedings of the 18th Workshop of the Psychology of Programming Interest Group (PPIG’’00). 19--32.Google ScholarGoogle Scholar
  119. Lauer, T. 2006. Learner interaction with algorithm visualizations: Viewing vs. changing vs. constructing. SIGCSE Bull. 38, 3, 202--206. Google ScholarGoogle ScholarDigital LibraryDigital Library
  120. Lessa, D., Czyz, J. K., Gestwicki, P. V., and Jayaraman, B. n.d. JIVE: Java interactive visualization environment (website). http://www.cse.buffalo.edu/jive/.Google ScholarGoogle Scholar
  121. Lieberman, H. 1984. Steps toward better debugging tools for LISP. In Proceedings of the ACM Symposium on LISP and Functional Programming (LFP’84). 247--255. Google ScholarGoogle ScholarDigital LibraryDigital Library
  122. Lieberman, H. and Fry, C. 1997. ZStep 95: A reversible, animated source code stepper. In Software Visualization: Programming as a Multimedia Experience, J. Stasko, J. Domingue, B. Price, and M. Brown Eds., MIT Press, 277--292.Google ScholarGoogle Scholar
  123. Lister, R., Adams, E. S., Fitzgerald, S., Fone, W., Hamer, J., Lindholm, M., McCartney, R., Moström, J. E., Sanders, K., Seppälä, O., Simon, B., and Thomas, L. 2004. A multi-national study of reading and tracing skills in novice programmers. SIGCSE Bull. 36, 4, 119--150. Google ScholarGoogle ScholarDigital LibraryDigital Library
  124. Luijten, C. 2009. Interactive visualization of the execution of object-oriented programs. Master’s thesis, Department of Mathematics and Computer Science, Eindhoven University of Technology.Google ScholarGoogle Scholar
  125. Ma, L. 2007. Investigating and improving novice programmers’ mental models of programming concepts. Doctoral dissertation, Department of Computer & Information Sciences, University of Strathclyde.Google ScholarGoogle Scholar
  126. Ma, L., Ferguson, J. D., Roper, M., Ross, I., and Wood, M. 2009. Improving the mental models held by novice programmers using cognitive conflict and Jeliot visualizations. SIGCSE Bull. 41, 3, 166--170. Google ScholarGoogle ScholarDigital LibraryDigital Library
  127. Ma, L., Ferguson, J., Roper, M., and Wood, M. 2011. Investigating and improving the models of programming concepts held by novice programmers.. Comp. Sci. Educ. 21, 1, 57--80.Google ScholarGoogle ScholarCross RefCross Ref
  128. Maletic, J. I., Marcus, A., and Collard, M. L. 2002. A task oriented view of software visualization. In Proceedings of the 1st International Workshop on Visualizing Software for Understanding and Analysis (VISSOFT’02). 32--40. Google ScholarGoogle ScholarDigital LibraryDigital Library
  129. Mann, L. M., Linn, M. C., and Clancy, M. 1994. Can tracing tools contribute to programming proficiency? The LISP evaluation modeler. Inter. Learn. Envir. 4, 1, 96--113.Google ScholarGoogle ScholarCross RefCross Ref
  130. Maravić Čisar, S., Pinter, R., Radosav, D., and Čisar, P. 2010. Software visualization: The educational tool to enhance student learning. In Proceedings of the 33rd International Convention on Information and Communication Technology, Electronics and Microelectronics (MIPRO’10). 990--994.Google ScholarGoogle Scholar
  131. Maravić Čisar, S., Radosav, D., Pinter, R., and Čisar, P. 2011. Effectiveness of program visualization in learning Java: A case study with Jeliot 3. Int. J. Comp. Comm. Control 6, 4, 669--682.Google ScholarGoogle Scholar
  132. Mayer, R. E. 1975. Different problem-solving competencies established in learning computer programming with and without meaningful models. J. Educ. Psych. 67, 6, 725--734.Google ScholarGoogle ScholarCross RefCross Ref
  133. Mayer, R. E. 1976. Some conditions of meaningful learning for computer programming: advance organizers and subject control of frame order. J. Educ. Psych. 68, 143--150.Google ScholarGoogle ScholarCross RefCross Ref
  134. Mayer, R. E. 1981. The psychology of how novices learn computer programming. ACM Comp. Surv. 13, 1, 121--141. Google ScholarGoogle ScholarDigital LibraryDigital Library
  135. Mayer, R. E., Ed. 2005. The Cambridge Handbook of Multimedia Learning. Cambridge University Press.Google ScholarGoogle Scholar
  136. Mayer, R. E. 2009. Multimedia Learning 2nd Ed. Cambridge University Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  137. Miller, L. A. 1981. Natural language programming: Styles, strategies, and contrasts. IBM Syst. J. 20, 2, 184--215. Google ScholarGoogle ScholarDigital LibraryDigital Library
  138. Milne, I. and Rowe, G. 2002. Difficulties in learning and teaching programming - Views of students and tutors. Educ. Inf. Technol. 7, 1, 55--66. Google ScholarGoogle ScholarDigital LibraryDigital Library
  139. Milne, I. and Rowe, G. 2004. OGRE: Three-dimensional program visualization for novice programmers. Educ. Inf. Technol. 9, 3, 219--237. Google ScholarGoogle ScholarDigital LibraryDigital Library
  140. Miyadera, Y., Kurasawa, K., Nakamura, S., Yonezawa, N., and Yokoyama, S. 2007. A real-time monitoring system for programming education using a generator of program animation systems. J. Comp. 2, 3, 12--20.Google ScholarGoogle Scholar
  141. Moons, J. and De Backer, C. 2013. The design and pilot evaluation of an interactive learning environment for introductory programming influenced by cognitive load theory and constructivism. Comp. Educ. 60, 1, 368--384. Google ScholarGoogle ScholarDigital LibraryDigital Library
  142. Moreno, A. 2005. The design and implementation of intermediate codes for software visualization. Master’s thesis, Department of Computer Science, University of Joensuu.Google ScholarGoogle Scholar
  143. Moreno, A. and Joy, M. S. 2007. Jeliot 3 in a demanding educational setting. In Electronic Notes in Theoretical Computer Science, vol. 178, 51--59. Google ScholarGoogle ScholarDigital LibraryDigital Library
  144. Moreno, A. and Myller, N. 2003. Producing an educationally effective and usable tool for learning, the case of the Jeliot family. In Proceedings of the International Conference on Networked e-learning for European Universities (EUROPACE’03).Google ScholarGoogle Scholar
  145. Moreno, A., Myller, N., Sutinen, E., and Ben-Ari, M. 2004. Visualizing programs with Jeliot 3. In Proceedings of the International Working Conference on Advanced Visual Interfaces (AVI’04). 373--376. Google ScholarGoogle ScholarDigital LibraryDigital Library
  146. Mota, M. P., Brito, S., Moreira, M. P., and Favero, E. L. 2009. Ambiente Integrado à Plataforma Moodle para Apoio ao Desenvolvimento das Habilidades Iniciais de Programação. An environment integrated into the moodle platform for the development of first habits of programming, in Portuguese. In Anais do XX Simpósio Brasileiro de Informatica na Educacaon.Google ScholarGoogle Scholar
  147. Mselle, L. J. 2011. Enhancing comprehension by using random access memory (RAM) diagrams in teaching programming: Class experiment. In Proceedings of the 23rd Annual Workshop of the Psychology of Programming Interest Group (PPIG’11).Google ScholarGoogle Scholar
  148. Murphy, C., Kim, E., Kaiser, G., and Cannon, A. 2008. Backstop: A tool for debugging runtime errors. SIGCSE Bull. 40, 1, 173--177. Google ScholarGoogle ScholarDigital LibraryDigital Library
  149. Myers, B. A. 1990. Taxonomies of visual programming and program visualization. J. Vis. Lang. Comput. 1, 97--123. Google ScholarGoogle ScholarDigital LibraryDigital Library
  150. Myers, B. A., Chandhok, R., and Sareen, A. 1988. Automatic data visualization for novice Pascal programmers. In Proceedings of the IEEE Workshop on Visual Languages (WVL’88). 192--198.Google ScholarGoogle Scholar
  151. Myller, N., Bednarik, R., and Moreno, A. 2007a. Integrating dynamic program visualization into BlueJ: The Jeliot 3 extension. In Proceedings of the 7th IEEE International Conference on Advanced Learning Technologies (ICALT’07). 505--506.Google ScholarGoogle Scholar
  152. Myller, N., Laakso, M., and Korhonen, A. 2007b. Analyzing engagement taxonomy in collaborative algorithm visualization. SIGCSE Bull. 39, 3, 251--255. Google ScholarGoogle ScholarDigital LibraryDigital Library
  153. Myller, N., Bednarik, R., Sutinen, E., and Ben-Ari, M. 2009. Extending the engagement taxonomy: Software visualization and collaborative learning. ACM Trans. Comput. Educ. 9, 1, 1--27. Google ScholarGoogle ScholarDigital LibraryDigital Library
  154. Najjar, L. J. 1998. Principles of educational multimedia user interface design. Hum. Fact. 40, 2, 311--323.Google ScholarGoogle ScholarCross RefCross Ref
  155. Naps, T. L. 2005. JHAVE: Supporting algorithm visualization. Comp. Graph. Appl. 25, 5, 49--55. Google ScholarGoogle ScholarDigital LibraryDigital Library
  156. Naps, T. L. and Stenglein, J. 1996. Tools for visual exploration of scope and parameter passing in a programming languages course. SIGCSE Bull. 28, 1, 305--309. Google ScholarGoogle ScholarDigital LibraryDigital Library
  157. Naps, T. L., Rößling, G., Almstrum, V., Dann, W., Fleischer, R., Hundhausen, C., Korhonen, A., Malmi, L., McNally, M., Rodger, S., and Velázquez-Iturbide, J. Á. 2003. Exploring the role of visualization and engagement in computer science education. SIGCSE Bull. 35, 2, 131--152. Google ScholarGoogle ScholarDigital LibraryDigital Library
  158. Nevalainen, S. and Sajaniemi, J. 2005. Short-term effects of graphical versus textual visualization of variables on program perception. In Proceedings of the 17th Workshop of the Psychology of Programming Interest Group (PPIG’05). 77--91.Google ScholarGoogle Scholar
  159. Nevalainen, S. and Sajaniemi, J. 2006. An experiment on short-term effects of animated versus static visualization of operations on program perception. In Proceedings of the 2nd International Workshop on Computing Education Research (ICER’06). 7--16. Google ScholarGoogle ScholarDigital LibraryDigital Library
  160. Nevalainen, S. and Sajaniemi, J. 2008. An experiment on the short-term effects of engagement and representation in program animation. J. Educ. Comput. Res. 39, 4, 395--430.Google ScholarGoogle ScholarCross RefCross Ref
  161. Oechsle, R. and Morth, T. 2007. Peer review of animations developed by students. In Electronic Notes in Theoretical Computer Science, vol. 178, 181--186. Google ScholarGoogle ScholarDigital LibraryDigital Library
  162. Oechsle, R. and Schmitt, T. 2002. JAVAVIS: Automatic program visualization with object and sequence diagrams using the Java Debug Interface (JDI). In Revised Lectures on Software Visualization, International Seminar, S. Diehl Ed., Springer, 176--190. Google ScholarGoogle ScholarDigital LibraryDigital Library
  163. Paas, F., Renkl, A., and Sweller, J., Eds. 2003. Educational psychologist. Cogn. Load Theory 38, 1.Google ScholarGoogle Scholar
  164. Pane, J. F., Ratanamahatana, C. A., and Myers, B. A. 2001. Studying the language and structure in non-programmers’ solutions to programming problems. Int. J. Hum.-Comp. Stud. 54, 2, 237--264. Google ScholarGoogle ScholarDigital LibraryDigital Library
  165. Papert, S. 1993. Mindstorms: Children, Computers, and Powerful Ideas. Da Capo Press.Google ScholarGoogle ScholarDigital LibraryDigital Library
  166. Pareja-Flores, C., Urquiza-Fuentes, J., and Velázquez-Iturbide, J. Á. 2007. WinHIPE: An IDE for functional programming based on rewriting and visualization. SIGPLAN Not. 42, 3, 14--23. Google ScholarGoogle ScholarDigital LibraryDigital Library
  167. Pea, R. D. 1986. Language-independent conceptual “bugs” in novice programming. J. Educ. Comp. Res. 2, 1, 25--36.Google ScholarGoogle ScholarCross RefCross Ref
  168. Pears, A. and Rogalli, M. 2011a. mJeliot: A tool for enhanced interactivity in programming instruction. In Proceedings of the 11th Koli Calling International Conference on Computing Education Research (KoliCalling’11). 10--15. Google ScholarGoogle ScholarDigital LibraryDigital Library
  169. Pears, A. and Rogalli, M. 2011b. mJeliot: ICT support for interactive teaching of programming. In Proceedings of the 41st Annual Frontiers in Education Conference (FIE’11). Google ScholarGoogle ScholarDigital LibraryDigital Library
  170. Pears, A., Seidman, S., Malmi, L., Mannila, L., Adams, E., Bennedsen, J., Devlin, M., and Paterson, J. 2007. A survey of literature on the teaching of introductory programming. SIGCSE Bull. 39, 4, 204--223. Google ScholarGoogle ScholarDigital LibraryDigital Library
  171. Perkins, D. N., Hancock, C., Hobbs, R., Martin, F., and Simmons, R. 1986. Conditions of learning in novice programmers. J. Educ. Comp. Res. 2, 1, 37--55.Google ScholarGoogle ScholarCross RefCross Ref
  172. Petre, M. 1995. Why looking isn’t always seeing: Readership skills and graphical programming. Comm. ACM 38, 6, 33--44. Google ScholarGoogle ScholarDigital LibraryDigital Library
  173. Phillips, D. C., Ed. 2000. Constructivism in Education: Opinions and Second Opinions on Controversial Issues. The National Society for the Study of Education.Google ScholarGoogle Scholar
  174. Plass, J. L., Moreno, R., and Brünken, R., Eds. 2010. Cognitive Load Theory. Cambridge University Press.Google ScholarGoogle Scholar
  175. Price, B. A., Baecker, R. M., and Small, I. S. 1993. A principled taxonomy of software visualization. J. Vis. Lang. Comput. 4, 3, 211--266.Google ScholarGoogle ScholarCross RefCross Ref
  176. Ragonis, N. and Ben-Ari, M. 2005. A long-term investigation of the comprehension of OOP concepts by novices. Comp. Sci. Educ. 15, 3, 203--221.Google ScholarGoogle ScholarCross RefCross Ref
  177. Rajala, T., Laakso, M.-J., Kaila, E., and Salakoski, T. 2007. VILLE - A language-independent program visualization tool. In Proceedings of the 7th Baltic Sea Conference on Computing Education Research (KoliCalling’07). 151--159. Google ScholarGoogle ScholarDigital LibraryDigital Library
  178. Rajala, T., Laakso, M.-J., Kaila, E., and Salakoski, T. 2008. Effectiveness of program visualization: A case study with the ViLLE tool. J. Inf. Tech. Educ. Innov. Prac. 7, 15--32.Google ScholarGoogle ScholarCross RefCross Ref
  179. Rajala, T., Kaila, E., Laakso, M.-J., and Salakoski, T. 2009. Effects of collaboration in program visualization. In Proceedings of the Technology Enhanced Learning Conference (TELearn’09).Google ScholarGoogle Scholar
  180. Rajala, T., Kaila, E., and Laakso, M.-J. ViLLE: Collaborative education tool (website). http://ville.cs.utu.fi.Google ScholarGoogle Scholar
  181. Ramadhan, H. A. 2000. Programming by discovery. J. Comp. Assist. Learn. 16, 83--93.Google ScholarGoogle ScholarCross RefCross Ref
  182. Ramadhan, H. A., Deek, F., and Shilab, K. 2001. Incorporating software visualization in the design of intelligent diagnosis systems for user programming. Art. Intell. Rev. 16, 61--84. Google ScholarGoogle ScholarDigital LibraryDigital Library
  183. Robinett, W. 1979. Basic Programming.Google ScholarGoogle Scholar
  184. Roman, G.-C. and Cox, K. C. 1993. A taxonomy of program visualization systems. Comp. 26, 12, 97--123. Google ScholarGoogle ScholarDigital LibraryDigital Library
  185. Ross, R. J. 1983. LOPLE: A dynamic library of programming language examples. SIGCUE Outl. 17, 4, 27--31. Google ScholarGoogle ScholarDigital LibraryDigital Library
  186. Ross, R. J. 1991. Experience with the DYNAMOD program animator. SIGCSE Bull. 23, 1, 35--42. Google ScholarGoogle ScholarDigital LibraryDigital Library
  187. Rowe, G. and Thorburn, G. 2000. VINCE - An online tutorial tool for teaching introductory programming. Brit. J. Educ. Tech. 31, 4, 359--369.Google ScholarGoogle ScholarCross RefCross Ref
  188. Sajaniemi, J. n.d. The roles of variables home page. http://cs.joensuu.fi/~saja/var_roles/.Google ScholarGoogle Scholar
  189. Sajaniemi, J. and Kuittinen, M. 2003. Program animation based on the roles of variables. In Proceedings of the ACM Symposium on Software Visualization (SoftVis’03). 7--16. Google ScholarGoogle ScholarDigital LibraryDigital Library
  190. Sajaniemi, J. and Kuittinen, M. 2005. An experiment on using roles of variables in teaching introductory programming. Comp. Sci. Educ. 15, 1, 59--82.Google ScholarGoogle ScholarCross RefCross Ref
  191. Sajaniemi, J., Byckling, P., and Gerdt, P. 2007. Animation metaphors for object-oriented concepts. In Electronic Notes in Theoretical Computer Science, vol. 178, 15--22. Google ScholarGoogle ScholarDigital LibraryDigital Library
  192. Sajaniemi, J., Kuittinen, M., and Tikansalo, T. 2008. A study of the development of students’ visualizations of program state during an elementary object-oriented programming course. J. Educ. Res. Comp. 7, 4, 1--31. Google ScholarGoogle ScholarDigital LibraryDigital Library
  193. Scheiter, K., Gerjets, P., and Catrambone, R. 2006. Making the abstract concrete: Visualizing mathematical solution procedures. Comp. Hum. Behav. 22, 1, 9--25. Google ScholarGoogle ScholarDigital LibraryDigital Library
  194. Schulte, C. and Bennedsen, J. 2006. What do teachers teach in introductory programming? In Proceedings of the 2nd International Workshop on Computing Education Research (ICER’06). 17--28. Google ScholarGoogle ScholarDigital LibraryDigital Library
  195. Scott, A., Watkins, M., and McPhee, D. 2008. Progranimate - A Web enabled algorithmic problem solving application. In Proceedings of the International Conference on E-Learning, E-Business, Enterprise Information Systems, & E-Government (EEE’’08). 498--508.Google ScholarGoogle Scholar
  196. Seppälä, O. 2004. Program state visualization tool for teaching CS1. In Proceedings of the 3rd Program Visualization Workshop (PVW’04). 118--125.Google ScholarGoogle Scholar
  197. Shaffer, C. A., Naps, T. L., and Fouh, E. 2011. Truly interactive textbooks for computer science education. In Proceedings of the 6th Program Visualization Workshop (PVW’11). 97--106.Google ScholarGoogle Scholar
  198. Sherry, L. 1995. A model computer simulation as an epistemic game. SIGCSE Bull. 27, 2, 59--64. Google ScholarGoogle ScholarDigital LibraryDigital Library
  199. Shinners-Kennedy, D. 2008. The everydayness of threshold concepts: State as an example from computer science. In Threshold Concepts within the Disciplines, R. Land and J. H. F. Meyer Eds., SensePublishers, 119--128.Google ScholarGoogle Scholar
  200. Simon. 2011. Assignment and sequence: why some students can’t recognize a simple swap. In Proceedings of the 11th Koli Calling International Conference on Computing Education Research (KoliCalling’11). 16--22. Google ScholarGoogle ScholarDigital LibraryDigital Library
  201. Sirkiä, T. and Sorva, J. 2012. Exploring programming misconceptions: An analysis of student mistakes in visual program simulation exercises. In Proceedings of the 12th Koli Calling International Conference on Computing Education Research (KoliCalling’12). 19--28. Google ScholarGoogle ScholarDigital LibraryDigital Library
  202. Sivula, K. 2005. A qualitative case study on the use of Jeliot 3. Master’s thesis, Department of Computer Science, University of Joensuu.Google ScholarGoogle Scholar
  203. Sleeman, D., Putnam, R. T., Baxter, J., and Kuspa, L. 1986. Pascal and high school students: A study of errors. J. Educ. Comp. Res. 2, 1, 5--23.Google ScholarGoogle ScholarCross RefCross Ref
  204. Smith, P. A. and Webb, G. I. 1991. Debugging using partial models. In Proceedings of the 4th Australian Society for Computer in Learning in Tertiary Education Conference (ASCILITE’91). 581--590.Google ScholarGoogle Scholar
  205. Smith, P. A. and Webb, G. I. 1995a. Reinforcing a generic computer model for novice programmers. In Proceedings of the 7th Australian Society for Computer in Learning in Tertiary Education Conference (ASCILITE’95).Google ScholarGoogle Scholar
  206. Smith, P. A. and Webb, G. I. 1995b. Transparency debugging with explanations for novice programmers. In Proceedings of the 2nd Workshop on Automated and Algorithmic Debugging (AADEBUG’95). 105--118.Google ScholarGoogle Scholar
  207. Smith, P. A. and Webb, G. I. 2000. The efficacy of a low-level program visualization tool for teaching programming concepts to novice c programmers. J. Educ. Comp. Res. 22, 2, 187--215.Google ScholarGoogle ScholarCross RefCross Ref
  208. Sorva, J. 2010. Reflections on threshold concepts in computer programming and beyond. In Proceedings of the 10th Koli Calling International Conference on Computing Education Research (KoliCalling’10). 21--30. Google ScholarGoogle ScholarDigital LibraryDigital Library
  209. Sorva, J. 2012. Visual program simulation in introductory programming education. Doctoral dissertation, Department of Computer Science and Engineering, Aalto University.Google ScholarGoogle Scholar
  210. Sorva, J. 2013. Notional machines and introductory programming education. ACM Trans. Comput. Educ. 13, 4. Google ScholarGoogle ScholarDigital LibraryDigital Library
  211. Sorva, J. and Sirkiä, T. 2010. UUhistle - A software tool for visual program simulation. In Proceedings of the 10th Koli Calling International Conference on Computing Education Research (KoliCalling’10). 49--54. Google ScholarGoogle ScholarDigital LibraryDigital Library
  212. Sorva, J. and Sirkiä, T. 2011. Context-sensitive guidance in the UUhistle program visualization system. In Proceedings of the 6th Program Visualization Workshop (PVW’11). 77--85.Google ScholarGoogle Scholar
  213. Sorva, J., Lönnberg, J., and Malmi, L. accepted. Students’ ways of experiencing visual program simulation. Comp. Sci. Educ.Google ScholarGoogle Scholar
  214. Stasko, J. T. and Patterson, C. 1992. Understanding and characterizing software visualization systems. In Proceedings of the IEEE Workshop on Visual Languages (VL’92). 3--10.Google ScholarGoogle Scholar
  215. Stützle, T. and Sajaniemi, J. 2005. An empirical evaluation of visual metaphors in the animation of roles of variables. Inform. Sci. J. 8, 87--100.Google ScholarGoogle Scholar
  216. Sundararaman, J. and Back, G. 2008. HDPV: Interactive, faithful, in-vivo runtime state visualization for C/C++ and Java. In Proceedings of the 4th ACM Symposium on Software Visualization (SoftVis’08). 47--56. Google ScholarGoogle ScholarDigital LibraryDigital Library
  217. Sutinen, E., Tarhio, J., Lahtinen, S.-P., Tuovinen, A.-P., Rautama, E., and Meisalo, V. 1997. Eliot - An algorithm animation environment. Teaching and Learning rep. A-1997-4, Department of Computer Science, University of Helsinki.Google ScholarGoogle Scholar
  218. Terada, M. 2005. ETV: A program trace player for students. SIGCSE Bull. 37, 3, 118--122. Google ScholarGoogle ScholarDigital LibraryDigital Library
  219. Thomas, L., Ratcliffe, M., and Thomasson, B. 2004. Scaffolding with object diagrams in first year programming classes: Some unexpected results. SIGCSE Bull. 36, 1, 250--254. Google ScholarGoogle ScholarDigital LibraryDigital Library
  220. Thuné, M. and Eckerdal, A. 2010. Students’ conceptions of computer programming. Tech. rep. 2010-021, Department of Information Technology, Uppsala University.Google ScholarGoogle Scholar
  221. Urquiza-Fuentes, J. and Velázquez-Iturbide, J. Á. 2007. An evaluation of the effortless approach to build algorithm animations with WinHIPE. In Electronic Notes in Theoretical Computer Science, vol. 178, 3--13. Google ScholarGoogle ScholarDigital LibraryDigital Library
  222. Urquiza-Fuentes, J. and Velázquez-Iturbide, J. Á. 2009. A survey of successful evaluations of program visualization and algorithm animation systems. ACM Trans. Comp. Educ. 9, 2, 1--21. Google ScholarGoogle ScholarDigital LibraryDigital Library
  223. Urquiza-Fuentes, J. and Velázquez-Iturbide, J. A. 2012. Comparing the effectiveness of different educational uses of program animations. In Proceedings of the 17th ACM Annual Conference on Innovation and Technology in Computer Science Education (ITiCSE’12). 174--179. Google ScholarGoogle ScholarDigital LibraryDigital Library
  224. Vagianou, E. 2006. Program working storage: A beginner’s model. In Proceedings of the 6th Baltic Sea Conference on Computing Education Research (KoliCalling’06). 69--76. Google ScholarGoogle ScholarDigital LibraryDigital Library
  225. Vainio, V. and Sajaniemi, J. 2007. Factors in novice programmers’ poor tracing skills. SIGCSE Bull. 39, 3, 236--240. Google ScholarGoogle ScholarDigital LibraryDigital Library
  226. Velázquez-Iturbide, J. Á., Pérez-Carrasco, A., and Urquiza-Fuentes, J. 2008. SRec: An animation system of recursion for algorithm courses. SIGCSE Bull. 40, 3, 225--229. Google ScholarGoogle ScholarDigital LibraryDigital Library
  227. Virtanen, A. T., Lahtinen, E., and Järvinen, H.-M. 2005. VIP, a visual interpreter for learning introductory programming with C++. In Proceedings of the 5th Koli Calling Conference on Computer ACM Transactions on Computing Education (KoliCalling’05). 125--130.Google ScholarGoogle Scholar
  228. Wang, P., Bednarik, R., and Moreno, A. 2012. During automatic program animation, explanations after animations have greater impact than before animations. In Proceedings of the 12th Koli Calling International Conference on Computing Education Research (KoliCalling’12). 100--108. Google ScholarGoogle ScholarDigital LibraryDigital Library
  229. Weber, G. and Brusilovsky, P. 2001. ELM-ART: An adaptive versatile system for web-based instruction. Int. J. Art. Intell. Educ. 12, 351--384.Google ScholarGoogle Scholar
  230. Yehezkel, C., Ben-Ari, M., and Dreyfus, T. 2007. The contribution of visualization to learning computer architecture. Comp. Sci. Educ. 17, 2, 117--127.Google ScholarGoogle ScholarCross RefCross Ref

Index Terms

  1. A Review of Generic Program Visualization Systems for Introductory Programming Education

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in

    Full Access

    • Published in

      cover image ACM Transactions on Computing Education
      ACM Transactions on Computing Education  Volume 13, Issue 4
      November 2013
      170 pages
      EISSN:1946-6226
      DOI:10.1145/2543488
      Issue’s Table of Contents

      Copyright © 2013 ACM

      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 1 November 2013
      • Accepted: 1 May 2013
      • Revised: 1 November 2012
      • Received: 1 May 2012
      Published in toce Volume 13, Issue 4

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article
      • Research
      • Refereed

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader