Ask-Elle: an Adaptable Programming Tutor for Haskell Giving Automated Feedback
Files
Publication date
2017
Editors
Advisors
Supervisors
Document Type
Article
Metadata
Show full item recordCollections
License
taverne
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.
Keywords
Functional programming, Haskell, Tutoring, Model tracing, Automated feedback, Adaptability, Taverne
Citation
Gerdes, A, Heeren, B J, Jeuring, J T & Binsbergen, T 2017, 'Ask-Elle: an Adaptable Programming Tutor for Haskell Giving Automated Feedback', International Journal of Artificial Intelligence in Education, vol. 27, no. 1, pp. 65-100. https://doi.org/10.1007/s40593-015-0080-x