Algorithm Animation attempts to explain an algorithm by visualizing interesting events of the execution of the implemented algorithm on some sample input. Algorithm Explanation describes the algorithm on some adequate...
详细信息
Algorithm Animation attempts to explain an algorithm by visualizing interesting events of the execution of the implemented algorithm on some sample input. Algorithm Explanation describes the algorithm on some adequate level of abstraction, states invariants, explains how important steps of the algorithm preserve the invariants, and abstracts from the input data up to the relevant properties. It uses a small focus onto the execution state. This paper is concerned with the explanation of algorithms on linked data structures. The thesis of the paper is that shape analysis of such algorithms produces abstract representations of such data structures, which focus on the "active" parts, i.e., the parts of the data structures, which the algorithm can access during ii's next steps. The paper presents a concept of visually executing an algorithm on these abstract representations of data.
The standard approach to programming is to learn a programming language, write a program in a development environment, compile it, and run it to check how it works. Another approach is possible using direct manipulati...
详细信息
ISBN:
(纸本)9781450363013
The standard approach to programming is to learn a programming language, write a program in a development environment, compile it, and run it to check how it works. Another approach is possible using direct manipulation programming. This approach makes it possible to directly manipulate the programming objects (variables, arrays, indices) to implement a given algorithm and to automatically produce the corresponding program. In this paper, we report on the results of an experiment that we performed to compare the standard approach with direct manipulation programming. The experiment was conducted with an audience of 54 beginner students divided into 2 groups. The first group programmed with Python Tutor and the second with AlgoTouch, a direct manipulation programming tool. In this article, we present the experience and detail the results obtained.
DAJ (Distributed algorithms in Java) is a framework for writing Java programs to implement distributed algorithms. The programs display the data structures at each node and enable the user to interactively construct s...
详细信息
DAJ (Distributed algorithms in Java) is a framework for writing Java programs to implement distributed algorithms. The programs display the data structures at each node and enable the user to interactively construct scenarios. In a learning situation, active interactive execution is preferable to passively watching an animation. Programs have been implemented for commonly taught algorithms, including the Byzantine generals, mutual exclusion, termination, and snapshots. Adding a program for another algorithm requires only general Java programming experience, as the GUI aspects are encapsulated.
暂无评论