Abstract

Consideration will be given to the perplexity students experience with recursive function definitions. Certain conceptual structures will be suggested, which might provide a path through the thicket. In particular, emphasis will be placed on decisions that a programmer makes during the course of designing a recursive definition. By drawing attention to these decisions — by classifying them and making them explicit — it is possible to delineate the kind of “space” within which creativity operates. To vivify this, a rudimentary taxonomy of recursive function definitions will be sketched here. It will be illustrated in a particular application area, involving a family of simple string-processing tasks. This will highlight two different kinds of structure: (i) classification of different tasks within the family, (ii) classification of different approaches to a single task. Some of the points to be raised are not specific to recursion; accordingly, connections will be drawn here and there with certain more general pedagogical themes promulgated by Peter Landin in recent years.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call