Abstract
Intelligent Tutoring Systems specifically for programming and computer science can bereferred to as Intelligent Programming Tutors. Currently, the only consistent component in
Intelligent Programming Tutors is the fact they provide Adaptive Feedback. However, the
methods IPT provide are created specific to both their educational context, and programming
language - they are domain specific. Several components of the domain of IPT are considered
mutually exclusive - particularly the selection of programming languages each IPT can
support, and the authoring tools that can be made for them.
This research introduces a method of program synthesis with a domain-independent
IPT (programming-language-independent IPT) method of specifying programming language
syntax, and outputting syntax feedback and task semantics feedback according to the given
programming language. This method also introduces an authoring tool that can be used
across all theoretical text based programming languages.
We use ANTLR4 for the program synthesis behind this IPT. We test our method against
a small sample of the ever growing repository of more than 200 programming languages. We
conclude that the method worked unanimously across programming languages - allowing for
an IPT that guarantees feedback is generated, regardless of programming language, or the
state of the learner’s code and any errors in the solution. However, what affects the quality of
the feedback returned, and what would be ideal for phrasing is still ambiguous.
Date of Award | 1 Jul 2023 |
---|---|
Original language | English |
Awarding Institution |
|
Supervisor | Alexandra Mendes (Supervisor), The Anh Han (Supervisor) & Mohammad Abdur Razzaque (Supervisor) |