Ask-Elle: an Adaptable Programming Tutor for Haskell Giving Automated Feedback

Publication date

2017

Authors

Gerdes, Alex
Heeren, BastiaanISNI 0000000396075391
Jeuring, JohanISNI 0000000110063265
Binsbergen, Thomas~van

Editors

Advisors

Supervisors

Document Type

Article
Open Access logo

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