Goals, explanations and recipes
Computer-assessed problems is a popular tool for massive math courses.
A minimal problem feedback consists ofa simple right/wrong reply that costs no more that writing a
checking procedure. More nuanced interactions might provide an explanation of why the student answeris
wrong, but a really helpful one should offer a step-by-step recipe for solving the problem.
It is hard to write good problems because the author must know well the underlying system(in most cases a
Computer Algebra System) and take care of a lot of technical issues.
We propose a domain specific language (DSL) allowing the teacher to concentrate on the logic and
pedagogic aspects ofthe problem, while the technical aspects (parsing student responses,guicomponents,
localisation, communicating with solverservices) would be taken into account by software components in
the background.
Goals are non-ground logical formulae with decidable grounded instantations which represents the
problem. On the other hand, instantiated goals can be viewed as types whose elements are evidence that the
solution is right. Explanations could be extracted from evidence in textual (multilingual) form or, in some
cases,graphical form.
Recipes are mappings from goals to goals used to split a problem into its components. They are suggested
to the student as hints and combined give a step-by-step solution ofthe problem.