Improving Recognition of Student Programs in Ask-Elle

Publicerad

Typ

Examensarbete för masterexamen
Master's Thesis

Modellbyggare

Tidskriftstitel

ISSN

Volymtitel

Utgivare

Sammanfattning

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.

Beskrivning

Ämne/nyckelord

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

Citation

Arkitekt (konstruktör)

Geografisk plats

Byggnad (typ)

Byggår

Modelltyp

Skala

Teknik / material

Index

item.page.endorsement

item.page.review

item.page.supplemented

item.page.referenced