This paper presents a method for overcoming one of the most difficult
problems in teaching programming to first-year university students, na
mely recursion. It is established that what is required to understand
recursion is an abstracted mental model of recursive flow of control.
The model which is deemed most suitable for the purposes of this resea
rch is the copies model of recursion. In this model recursive instanti
ations are seen as copies of the recursive function. In order to prese
nt this model to students, a program (as opposed to data or algorithm)
animator is employed. This animator takes any Pascal program containi
ng a recursive function and presents the student with a dynamic copies
model of the recursive function.