Alberto González Palomo | ![]() ![]() |
This is a page related to my work at Universtät des Saarlandes (Arbeitsgruppe Siekmann) and DFKI. My personal page can be found at www.matracas.org.
My previous work in ActiveMath includes the design and implementation of a new presentation system, whose architecture was published in a paper written by Carsten Ullrich ("A Presentation Architecture for Individualized Content" and "A flexible and efficient presentation-architecture for adaptive hypermedia: Description and technical evaluation"). My current activity is the improvement of the new exercise system I designed and implemented, including input methods for answers, connection to external systems like Computer Algebra Systems and domain reasoners, and automating part of the exercise generation by providing tools such as randomizers.
Annotating mathematical knowledge with semantics has obviously become of a major importance for systems dealing with mathematical knowledge management. We investigate various possibilities for authors to produce semantically annotated mathematics using existing general purpose editors such as OpenOffice[2] and TeXmacs[3].
We use the semantic markup language OMDoc[1] for the representation of mathematical knowledge. OMDoc is an XML language which is an extension of an OpenMath standard for representation of mathematical formulas. It classiffies the items of mathematical knowledge in deffinitions, axioms, theorems, lemmas, corollaries, proofs and other types of conceptual markup needed for building the ontology of mathematical knowledge.
Annotating mathematical documents with semantics is a tedious process, since authors have to provide an amount of additional annotations to their documents. We have been investigating different styles of authoring tools that can help authors not familiar with XML languages, since for those editing the XML document directly is a non trivial and expensive process.
We consider two different styles of WYSIWYG editors: OpenOffice which is the open source version of an advanced office program able to import and export Microsoft Office documents and TeXmacs, macro-based editor combining some features of Emacs and LaTeX. Each of these editors have their pros and cons in usability for annotating the documents with semantics and their architectural particularities impose different technical approaches and restrictions.
This document describes the design and implementation of a part of the e-Learning system ActiveMath, the exercise sub-system, that was done completely by the report author.
The main goal of this system is to facilitate reuse of both the software components and the exercise content by clear and strict separation of functionality.
It consists of a user interface mediator, that handles the interaction with the user (display of questions and feedback, and parsing of the answers), an answer evaluator/diagnoser, that classifies the answer for choosing the adequate feedback, an exercise generator, that produces the exercise content as needed (such as feedback content based on the diagnosis done by the answer evaluator), and an interaction manager that orchestrates all of them.
The exercises are described by an "interaction graph" that is traversed by the interaction manager. The answers from the user are parsed into OpenMath expressions that can be evaluated internally (by the evaluator/diagnoser) or, when required, by an external program such as a CAS with OpenMath support.
The input parsers implement a variatey of syntaxes similar to those of the Computer Algebra Systems Yacas, Maxima, Axiom, Maple, Mathematica, MuPAD, Derive, and REDUCE. The intention is that users already familiar with any of those systems can use ActiveMath without having to learn yet another syntax.
The new exercise system for ActiveMath, developed by the author with the assistance of George Goguadze, is designed to be independent of the input method. The first implementation uses Web forms for input, but we are going to begin the firsts tests with applets instead for those exercises that require them. This document describes some possible ways to do it.
While our immediate interest is Java applets, the principles apply to any other interaction form. In fact, it does not even require a conventional Web browser: a document editor capable of fetching content via HTTP could be used. Another example would be a scriptable PDF viewer, that could work the same way Web forms do now, as detailed in section 2.
The exercise system in ActiveMath grew in an ad-hoc manner, with each new type of exercise being added to it as a separate function.
During the last months, George Goguadze and the author have been creating a generalized scheme that could express all the kinds of exercises we have in ActiveMath, and developing a custom exercise description language to implement it, with the objective of starting to use the system, now under development, as the new course begins in September.
In this document, the emphasis is on exercises involving Computer Algebra Systems, since they present the biggest difficulty. Other common kinds of exercises, like Multiple Choice Questions or Fill In Blanks, can be modelled as special cases of the generic CAS exercise.