Interacting with MathML's Content
Stan Devitt
Stratum Technical Services Ltd.
Abstract
Those familiar with MathML are aware that it involves a marriage of two
complementary markup objectives: presentation or page layout and mathematical
meaning. The need for something beyond a pure page layout can already be seen
in trying to process for understanding something as apparently simple
as a(b + c). Without additional information you cannot decide if this means
that the function a is applied to the sum of b and c, or if
it is the product that expands to ab + ac. While in
controlled environments
various heuristics or conventions can be applied, clarifying this
interpretation is precisely the role of content-based markup. From an automatic
processing point of view, authors must be able to state precisely how their use
of a given expression tree is to be interpreted. They must be able to record
both the meanings of their symbols (expression tree leaf nodes) and the
mathematical relationships between them in such a manner that self-contained
expressions can be recognized and processed by software.
This talk is about a case study on the use of MathML's content markup.
It tackles the problem of building a web-based mathematics course in which the
embedded mathematical data must be available for processing by external applications. Throughout, emphasis is on discussion of the rationale
for the various design decisions. We deal with issues such as why content
markup is most appropriate, how to extend content markup to handle
functionality beyond the MathML 2.0 specification, and how to coordinate
content with presentation.
The case study involves the transformation of an existing mathematics
courseware book into a web-based course. The primary goal of the original
course was to investigate and learn about mathematical topics. It was unusual
in that throughout the entire course, it was also assumed that the student had
instant access to a powerful interactive algebraic system. The interactive
algebraic system served essentially as a subject expert, able to perform any
task the student asked (from providing a full solution to carrying out a small
step) quickly and accurately. This model often changed the course objectives,
switching emphasis from memorizing the detailed steps of a particular
computation to looking for global structure and to understanding what could be
used to explore and what was achievable. The software had been heavily
customized to support an interactive, top-level-down analysis of each problem.
Its success was in helping the instructor to force students to work at the
level of abstraction he or she wanted rather than leaving them to drown
in the details of low-level computations, but the course suffered from too high
a visibility of the details of using the underlying computational
engine.
A web-based version of the course differs primarily in that the details
of the implementation of the various supporting computations are completely
hidden and the students have more access to information guiding them
towards the next step. As each question is approached, the student is able to
choose from dynamically created menus of actions. Author/Instructor control
over level of refinement is essential and remains exposed while the student is
still free to tentatively choose a course of action and to receive immediate
feedback on the effectiveness of that choice (sequence of choices).
Investigations can first take place at the abstract level of "1) derive
equations; 2) solve the resulting system; and 3) substitute the result back into a
formula," and if the students are not comfortable with one of these steps, they
can later follow a digression that helps them fill in the details necessary to
master it. The discussions on the web pages provide the raw mathematical data
that triggers each investigation and must be delivered to various supporting
applications.
This paper focuses on the implementation of such a course rather than on
the pedagogical issues. We begin with a discussion of the role of content-based
MathML in our design. Among the issues we deal with are some practical examples
of adding new MathML content-element definitions to assist us in our
data management. We also deal with special presentations for some of these new
elements.
We look at the available methods and techniques for generating content-based MathML.
An important feature of the overall design is the ability to
present dynamically generated menus of choices and actions. In particular, we
discuss how the use of content-element structure plays a role in this
process.
The need for exchanging mathematical expressions with a mathematics
server leads to a discussion of the issues that are involved here, especially
when dealing with a variety of servers. We review the available options
for such servers and look at some of the issues that arise for each one.
Two-way communication with the servers brings in the need to extract
data from the web page and to trigger events based on selections and mouse
actions. Access to the DOM (Document Object Model) plays a role and has some impact on choice of
tools and implementation.
These issues are all discussed from the point of view of MathML. In each
case, the discussion includes an exploration of the available options, the
choices that were made, the rationale used for each choice, and the problems
and limitations that were encountered. The resulting interactive application
exercises many of the features of MathML and provides a tangible motivation and
insight for much of the design of MathML.
|