Ask-Elle: an Adaptable Programming Tutor for Haskell Giving Automated Feedback
Journal article, 2017

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.

Model tracing

Functional programming

Adaptability

Tutoring

Automated feedback

Haskell

Author

Alex Gerdes

University of Gothenburg

Bastiaan Heeren

Open University of the Netherlands

Johan Jeuring

Utrecht University

L.T. Van Binsbergen

Royal Holloway University of London

International Journal of Artificial Intelligence in Education

1560-4292 (ISSN) 1560-4306 (eISSN)

Vol. 27 1 65-100

Areas of Advance

Information and Communication Technology

Subject Categories

Computer and Information Science

DOI

10.1007/s40593-015-0080-x

More information

Latest update

7/19/2023