The educational programming language Elan

Elan was developed in 1974 by a group at the Technical University of Berlin (see [1]) as an alternative to BASIC in teaching, and approved for use in secondary schools in Germany by the ``Arbeitskreis Schulsprache''. It is presently in use in a number of schools in Western Germany, Belgium, the Netherlands and Hungary for informatics teaching in secondary education, and used at the university of Nijmegen in the Netherlands for teaching systematic programming to students from various disciplines and in teacher courses.

Elan was especially designed for one specific application area: the teaching of systematic programming. The language is not oriented towards general usage or towards other application areas. It can be seen as a didactic framework embodying a number of ideas about systematic programming and supporting, through specific language mechanisms, the learning of the two complementary programming styles:

as well as recursive programming, modular programming and syntax-directed programming.

Elan is an algorithmic language in the ALGOL family, more related to ALGOL68 than to PASCAL. The language is not an experiment in language design; both syntactically and semantically it is quite conventional. Its control structures are the conventional Dijkstra structures, in conjunction with a leave-statement. Its data structures are limited to the (fixed size) row and structure - not as rich as ALGOL 68 but much simpler due to the absence of the reference concept.

In order to support the learning of systematic programming, it stresses instead the use of abstraction mechanisms. Its striking features are:

A number of implementations of Elan have been developed in different environments: