Improving Recognition of Student Programs in Ask-Elle

Loading...
Thumbnail Image

Date

Type

Examensarbete för masterexamen
Master's Thesis

Model builders

Journal Title

Journal ISSN

Volume Title

Publisher

Abstract

Ask-Elle is a programming tutor offering a simple interface for solving small programming exercises in Haskell. Feedback is given incrementally by allowing the students to have holes in their program, where the system can offer suggestions on how to fill the hole. To give constructive feedback and not only point out errors, Ask-Elle first matches student programs against a set of model solutions defined for the exercise. The feedback is limited for programs that cannot be recognised as matching a model solution. Haskell offers a rich syntax that allows writing semantically but not syntactically equivalent programs, making matching programs difficult. A way of removing such syntactic differences is to normalise programs by applying normalising program transformations. Although this is already done in Ask-Elle, not all correct programs can currently be recognised. We have implemented a new approach to normalisation and feedback generation using the GHC API to utilise GHC’s internal transformations and warning messages to improve the recognition rate and the generated feedback. The new approach shows a slight improvement in the number of recognised programs. It also enables an alternative way of generating hints for filling a hole in an incomplete program which is made possible by using GHC’s intermediate Core language.

Description

Keywords

Program transformations, Normalistation, GHC, GHC Core, Haskell, Programming tutor, Ask-Elle

Citation

Architect

Location

Type of building

Build Year

Model type

Scale

Material / technology

Index

Endorsement

Review

Supplemented By

Referenced By