a1 School of Computer Science and Engineering, University of New South Wales, P.O. Box 1, Kensington NSW 2033, Australia (e-mail: email@example.com)
a2 Department of Computer Science, University of Queensland, Queensland 4072, Australia (e-mail: firstname.lastname@example.org)
a3 School of Computer Science and Engineering, University of New South Wales, P.O. Box 1, Kensington NSW 2033, Australia (e-mail: email@example.com)
The functional programming language Miranda has been used as a first programming language at the University of NSW since the beginning of 1989, when a new computer engineering course and a revised computer science course were introduced. This paper explains the reasons for choosing the language, and describes the subject in which Miranda is introduced. Examples of the presentation of the material, and of exercises and assignment used in the course, are given. Finally, an assessment of the experience is given.