Layered Architecture for Automatic Generation of Conflictive Animations in Programming Education

  • Authors:
  • Andres Moreno;Mike Joy;Niko Myller;Erkki Sutinen

  • Affiliations:
  • University of Joensuu, Joensuu;University of Warwick, Coventry;University of Joensuu, Joensuu;University of Joensuu, Joensuu

  • Venue:
  • IEEE Transactions on Learning Technologies
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

Fundamental concepts of programming and data structures are usually taught with graphical tools such as simulations and animations. Conflictive animations have been proposed to improve students' understanding of programming concepts. In conflictive animations, errors are introduced in the animations to motivate students to constantly check their knowledge against what is being animated. We have implemented a framework in an animation tool that allows the automatic generation of conflictive animations of statements, expressions, and other programming constructs. The automatic generation is challenging due to the alternative paths execution can take and their side effects. The architecture of the tool consists of several layers that can alter the normal interpretation or visualization of the program. The framework and the tool have been evaluated by creating conflictive animations of two programming concepts—for-loops and inheritance—and by running a set of 27 examples taken from Java textbooks. Of these, over two thirds (19) required no modification or only minor changes to create the conflictive animations. The reasons that the remaining examples did not generate conflictive animations automatically were divided between the layered architecture used and the example program itself.