Exercises in mathematics are often solved using a standard\ud procedure, such as for example solving a system of linear equations by\ud subtracting equations from top to bottom, and then substituting variables\ud from bottom to top. Students have to practice such procedural\ud skills: they have to learn how to apply a particular strategy to an exercise.\ud E-learning systems offer excellent possibilities for practicing procedural\ud skills. The first explanations and motivation for a procedure that\ud solves a particular kind of problems are probably best taught in a class\ud room, or studied in a book, but the subsequent practice can often be\ud done behind a computer. There exist many e-learning systems or intelligent\ud tutoring systems that support practicing procedural skills. The\ud tools vary widely in breadth, depth, user-interface, etc, but, unfortunately,\ud almost all of them lack sophisticated techniques for providing\ud immediate feedback. If feedback mechanisms are present, they are hard\ud coded in the tools, often even with the exercises. This situation hampers\ud the usage of e-learning systems for practicing mathematical skills.\ud This paper introduces a formalism for specifying strategies for solving\ud exercises. It shows how a strategy can be viewed as a language in which\ud sentences consist of transformation steps. Furthermore, it discusses how\ud we can use advanced techniques from computer science, such as term\ud rewriting, strategies, error-correcting parsers, and parser combinators to\ud provide feedback at each intermediate step from the start towards the\ud solution of an exercise. Our goal is to obtain e-learning systems that give\ud immediate and useful feedback
To submit an update or takedown request for this paper, please submit an Update/Correction/Removal Request.