Methodologies for studies of program visualization (original) (raw)

Various Utilizations of an Open-Source Program Visualization Tool, Jeliot 3

Informatics in Education

In this paper, we present an open-source program visualization tool, Jeliot 3. We discuss the design principles and philosophy that gave rise to this successful e-learning tool and to several other related environments. Beside Jeliot 3, we introduce three different environments, BlueJ, EJE, and JeCo that use Jeliot 3 as a plug-in to allow visualization of the program code. Another system, FADA, is a tool that was derived from Jeliot 3 but serves for different pedagogical goals. A community of users and developers of these projects has been created and supported, that allows for global and iterative improvements of the Jeliot 3 tool. This way, both academic research and feedback from the user community contribute to the development. We compare the presented approach of the tool development to some of the current tools and we discuss several instances evidencing a particular success.

Classifying Program Visualization Tools to Facilitate Informed Choices: Teaching and Learning Computer Programing

Abstract– Program Visualization (PV) is a technique that has been found useful in teaching computing programming. This has seen proliferation in development of PV tools with an aim of enhancing teaching/learning programming over the last two decades. However, the tools usage has remained minimal. Perhaps because it becomes challenging to ascertain the appropriate tool for the right task. This paper presents a classification of program visualization tools with the focus of aiding teachers and students in choosing the most appropriate tool for an interesting experience in the classroom. The paper is based on six various PV tools evaluated over a period of two consecutive academic years in a Kenyan public University. The classification augments the Price’s taxonomy of software visualization arm of PV by presenting four basic levels which are further subdivided into lower levels.

Software visualization as a pedagogical tool: Redressing some its fallacies

Learning to Build and Comprehend Complex Information Structures: PROLOG as a Case Study, 1999

How can we best facilitate the progress of students new to computer programming? This question has been of interest for many years to researchers in Cognitive Science, Artificial Intelligence, and Human-Computer Interaction. The scope of relevant emphases includes the use of clear execution models (du Boulay et al., 1981); the intertwining roles of language, environment, and curriculum (Eisenstadt, 1983); cognitive models of learners' planning behaviour (Anderson et al., 1984); and automatic program debuggers which ...

Classifying Program Visualization Tools to Facilitate Informed Choices: Teaching and Learning Computer Programming

Program Visualization (PV) is a technique that has been found useful in teaching computing programming. This has seen proliferation in development of PV tools with an aim of enhancing teaching/learning programming over the last two decades. However, the tools usage has remained minimal. Perhaps because it becomes challenging to ascertain the appropriate tool for the right task. This paper presents a classification of program visualization tools with the focus of aiding teachers and students in choosing the most appropriate tool for an interesting experience in the classroom. The paper is based on six various PV tools evaluated over a period of two consecutive academic years in a Kenyan public University. The classification augments the Price’s taxonomy of software visualization arm of PV by presenting four basic levels which are further subdivided into lower levels. Index Terms– Classification, Pedagogy, Program Visualization and Taxonomy

Targeting program visualizations

Proceedings of the 12th …, 2007

To instruct students on the use of visualizations most beneficially the teacher needs to know who the students are that use the visualizations, for what they use them, and what kind of problems they have. Empirical research has been carried out on the educational impact of visualizations in test situations, but this survey presents the students' normal way of studying when the use of visualizations is voluntary.

Interaction and Visualization Techniques for Programming

Programmers spend much of their time investigating the source code of a program, which often involves navigating and understanding delocalized code fragments. This Ph.D. project explores the use of information visualizations that are designed to support programmers in these activities. I use controlled experiments to provide precise measurements of the usability of visualizations and detailed insight into users' interaction with visualizations. Also, case studies are used to understand how professional programmers use visualizations in realistic work activity. Overall, this research will contribute empirically founded insight into the design and use of visualizations in programming.

Software Visualization As A Pedagogical Tool: Redressing Some ITS Fallacies1

1992

Abstract: The long-term future of Intelligent Tutoring Systems (ITSs) for the teaching of programming is severely hampered by weaknesses which prevent ITSs from scaling up to cater for either a wide audience or a broad curriculum. The weaknesses include an emphasis on toy examples, the use of instruction-based (as opposed to guided discovery-based) teaching, a lack of attention to user interfaces, and the belief that it is possible to create a comprehensive bug catalogue.

Visualizing programs with Jeliot 3

Working Conference on Advanced Visual Interfaces, 2004

We present a program visualization tool called Jeliot 3 that is designed to aid novice students to learn procedural and object oriented programming. The key feature of Jeliot is the fully or semi-automatic visualization of the data and control flows. The development process of Jeliot has been research-oriented, meaning that all the different versions have had their own research agenda rising from the design of the previous version and their empirical evaluations. In this process, the user interface and visualization has evolved to better suit the targeted audience, which in the case of Jeliot 3, is novice programmers. In this paper we explain the model for the system and introduce the features of the user interface and visualization engine. Moreover, we have developed an intermediate language that is used to decouple the interpretation of the program from its visualization. This has led to a modular design that permits both internal and external extensibility.