Knowledge Representation



Each task has an associated context which defines the object-language and the meta-language needed to specify the problem. The object-language is the mathematical speech language. The meta-language consists of the meta-functions used to evaluate student’s answers, providing him/her with feedback on errors.

When solving a task, students use the object-language. When creating a task, teachers use meta-functions in order to define task solution conditions and partial progress evaluation.

Meta-functions are the core of our system feedback. Some basic meta-functions evaluate, for instance, whether two algebraic expressions, or two equations, are equivalent, or whether a proposition follows from a given set of premises. These meta-functions identify common errors, like incorrect rule application, application of invalid rules, and small misspellings.

Error messages explain these errors to students, possibly providing counter-examples. Such basic meta-functions may depend on complex algorithms, therefore some of them are provided as the result of expert work. Teachers can easily create their own meta-functions, by recombining and customizing messages of already existing meta-functions, thus creating a higher level of feedback messages.

Each context has an associated oracle which is capable of evaluating the context meta-functions and, therefore, the teacher meta-conditions on student answers.

If teachers want to add new meta-functions, e.g., in order to define some specific feedback, they may extend the corresponding context. Contexts are extended through object-language and/or meta-language extension.

All mathematical content is represented as terms, which, in our system, are typified. Term types are defined grammatically within contexts. Some of these types have a random attribute, which means that random values of those types can be generated. Thus, parametric tasks depending on random parameters allow the automatic generation of random instances.




Home