Academic journal article Journal of Information Technology Education

Effectiveness of Program Visualization: A Case Study with the ViLLE Tool

Academic journal article Journal of Information Technology Education

Effectiveness of Program Visualization: A Case Study with the ViLLE Tool

Article excerpt


Learning to program is not an easy task. According to multi-national studies published in recent years, students have problems in writing program code (McCracken et al., 2001), in reading and tracing skills (Lister et al., 2004), and in designing software (Tenenberg et al., 2005). Since constructing and even understanding computer programs have proven to be a highly non-trivial task for most learners, various techniques and means have been suggested to aid the learning process of beginner programmers. Visualization--generally defined as presenting the execution of program or algorithm with graphical components--is one of these. According to Ben-Ari (2001) visualization includes everything even remotely graphical, from complex animations to indentation of program blocks, and for the effective use of visualizations, the textual and graphical descriptions have to be synchronized. Hyrskykari (1993) states that visualizations can be useful in providing learning models that can be used in linking new information with old knowledge.

Program visualization is a research area that studies ways of visually assisting learners in understanding behaviour of programs. The visualization of programs can be either dynamic or static. Dynamic program visualization tools visualize execution of programs. They usually show how the execution of programs progresses by highlighting parts of the code under execution and by visualizing changes in variable states. An example of a dynamic program visualization tool is Jeliot3 (Moreno, Myller, Sutinen, & Ben-Ari, 2004). Static visualization tools visualize program structures and relations between program objects. An example of a popular static program visualization tool is BlueJ (Kolling, Quig, Patterson, & Rosenberg, 2003).

We have recently developed a dynamic program visualization tool called ViLLE (Rajala, Laakso, Kaila, & Salakoski, 2007). ViLLE is a language-independent visualization tool aimed at providing a more abstract view of programming. The tool can be utilized both in lectures and for independent learning. It has a built-in syntax editor, with which the user can add new languages to the tool or modify the syntax of the built-in languages, currently including e.g. Java, C++, and a pseudo language. The visualizations can be viewed in any of the (user or pre-) defined languages. To emphasize the language independency, ViLLE has a parallel view in which the execution of a program and the program code itself can be viewed simultaneously in two languages. While the execution progresses, the user can observe program outputs and changes in variable values. In addition, to enhance the effectiveness and clarity of the visualization, there is an automatically generated textual description of each code line. The description also includes information about the roles of variables (Sajaniemi, 2002). However, according to Nikula, Sajaniemi, Tedre, and Wray (2007), to get the most benefit from the roles of variables, they should be employed in all aspects of teaching.

The goal of this paper is to find out what kind of effects ViLLE has on programming learning with following research questions: "Does ViLLE help students in learning to program?" and "Is there any difference in learning when previous programming experience is taken into account?". To study these questions, we conducted a study in the first programming course at the University of Turku, Finland, in fall 2007.

This paper has the following structure. In the next section we consider previous work on program and algorithm visualization. In the third section, ViLLE and its key features are described. The research design and results are presented in the fourth and fifth sections, respectively. These are followed by a section in which the results are discussed and, finally, conclusions and future directions are presented.

Related Work

Many visualization systems have been developed over the past few decades. …

Search by... Author
Show... All Results Primary Sources Peer-reviewed


An unknown error has occurred. Please click the button below to reload the page. If the problem persists, please try again in a little while.