ABSTRACT

This chapter describes the principled design of a computational environment which depicts an animated story of the execution of programs for novice programmers. It investigates a representation of program execution in an explicit dynamic form, with the intention that the user will be able to assimilate knowledge much more easily than from traditional tracers and single steppers. The design principles are aimed at solving the problems that novice programmers face when learning new programming languages, and are embodied in an Animated Program Tracer (APT) for Prolog. Dynamic programming concepts are normally introduced either as abstract theories or by analogy to non-programming ideas. The traditional notional machine presents the novice with a static view of the programming language because it is based on text books or disparate tracing snapshots. APT is based on design principles extracted both from general, systems-design principles and other tools that have made an attempt to provide a run-time view of program execution.