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

A Gerdes, L. Thomas van Binsbergen

Research output: Contribution to journalArticlepeer-review

219 Downloads (Pure)

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.
Original languageEnglish
Pages (from-to)65-100
Number of pages36
JournalInternational Journal of Artificial Intelligence in Education
Volume27
Issue number1
Early online date5 Feb 2016
DOIs
Publication statusPublished - Mar 2017

Cite this