MathML Logo


#Presentations

#Schedule of Events

    

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.