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