Original language | English |
---|
Title of host publication | Programming Languages: Implementations, Logics, and Programs |
---|
Subtitle of host publication | 9th International Symposium, PLILP '97 Including a Special Track on Declarative Programming Languages in Education Southampton, UK, September 3–5, 1997 Proceedings |
---|
Publisher | Springer-Verlag GmbH |
---|
Volume | 1292 |
---|
ISBN (Electronic) | 978-3-540-69537-0 |
---|
ISBN (Print) | 978-3-540-63398-3 |
---|
DOIs | |
---|
Publication status | Published - 1997 |
---|
Name | Lecture Notes in Computer Science |
---|
Publisher | Springer Verlag |
---|
Volume | 1292 |
---|
ISSN (Print) | 0302-9743 |
---|
This paper describes a novel editor intended as an aid in the learning of the functional programming language Standard ML. A common technique used by novices is programming by analogy whereby students refer to similar programs that they have written before or have seen in the course literature and use these programs as a basis to write a new program. We present a novel editor for ML which supports programming by analogy by providing a collection of editing commands that transform old programs into new ones. Each command makes changes to an isolated part of the program. These changes are propagated to the rest of the program using analogical techniques. We observed a group of novice ML students to determine the most common programming errors in learning ML and restrict our editor such that it is impossible to commit these errors. In this way, students encounter fewer bugs and so their rate of learning increases. Our editor, CYNTHIA, has been implemented and is due to be tested on students of ML from September, 1997.
- Programming language learning, learning environmnets, analogy
ID: 6317994