Skip to content

Containers

GitHub Action edited this page Jun 21, 2023 · 2 revisions

On the next page, in the figure below an overview of the different Containers is given. This overview is not complete: it only contains the parts of the refactor tutor that are relevant to this project.

The tutor consists of a Domain Reasoner, a datatype from the Ideas framework. This Domain Reasoner contains all necessary configuration for the Ideas framework to generate feedback. This configurations most importantly contains a list of exercises: this is what the student works on. An exercise is defined by the following properties:

  • A difficulty, starting examples, description and a list of test cases.
  • A parser that parses the code and returns an Abstract Syntax Tree (AST).
  • A pretty printer that converts the AST back into code.
  • A test case runner to check if the test cases pass.
  • A strategy that gets used to generate feedback.
  • A list of buggy rules that gets applied to find possible mistakes.

The teacher and researcher interact with the exercises by modifying the exercise definitions.