Extending a unification-based algorithm for use on real student data in Ask-Elle
Summary
Ask-Elle is an adaptable tutor, designed to help students learn the programming language Haskell. A teacher specifies a model solution and Ask-Elle uses this model to provide stepwise, interactive feedback to students while they solve the programming exercise. Ask-Elle uses normalisation to compare two programs for equivalence, to assess the correctness of a program and to provide hints. Normalisation is only suitable for comparing complete programs. Serrano Mena et al. are developing a unification-based algorithm UM, which is able to compare both incomplete and complete programs. By using algorithm UM we can potentially improve the feedback system of Ask-Elle. The main contribution of our work is to extend the unification-based algorithm to work on real student data. We analyse the situations in which the algorithm can not completely process the student data and extend the algorithm accordingly. We construct a pipeline to process student data in order to compare the results of unification to Ask-Elle's normalisation and a strategy-based check. We analyse unification results and successfully enhance algorithm UM.