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.
- Ahoniemi, T. and Lahtinen, E. 2007. Visualizations in preparing for programming exercise sessions. Elec. Notes Theoret. Comp. Sci. 178, 137--144. Google ScholarDigital Library
- Algoviz. n.d. Algoviz.org: The algorithm visualization portal. http://www.algoviz.org/.Google Scholar
- Allen, E., Cartwright, R., and Stoler, B. 2002. DrJava: A lightweight pedagogic environment for Java. SIGCSE Bull. 34, 1, 137--141. Google ScholarDigital Library
- 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 Scholar
- 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 Scholar
- Andrianoff, S. K. and Levine, D. B. 2002. Role playing in an object-oriented world. SIGCSE Bull. 34, 1, 121--125. Google ScholarDigital Library
- 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 Scholar
- Auguston, M. and Reinfelds, J. 1994. A visual Miranda machine. In Proceedings of the Software Education Conference (SEC’94). 198--203.Google Scholar
- 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 ScholarDigital Library
- Beck, K. and Cunningham, W. 1989. A laboratory for teaching object oriented thinking. SIGPLAN Not. 24, 10, 1--6. Google ScholarDigital Library
- 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 Scholar
- Ben-Ari, M. 2001. Constructivism in computer science education. J. Comp. Math. Sci. Teach. 20, 1, 45--73. Google ScholarDigital Library
- 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 ScholarCross Ref
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- Bloom, B. S. 1956. Taxonomy of Educational Objectives, Handbook 1: Cognitive Domain. Addison Wesley.Google Scholar
- Booth, S. 1992. Learning to program: A phenomenographic perspective. Doctoral dissertation, University of Gothenburg.Google Scholar
- 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 ScholarDigital Library
- 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 Scholar
- Brown, M. H. 1988. Exploring algorithms using Balsa-II. Comp. 21, 5, 14--36. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- 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 Scholar
- 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 ScholarDigital Library
- Brusilovsky, P. and Loboda, T. D. 2006. WADEIn II: A case for adaptive explanatory visualization. SIGCSE Bull. 38, 3, 48--52. Google ScholarDigital Library
- Brusilovsky, P. L. 1992. Intelligent tutor, environment and manual for introductory programming. Educ. Train. Tech. Int. 29, 1, 26--34.Google ScholarCross Ref
- 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 Scholar
- Carlisle, M. C. 2009. Raptor: A visual programming environment for teaching object-oriented programming. J. Comput. Sci. Coll. 24, 4, 275--281. Google ScholarDigital Library
- 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 Scholar
- Clark, R. E. 1982. Antagonism between achievement and enjoyment in ATI studies. Educat. Psychol. 17, 2, 92--101.Google ScholarCross Ref
- Corritore, C. L. and Wiedenbeck, S. 1991. What do novices learn during program comprehension? Int. J. Hum.-Comput. Inter. 3, 2, 199--222.Google ScholarCross Ref
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- 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 Scholar
- Cypher, A. 1993. Watch What I Do: Programming by Demonstration. MIT Press. Google ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- du Boulay, B. 1986. Some difficulties of learning to program. J. Educ. Comput. Res. 2, 1, 57--73.Google ScholarCross Ref
- 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 ScholarCross Ref
- 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 ScholarDigital Library
- Eckerdal, A. and Thuné, M. 2005. Novice Java programmers’ conceptions of “object” and “class”, and variation theory. SIGCSE Bull. 37, 3, 89--93. Google ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- 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 Scholar
- Etheredge, J. 2004. CMeRun: Program logic debugging courseware for CS1/CS2 Students. SIGCSE Bull. 36, 1, 22--25. Google ScholarDigital Library
- 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 Scholar
- Fincher, S., E. A. n.d. Share project: Sharing & representing teaching practice (website). http://www.sharingpractice.ac.uk/homepage.html.Google Scholar
- 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 ScholarDigital Library
- 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 ScholarCross Ref
- 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 Scholar
- 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 Scholar
- George, C. E. 2000a. EROSI - Visualizing recursion and discovering new errors. SIGCSE Bull. 32, 1, 305--309. Google ScholarDigital Library
- 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 Scholar
- 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 Scholar
- George, C. E. 2002. Using visualization to aid program construction tasks. SIGCSE Bull. 34, 1, 191--195. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- Gračanin, D., Matković, K., and Eltoweissy, M. 2005. Software visualization. Innov. Syst. Softw. Eng. 1, 2, 221--230.Google ScholarCross Ref
- Gries, D. 2008. A principled approach to teaching OO first. SIGCSE Bull. 40, 1, 31--35. Google ScholarDigital Library
- Gries, P. and Gries, D. 2002. Frames and folders: A teachable memory model for Java. J. Comput. Sci. Coll. 17, 6, 182--196. Google ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- Holliday, M. A. and Luginbuhl, D. 2004. CS1 assessment using memory diagrams. SIGCSE Bull. 36, 1, 200--204. Google ScholarDigital Library
- 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 Scholar
- 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 ScholarCross Ref
- Isoda, S., Shimomura, T., and Ono, Y. 1987. VIPS: A visual debugger. IEEE Softw. 4, 3, 8--19. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- Jones, A. 1992. Conceptual models of programming environments: How learners use the glass box. Instruct. Sci. 21, 6, 473--500.Google ScholarCross Ref
- 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 Scholar
- 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 ScholarDigital Library
- 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 Scholar
- 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 Scholar
- 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 ScholarDigital Library
- 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 Scholar
- Karavirta, V. 2007. Integrating algorithm visualization systems. In Electronic Notes in Theoretical Computer Science, vol. 178, 79--87. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- Kumar, A. N. 2009. Data space animation for learning the semantics of C++ pointers. SIGCSE Bull. 41, 1, 499--503. Google ScholarDigital Library
- 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 Scholar
- 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 Scholar
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- Lahtinen, E., Järvinen, H.-M., and Melakoski-Vistbacka, S. 2007b. Targeting program visualizations. SIGCSE Bull. 39, 3, 256--260. Google ScholarDigital Library
- Larochelle, M., Bednarz, N., and Garrison, J., Eds. 1998. Constructivism and Education. Cambridge University Press.Google Scholar
- Lattu, M., Meisalo, V., and Tarhio, J. 2003. A visualization tool as a demonstration aid. Comp. Educ. 41, 2, 133--148. Google ScholarDigital Library
- 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 Scholar
- Lauer, T. 2006. Learner interaction with algorithm visualizations: Viewing vs. changing vs. constructing. SIGCSE Bull. 38, 3, 202--206. Google ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- 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 Scholar
- Ma, L. 2007. Investigating and improving novice programmers’ mental models of programming concepts. Doctoral dissertation, Department of Computer & Information Sciences, University of Strathclyde.Google Scholar
- 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 ScholarDigital Library
- 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 ScholarCross Ref
- 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 ScholarDigital Library
- 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 ScholarCross Ref
- 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 Scholar
- 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 Scholar
- 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 ScholarCross Ref
- 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 ScholarCross Ref
- Mayer, R. E. 1981. The psychology of how novices learn computer programming. ACM Comp. Surv. 13, 1, 121--141. Google ScholarDigital Library
- Mayer, R. E., Ed. 2005. The Cambridge Handbook of Multimedia Learning. Cambridge University Press.Google Scholar
- Mayer, R. E. 2009. Multimedia Learning 2nd Ed. Cambridge University Press. Google ScholarDigital Library
- Miller, L. A. 1981. Natural language programming: Styles, strategies, and contrasts. IBM Syst. J. 20, 2, 184--215. Google ScholarDigital Library
- 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 ScholarDigital Library
- Milne, I. and Rowe, G. 2004. OGRE: Three-dimensional program visualization for novice programmers. Educ. Inf. Technol. 9, 3, 219--237. Google ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- Moreno, A. 2005. The design and implementation of intermediate codes for software visualization. Master’s thesis, Department of Computer Science, University of Joensuu.Google Scholar
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- 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 Scholar
- 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 Scholar
- Murphy, C., Kim, E., Kaiser, G., and Cannon, A. 2008. Backstop: A tool for debugging runtime errors. SIGCSE Bull. 40, 1, 173--177. Google ScholarDigital Library
- Myers, B. A. 1990. Taxonomies of visual programming and program visualization. J. Vis. Lang. Comput. 1, 97--123. Google ScholarDigital Library
- 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 Scholar
- 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 Scholar
- Myller, N., Laakso, M., and Korhonen, A. 2007b. Analyzing engagement taxonomy in collaborative algorithm visualization. SIGCSE Bull. 39, 3, 251--255. Google ScholarDigital Library
- 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 ScholarDigital Library
- Najjar, L. J. 1998. Principles of educational multimedia user interface design. Hum. Fact. 40, 2, 311--323.Google ScholarCross Ref
- Naps, T. L. 2005. JHAVE: Supporting algorithm visualization. Comp. Graph. Appl. 25, 5, 49--55. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- 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 ScholarCross Ref
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- Paas, F., Renkl, A., and Sweller, J., Eds. 2003. Educational psychologist. Cogn. Load Theory 38, 1.Google Scholar
- 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 ScholarDigital Library
- Papert, S. 1993. Mindstorms: Children, Computers, and Powerful Ideas. Da Capo Press.Google ScholarDigital Library
- 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 ScholarDigital Library
- Pea, R. D. 1986. Language-independent conceptual “bugs” in novice programming. J. Educ. Comp. Res. 2, 1, 25--36.Google ScholarCross Ref
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarCross Ref
- Petre, M. 1995. Why looking isn’t always seeing: Readership skills and graphical programming. Comm. ACM 38, 6, 33--44. Google ScholarDigital Library
- Phillips, D. C., Ed. 2000. Constructivism in Education: Opinions and Second Opinions on Controversial Issues. The National Society for the Study of Education.Google Scholar
- Plass, J. L., Moreno, R., and Brünken, R., Eds. 2010. Cognitive Load Theory. Cambridge University Press.Google Scholar
- 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 ScholarCross Ref
- 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 ScholarCross Ref
- 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 ScholarDigital Library
- 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 ScholarCross Ref
- 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 Scholar
- Rajala, T., Kaila, E., and Laakso, M.-J. ViLLE: Collaborative education tool (website). http://ville.cs.utu.fi.Google Scholar
- Ramadhan, H. A. 2000. Programming by discovery. J. Comp. Assist. Learn. 16, 83--93.Google ScholarCross Ref
- 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 ScholarDigital Library
- Robinett, W. 1979. Basic Programming.Google Scholar
- Roman, G.-C. and Cox, K. C. 1993. A taxonomy of program visualization systems. Comp. 26, 12, 97--123. Google ScholarDigital Library
- Ross, R. J. 1983. LOPLE: A dynamic library of programming language examples. SIGCUE Outl. 17, 4, 27--31. Google ScholarDigital Library
- Ross, R. J. 1991. Experience with the DYNAMOD program animator. SIGCSE Bull. 23, 1, 35--42. Google ScholarDigital Library
- Rowe, G. and Thorburn, G. 2000. VINCE - An online tutorial tool for teaching introductory programming. Brit. J. Educ. Tech. 31, 4, 359--369.Google ScholarCross Ref
- Sajaniemi, J. n.d. The roles of variables home page. http://cs.joensuu.fi/~saja/var_roles/.Google Scholar
- 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 ScholarDigital Library
- 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 ScholarCross Ref
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- Scheiter, K., Gerjets, P., and Catrambone, R. 2006. Making the abstract concrete: Visualizing mathematical solution procedures. Comp. Hum. Behav. 22, 1, 9--25. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- Seppälä, O. 2004. Program state visualization tool for teaching CS1. In Proceedings of the 3rd Program Visualization Workshop (PVW’04). 118--125.Google Scholar
- 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 Scholar
- Sherry, L. 1995. A model computer simulation as an epistemic game. SIGCSE Bull. 27, 2, 59--64. Google ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- Sivula, K. 2005. A qualitative case study on the use of Jeliot 3. Master’s thesis, Department of Computer Science, University of Joensuu.Google Scholar
- 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 ScholarCross Ref
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 ScholarCross Ref
- 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 ScholarDigital Library
- Sorva, J. 2012. Visual program simulation in introductory programming education. Doctoral dissertation, Department of Computer Science and Engineering, Aalto University.Google Scholar
- Sorva, J. 2013. Notional machines and introductory programming education. ACM Trans. Comput. Educ. 13, 4. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- Sorva, J., Lönnberg, J., and Malmi, L. accepted. Students’ ways of experiencing visual program simulation. Comp. Sci. Educ.Google Scholar
- 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 Scholar
- 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 Scholar
- 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 ScholarDigital Library
- 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 Scholar
- Terada, M. 2005. ETV: A program trace player for students. SIGCSE Bull. 37, 3, 118--122. Google ScholarDigital Library
- 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 ScholarDigital Library
- Thuné, M. and Eckerdal, A. 2010. Students’ conceptions of computer programming. Tech. rep. 2010-021, Department of Information Technology, Uppsala University.Google Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- Vainio, V. and Sajaniemi, J. 2007. Factors in novice programmers’ poor tracing skills. SIGCSE Bull. 39, 3, 236--240. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarCross Ref
Index Terms
- A Review of Generic Program Visualization Systems for Introductory Programming Education
Recommendations
Notional machines and introductory programming education
This article brings together, summarizes, and comments on several threads of research that have contributed to our understanding of the challenges that novice programmers face when learning about the runtime dynamics of programs and the role of the ...
Engagement Taxonomy for Introductory Programming Tools: Failing to Tackle the Problems of Comprehension
Informatics in Schools. Engaging Learners in Computational ThinkingAbstractA large number of introductory programming environments for K-12 education have become widely used across the world. One of the main ideas behind these environments is introducing basic programming concepts more effectively by incorporating ...
Theia: automatically generating correct program state visualizations
SPLASH-E 2019: Proceedings of the 2019 ACM SIGPLAN Symposium on SPLASH-EProgram state visualizations (PSVs) help programmers understand hidden program state like objects, references, and closures. Unfortunately, existing PSV tools do not support custom language semantics, which educators often use to introduce programming ...
Comments