• No results found

Erkki Kaila, Teemu Rajala, Mikko-Jussi Laakso & Tapio Salakoski

In document Koli Calling 2008 (Page 105-109)

Figure 1: ViLLE exercises in the web


ViLLE’s key features are presented here in four categories. A more comprehensive description of features can be found in Rajala et al. [10].

Level of abstraction. Some of ViLLE’s features support high level of abstraction in learning to program. ViLLE has a support for multiple programming languages, including Java, Python, C++, PHP, JavaScript, and a pseudo language. Furthermore, new languages can be easily defined with the built-in syntax editor. The parallel mode in ViLLE’s visualization area utilizes the support for multiple languages by visualizing the execution in two different languages simultaneously. Another abstraction of programs – the roles of variables [12] – is also supported by ViLLE.

User interaction. Teacher can create pop-questions and attach them to example programs with the built-in question editor. As a new feature, these questions can be automatically assessed (see next section). Example programs can be edited in the visualization view, which allows the user to easily see the

effects of modification on program code. The animation controls in the visualization view are flexible: the user can move one step at a time both forwards and backwards or view visualization continuously with adjustable speed. There is also a slider which shows how far the visualization has progressed, and which can be used to move to any state of the program.

Execution tracing. The tool visualizes the progress of program execution by highlighting the executed code line. The progress slider has also another function: It shows the number of steps in a program, and thus it can be used in measuring the efficiency of algorithms or programs. An explanation is automatically generated for each program line. Method calls are visualized with a call stack, which shows each method call in its own frame. The progress of execution and the method’s variables are displayed in the frame. ViLLE also supports the use of breakpoints.

Customization. ViLLE includes a predefined set of examples divided into different categories. These examples can be exported to a web server and thus made directly accessible to students. Teachers can also create their own example collections with the tool and use them in teaching.

Figure 2: the visualization view in ViLLE


ViLLE now supports the automatic assessment of the exercises.

The TRAKLA2 environment handles students’ logins, and stores the points and the number of completed exercises.

Teacher prepares the exercises with ViLLE’s built-in question editor (currently multiple choice and graphical array questions are supported) and sends the exercises to server administrator who then prepares the course and uploads the files to the server.

The example categories in ViLLE are equivalent to rounds in the exercise set. Each round can be given opening and closing dates. Moreover, the maximum points allowed can be defined for each example, as well as the minimum number of points required for each round.

The students can retake the exercises as many times as they want. In the future versions, the possibility to add randomized parameters to the exercises is going to be implemented. Thus, retaking the exercises becomes more challenging.


ViLLE has been evaluated in various studies. Rajala et al. [11]

evaluated the effectiveness of ViLLE at University of Turku.

The students participating were randomly divided into two groups: the treatment group used ViLLE, while the control group only had access to a web based tutorial. Learning was measured with a pre- and post-test. The results showed that ViLLE was most beneficial to students with no previous

programming experience, since the statistically significant difference in the pre-test between them and the experienced students disappeared after using the tool.

Laakso et al. [3] studied the effects of cognitive load in using ViLLE. While all the students gained statistically significant learning results with the system, the results showed that the students who had been familiarized with the tool beforehand, learned significantly better.

There are a few more studies with promising results not yet published. ViLLE seems to be most beneficial for novice students when used in the engagement level (see [8]) of responding. The effects of long time usage of the tool seem encouraging as well, since the students who used the system throughout entire course gained higher grades than the other students.


One of the new features we are planning to include in the future versions of ViLLE is a support for exercise templates. With templates the teacher can define parts of code (or even entire code) to be randomly generated or parameterized within given limits. This way exercises can be retaken a number of times with different starting values for variables, loops or arrays. The possibility to automatically generate questions for templates or self-written examples is another feature to be implemented soon. This should make the preparation of examples more flexible and less time consuming.

More information and the system itself can be downloaded from the ViLLE homepage: http://ville.cs.utu.fi.


This work was partially supported by the Nokia Foundation and by Academy of Finland, project 121396, Automatic Assessment Technologies for Free Text and Programming Assignments.


[1] Gestwicki, P. & Jayaraman, B. 2002. Interactive visualization of java programs, IEEE Symposia on Human-Centric Computing Languages and Environments, Arlington, 226-235.

[2] Kölling, M., Quig, B., Patterson, A. & Rosenberg, J. 2003.

The BlueJ system and its pedagogy. Computer Science Education., Special Issue of Learning and Teaching Object Technology 12(4), 249-268.

[3] Laakso, M.-J., Rajala, T., Kaila, E. & Salakoski, T. 2008.

The Impact of Prior Experience in Using a Visualization Tool on Learning to Program. Appeared in Cognition and Exploratory Learning in Digital Age (CELDA 2008).

[4] Laakso, M.-J., Salakoski, T., Grandell, L., Qiu, X., Korhonen, A. & Malmi, L. 2005. Multi-perspective study of novice learners adopting the visual algorithm simulation exercise system TRAKLA2. Informatics in Education, 4(1), 49-68.

[5] Lehtonen, T. 2005. Javala – Addictive E-Learning of the Java Programming Language. In Proceedings of Kolin Kolistelut / Koli Calling – Fifth Annual Baltic Conference on Computer Science Education. Joensuu, Finland, 41-48.

[6] Malmi, L., Karavirta, V., Korhonen, A., Nikander, J., Seppälä, O., & Silvasti, P. 2004. Visual Algorithm Simulation Exercise System with Automatic Assessment:

TRAKLA2. Informatics in Education Volume 3(2), 267-288.

[7] Moreno, A., Myller, N., Sutinen, E. & Ben-Ari, M. 2004.

Visualizing Programs with Jeliot 3. In Proceedings of the Working Conference on Advanced Visual Interfaces (AVI 2004), Gallipoli (Lecce), Italy. ACM Press, New York, 373-380.

[8] Naps, T. L., Rößling, G., Almstrum, V., Dann, W., Fleischer, R., Hundhausen, C., Korhonen, A., Malmi, L., McNally, M., Rodger, S. & Velázquez-Iturbide, J. Á. 2002.

Exploring the Role of Visualization and Engagement in Computer Science Education. In proceeding Working group reports from ITiCSE on Innovation and Technology in Computer Science Education ITiCSE-WGR 02, 35(2), 131-152.

[9] Oechsle, R. & Schmitt, T. 2001. JAVAVIS: Automatic Program Visualization with Object and Sequence Diagrams Using the Java Debug Interface (JDI). In proceedings Revised Lectures on Software Visualization, International Seminar, May 20-25, 176-190.

[10] Rajala, T., Laakso, M.-J., Kaila, E. & Salakoski, T. 2007.

VILLE - A language-independent program visualization tool. Proceedings of the Seventh Baltic Sea Conference on Computing Education Research (Koli Calling 2007), Koli National Park, Finland, November 15-18, 2007.

Conferences in Research and Practice in Information Technology, Vol. 88, Australian Computer Society.

Raymond Lister and Simon, Eds.

[11] Rajala, T., Laakso, M.-J., Kaila, E. & Salakoski, T. 2008.

Effectiveness of Program Visualization: A Case Study with the ViLLE Tool. Journal of Information Technology Education (Innovations in Practice section), 7, 15-32.

[12] Sajaniemi J. 2002. PlanAni - A System for Visualizing Roles of Variables to Novice Programmers. University of Joensuu, Department of Computer Science, Technical Report, Series A, Report A-2002-4.

JLS/JLSCircuitTester: A Comprehensive Logic Design and

In document Koli Calling 2008 (Page 105-109)