Algorithm animator: a tool for programming learning

A primary and most important problem in computer science education at the undergraduate level lies in providing students with interactive tools to favor learning, to stimulate a more effective laboratory activity, and to facilitate the development and debugging of programs. Toward this end, we have designed VISAL, a tool for animating the execution of a program, and a library of fundamental algorithms instrumented for visualization. Visualizing the execution of a given program should enable the students to better understand the dynamic aspects of programming. We also describe the experimental work carried out by undergraduates of a programming course, in order to verify both the effectiveness of VISAL implementation and the role played by VISAL as an aid in learning activities.