Complementing the Digital Programming Tutor Ask-Elle with Program Synthesis
Typ
Examensarbete för masterexamen
Program
Publicerad
2021
Författare
Engsmyre, Gustav
Wikström, Karl
Modellbyggare
Tidskriftstitel
ISSN
Volymtitel
Utgivare
Sammanfattning
Practising is a part of learning how to program. Usually, teachers help students
with this, but digital alternatives are available. Ask-Elle is such an alternative,
developed for teaching the functional programming language Haskell. Students can
submit partial solutions to exercises and will receive feedback from Ask-Elle. However,
it has some limitations when dealing with partial solutions that diverge from
the structure of its reference solutions.
We present a proof of concept to complement Ask-Elle (called thupy) that aims to
handle solutions where students do not follow the structure of the reference solutions
from Ask-Elle. We use program synthesis to generate a suggested next step for a
student, with more focus on the behaviour rather than the structure of the reference
solutions.
Our results show that this is a promising idea. Evaluating thupy on a dataset
gathered from Ask-Elle, we manage to provide feedback on 21% of student solution
where Ask-Elle cannot, and 35% of solutions where it can. We measure an average
runtime of 3 seconds, which is an acceptable amount of time to wait for feedback.
Beskrivning
Ämne/nyckelord
Computer Science , Functional Programming , Digital Programming Tutor , Program Synthesis , Haskell , Ask-Elle