Ask-Elle: an Adaptable Programming Tutor for Haskell Giving Automated Feedback
- PDF / 2,237,882 Bytes
- 36 Pages / 439.37 x 666.142 pts Page_size
- 16 Downloads / 206 Views
Ask-Elle: an Adaptable Programming Tutor for Haskell Giving Automated Feedback Alex Gerdes 1 & Bastiaan Heeren 2 & Johan Jeuring 3 & L. Thomas van Binsbergen 4
# International Artificial Intelligence in Education Society 2016
Abstract Ask-Elle is a tutor for learning the higher-order, strongly-typed functional programming language Haskell. It supports the stepwise development of Haskell programs by verifying the correctness of incomplete programs, and by providing hints. Programming exercises are added to Ask-Elle by providing a task description for the exercise, one or more model solutions, and properties that a solution should satisfy. The properties and model solutions can be annotated with feedback messages, and the amount of flexibility that is allowed in student solutions can be adjusted. The main contribution of our work is the design of a tutor that combines (1) the incremental development of different solutions in various forms to a programming exercise with (2) automated feedback and (3) teacher-specified programming exercises, solutions, and properties. The main functionality is obtained by means of strategy-based model tracing and property-based testing. We have tested the feasibility of our approach in several experiments, in which we analyse both intermediate and final student solutions to programming exercises, amongst others.
* Alex Gerdes [email protected]; [email protected] Bastiaan Heeren [email protected] Johan Jeuring [email protected] L. Thomas van Binsbergen [email protected]
1
Chalmers University of Technology, Gothenburg, Sweden
2
Open Universiteit Nederland, Heerlen, Netherlands
3
Utrecht University and Open Universiteit Nederland, Utrecht, Netherlands
4
Royal Holloway, University of London, Egham, UK
Int J Artif Intell Educ
Keywords Functional programming . Haskell . Tutoring . Model tracing . Automated feedback . Adaptability
Introduction Haskell is a lazy, purely functional programming language (Peyton Jones 2003). It is taught at universities all over the world: just the English Haskell beginners’ books (Bird 1998; Hutton 2007; Hudak 2000; Thompson 2011) together sold more than 50, 000 copies, and there are lecture notes and books available in Spanish, Dutch, German, Portuguese, Russian, Japanese, etc. Ask-Elle 1 is a tutor that supports the stepwise development of simple functional programs in Haskell. Using this tutor, students learning functional programming develop their programs incrementally, receive feedback about whether or not they are on the right track, can ask for a hint when they are stuck, and can have a look at a worked-out solution. Ask-Elle is an example of an intelligent tutoring system (VanLehn 2006) for the domain of functional programming. Why would a teacher or a student use such an intelligent tutoring system? Evaluation studies have indicated that – – – – –
using an intelligent tutor that supports the stepwise development of solutions to problems is almost as effective as a human tutor (VanLehn 2011), working with an intelligent tutor supp
Data Loading...