Improving Recognition of Student Programs in Ask-Elle
dc.contributor.author | Blomqvist, Matilda | |
dc.contributor.department | Chalmers tekniska högskola / Institutionen för data och informationsteknik | sv |
dc.contributor.department | Chalmers University of Technology / Department of Computer Science and Engineering | en |
dc.contributor.examiner | Sheeran, Mary | |
dc.contributor.supervisor | Gerdes, Alex | |
dc.date.accessioned | 2023-12-08T14:12:53Z | |
dc.date.available | 2023-12-08T14:12:53Z | |
dc.date.issued | 2023 | |
dc.date.submitted | 2023 | |
dc.description.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. | |
dc.identifier.coursecode | DATX05 | |
dc.identifier.uri | http://hdl.handle.net/20.500.12380/307427 | |
dc.language.iso | eng | |
dc.setspec.uppsok | Technology | |
dc.subject | Program transformations | |
dc.subject | Normalistation | |
dc.subject | GHC | |
dc.subject | GHC Core | |
dc.subject | Haskell | |
dc.subject | Programming tutor | |
dc.subject | Ask-Elle | |
dc.title | Improving Recognition of Student Programs in Ask-Elle | |
dc.type.degree | Examensarbete för masterexamen | sv |
dc.type.degree | Master's Thesis | en |
dc.type.uppsok | H | |
local.programme | Computer science – algorithms, languages and logic (MPALG), MSc |