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

10.28945/3237 ◽  
2008 ◽  
Author(s):  
Teemu Rajala ◽  
Mikko-Jussi Laakso ◽  
Erkki Kaila ◽  
Tapio Salakoski

Program visualization is one of the various methods developed over the years to aid novices with their difficulties in learning to program. It consists of different graphical - often animated - and textual objects, visualizing the execution of programs. The aim of program visualization is to enhance students’ understanding of different areas of program execution. Typical program visualization techniques include code highlighting, visualization of the call stack, and presenting information on variables. Despite the large number of studies performed on program visualization, little is known about the effects of such systems on learning. We have developed a program visualization tool called ViLLE, with the main objective of offering an environment for students to study the execution of example programs - whether written by students themselves or prepared by the teacher - and explore the changes in the program state data structures. A key feature of ViLLE is language independency, including parallel execution of a program in two different languages and the ability to define new languages. ViLLE also provides role information of program variables and supports the design and use of interactive pop-up questions.

2000 ◽  
Vol 22 (2) ◽  
pp. 187-215 ◽  
Author(s):  
Philip A. Smith ◽  
Geoffrey I. Webb

It is widely agreed that learning to program is difficult. Program visualization tools make visible aspects of program execution which are often hidden from the user. While several program visualization tools aimed at novice programmers have been developed over the past decade there is little empirical evidence showing that novices actually benefit from their use [1]. In this article we describe a “Glass-box Interpreter” called Bradman. An experiment is presented which tests the efficacy of Bradman in assisting novice programmers learn programming concepts. We show that students that used the glass-box interpreter achieved greater understanding of some programming concepts than those without access. We also give evidence that the student's ability to assimilate new concepts was enhanced by exposure to the glass-box interpreter. This is experimental confirmation that such tools are beneficial in helping novices learn programming.


Author(s):  
Sanja Maravić Čisar ◽  
Robert Pinter ◽  
Dragica Radosav

This study was carried out to observe, measure and analyze the effects of using software visualization in teaching programming with participants from two institutions of higher educations in Serbia. Basic programming learning is notorious for complex for many novice students at university level. The visualizations of examples of program code or programming tasks could help students to grasp programming structures more easily. This paper describes an investigation about the possibilities of enhancement of learning Java using the visualization software Jeliot. An analysis of 400 students’ test results indicates that a significant percentage of students had achieved better results when they were using a software visualization tool. In the experience of the authors Jeliot may yield the best results if implemented in with students who are new to the art of programming.


2017 ◽  
Vol 22 (1) ◽  
pp. 47-53
Author(s):  
Ruslan Batdalov ◽  
Oksana Ņikiforova

Abstract Implementation of an emulator of MIX, a mythical computer invented by Donald Knuth, is used as a case study of the features of the Scala programming language. The developed emulator provides rich opportunities for program debugging, such as tracking intermediate steps of program execution, an opportunity to run a program in the binary or the decimal mode of MIX, verification of correct synchronisation of input/output operations. Such Scala features as cross-compilation, family polymorphism and support for immutable data structures have proved to be useful for implementation of the emulator. The authors of the paper also propose some improvements to these features: flexible definition of family-polymorphic types, integration of family polymorphism with generics, establishing full equivalence between mutating operations on mutable data types and copy-and-modify operations on immutable data types. The emulator is free and open source software available at www.mix-emulator.org.


Author(s):  
Oscar Karnalim ◽  
Mewati Ayub

Program Visualization (PV) is an educational tool frequently used to assist users for understanding a program flow. However, despite its clear benefits, PV cannot be incorporated easily on Introductory Programming course. Several key properties such as student characteristics and behavior should be considered beforehand. This paper is intended to provide an empirical review about the impact of PV toward students of Introductory Programming course. For our case study, PythonTutor is selected as a sample of PVs due to its accessibility. It can be accessed anywhere and anytime through a web browser. Three conclusions are obtained based on our evaluation on data collected from a survey. Firstly, PV is quite effective to assist students for conducting several programming sub-tasks. Secondly, PV, at some extent, may help students to learn advanced topics on Introductory Programming course. Finally, despite the fact that several features should be incorporated to enhance understanding of students, PV is beneficial for learning Introductory Programming course, especially when it is frequently used.


2001 ◽  
Vol 12 (01) ◽  
pp. 97-124 ◽  
Author(s):  
EDGAR F. A. LEDERER ◽  
ROMEO A. DUMITRESCU

Two-Stage Programming (2SP) is an experimental programming language, the first implementation of the Specification-Consistent Coordination Model (SCCM). The SCCM proposes a new, mixed-paradigm (functional/imperative) approach to developing reliable programs based on complete run-time checking of computations with respect to a given specification. A 2SP program consists of a functional specification and an imperative coordination tightly connected to the specification. The coordination maps the specification to an imperative and possibly parallel/distributed program. Normal termination of a 2SP program execution implies the correctness of the computed results with respect to the specification, for that execution. We present the basic feautures of the SCCM/2SP, a new message-spassing system of 2SP with integrated run-time checking, and a larger case study. We show that 2SP provides: functional specifications, specification-consistent imperative coordinations, automatic run-time result verification and error detection, enhanced debugging support, and good efficiency.


1985 ◽  
Vol C-34 (12) ◽  
pp. 1178-1185 ◽  
Author(s):  
Carla Schlatter Ellis

Author(s):  
Yutaka Watanobe ◽  
Nikolay Mirenkov

Programming in pictures is an approach where pictures and moving pictures are used as super-characters to represent the features of computational algorithms and data structures, as well as for explaining the models and application methods involved. *AIDA is a computer language that supports programming in pictures. This language and its environment have been developed and promoted as a testbed for various innovations in information technology (IT) research and implementation, including exploring the compactness of the programs and their adaptive software systems, and obtaining better understanding of information resources. In this paper, new features of the environment and methods of their implementation are presented. They are considered within a case study of a large-scale module of a nuclear safety analysis system to demonstrate that *AIDA language is appropriate for developing efficient codes of serious applications and for providing support, based on folding/unfolding techniques, enhancing the readability, maintainability and algorithmic transparency of programs. Features of this support and the code efficiency are presented through the results of a computational comparison with a FORTRAN equivalent.


Sign in / Sign up

Export Citation Format

Share Document