This paper examines the learning of the functional programming language Standard ML. A commontechnique used by novices is programming by analogy whereby students refer to similar programsthat they have written before or have seen in the course literature and use these programs as a basisto write a new program. We present a novel editor for ML which supports programming by analogyby providing a collection of editing commands that transform old programs into new ones. Eachcommand makes changes to an isolated part of the program. These changes are propagated to therest of the program using analogical techniques. Many commands are at a level high enough toprovide guidance to the novice during program development. We observed a group of novice MLstudents to determine the most common programming errors in learning ML and restrict our editorsuch that it is impossible to commit these errors. In this way, students encounter fewer bugs and sotheir rate of learning increases.
|Publication status||Published - 1997|
|Event||Proceedings of the 8th World Conference on Artificial Intelligence in Education - Kobe, Japan|
Duration: 18 Aug 1997 → 22 Aug 1997
|Conference||Proceedings of the 8th World Conference on Artificial Intelligence in Education|
|Period||18/08/97 → 22/08/97|