Jari Multisilta, Seppo Pohjolainen

Tampere University of Technology, Department of Mathematics,

Korkeakoulunkatu 1, PO Box 692, FIN 33101 Tampere, Finland

email: multisil@butler.cc.tut.fi, pohjola1@butler.cc.tut.fi

*In this paper we present software tools for developing hypermedia based
learning environments (HMLE) for mathematics education. These tools help to
import mathematical text (super- and subscripts, formulae, pictures) from
Microsoft Word to HyperCard, create hypertext links between text files and
create hypertext links to almost any application program. These tools are used
to create a hypermedia based course on Matrix Algebra at Tampere University of
Technology.*

*Keywords. Hypermedia, authoring, software, learning environment,
mathematics*

Modern computer technology and software have opened new possibilities of teaching and learning. Now it is possible to use hypermedia in engineering education by combining elements of hypertext, graphics, sound and animation.

Hypermedia in education is a popular research area as it can be seen for example from the proceedings of Nordic Forum for Computer Aided Higher Education 1991 [19]. An introduction to the first hypermedia systems is published by Conklin [5]. Maurer and Tomek have collected a wide bibliography about articles of hypermedia [10]. According to this list, hypermedia has not been used widely in mathematics education yet. However, there is a lot of other educational software in mathematics and engineering sciences as it can be seen in [4], but only a fraction of that can be considered hypermedia based software.

In Tampere University of Technology it was decided to implement a hypermedia based learning environment for Matrix Algebra course [12, 13]. Macintosh was natural implementation environment because there is a Macintosh computer classroom in our department. There is a lot of lecture material written in Microsoft Word and Matlab scripts for education use in our department. This material and possibly short video segments formed the base for the hypertext learning environment. The problem was how to design such an environment that supports mathematical hypertext, mathematical tool programs and video segments.

It has not been easy to present mathematical information in current hypermedia authoring systems. They have not supported the use of a mathematical tool program in a hypermedia environment either. Researchers have tried to remove these restrictions, for example Siviter and Brown [15] have developed an environment where the author can add educational activity nodes from different applications. A set of tools for creating (mathematical) hyperbooks was developed by Krönefors and Lundberg [7]. Their tools supported mathematical hypermedia by introducing a formula tool that can be used to create mathematical formulae. However, their formula tool is useful only for quite simple formulae.

LinksWare is a commercial product that can create hypertext links between text files created with different word processors [8]. It can open files that contain mathematical text, but files may be formatted differently than in the original document, especially formulae do not appear to have proper line heights. In addition, it can not create links to other applications. It can create links to Apple script command files that can open an application and execute commands for that application.

Because none of the available hypermedia authoring environments had all the features we wanted to, it was decided to implement tools to help in designing and authoring mathematical hypermedia. In this paper we present software tools for developing hypermedia based learning environments (HMLE) for mathematics education. These tools help to import mathematical text (super- and subscripts, formulae, pictures) from Microsoft Word to HyperCard, create hypertext links between text files and create hypertext links to almost any application program. These tools are used to create a hypermedia based course on Matrix Algebra at Tampere University of Technology.

2. Architecture of the Hypermedia System

Hypermedia based learning environment developed in this work consists of several subsystems. The central element is a HyperCard stack that contains a table of contents to the hypermedia material. Other subsystems are RTF Windows for presenting mathematical hypertext, Node Tool for maintaining nodes, Link Tool maintaining links and Link Palette for activating a link. They are implemented as external commands in HyperCard (XCMD) [1, 2]. There can also be several applications in the HMLE. Exercise Maker (EM) is a stand-alone tool that can generate and check numerical exercises. EM can also present theoretical exercises and provide hints to the proofs. Matlab is used to execute numerical examples [18]. In addition, there can be QuickTime movies that are played by QT Movie Player (previously Simple Player).

Fig. 1. Architecture of the hypermedia system.

When the Matrix Algebra course is launched the table of contents of the course is opened (see fig. 2). On table of contents can be seen the titles of the chapters of the course. Double-clicking a chapter opens up a more detailed table of subchapters. On the right there is a set of navigation buttons. On the upper right corner there is a video window, where video segments related to current chapter are displayed. Each chapter has a short video segment where the teacher explains briefly the most important topics in the chapter

Fig. 2. The first view to HMLE for Matrix Algebra.

3. RTF Reader XCMD

In HyperCard it is somewhat difficult to present large chunks of text that has super- and subscripts and other mathematical notations. It is possible to write to the card layer and then create mathematical formulas using painting tools. However this is not a very convenient method because it needs much manual work. In HyperCard fields only standard styled text can be presented. In order to implement HMLE we designed RTF Reader XCMD that can display mathematical text in external windows called RTF Windows.

A lot of our lecture material is written in Microsoft Word and Word can save documents as a RTF (Rich Text Format) file. RTF file contains all text formatting, pictures and formulas and it is used to transfer documents between different word processors or between Macintosh and IBM PC. Many word processors can read and write RTF text. RTF is defined by Microsoft and it is described in [11].

The RTF Reader XCMD can read RTF files and display them in a HyperCard external window (see fig. 3). This XCMD understands the subset of RTF that deals with fonts and styles, super- and subscripts (.\dn, .\up), pictures and overstrikes(.\|o). It will ignore other formatting commands. For example page headers and footers, colors and footnotes are ignored. The XCMD runs under HyperCard 2.0 or later.

Macintosh Toolbox has a Text Edit Manager that supports simple styled text editing. Super- and subscripts and pictures are not supported so these features have to be added to the Text Edit. Fortunately Text Edit provides so-called hooks for implementing new features to it [3, IM I, IV, V, VI]. A new Text Edit Manager called IDX Text Edit was developed by adding new routines to handle pictures and super- and subscripts. It was programmed in Pascal and assembler and was included into RTF Reader as a library.

Fig. 3. An open RTF Window and Link Palette.

A data for a node in HMLE is defined to be a file in Macintosh file system. The node could be any file, but for mathematical purposes we can restrict the possible node types to following:

` cSubChapter = 1; { A basic element, a subchapter (RTF file). }`

` cDefinitionNode = 2; { A definition node (RTF file). }`

` cExampleNode = 3; { An example node (RTF file). }`

` cExerciseNode = 4; { An exercise node (Exercise Maker file). }`

` cMatlabNode = 5; { A Matlab script. }`

` cCardNode = 6; { A HyperCard stack. }`

` cQuickTimeNode = 7; { A QuickTime movie file. }`

` cMathematicaNode = 8; { A Mathematica notebook. }`

A subchapter is the basic element in the HMLE. Subchapters contain the basic
text for learning purposes. This text can be extended by definition nodes.
They usually contain longer definitions of mathematical concepts than
subchapters. Example nodes contain worked examples of the topics discussed in
subchapters and possibly in definition nodes. Subchapters, definitions and
examples are always RTF files or CNVR files so they are opened by RTF Reader
XCMD. In this paper these nodes will be called *RTF nodes*. RTF nodes are
presented in *RTF windows*. Other nodes can be defined to be
*educational activity nodes*. These nodes are opened by a tool program
(Matlab [18], Mathematica [20], QT Movie Player or HyperCard [1]).

Nodes contain additional information that is saved into special data structure Node.

` Node = record`

` nodeName: str255; { The name of the node. }`

` nodeType: integer; { The type of the node. }`

` ndCreator: OSType; { Creator signature. }`

` ndFileType: OSType; { Finder file type. }`

` reserved: integer; { Reserved for future use. }`

` keywords: str255; { Keywords that describe the node. }`

` end;`

The ndFileType and ndCreator defines the application that can open the node. Each node can have a set of keywords that describe the contents of the node. Keywords can be used to search a specified consept from the hypermedia.

Nodes form a knowledge base for HMLE. It is maintained by NodeTool (see fig. 4). NodeTool displays the list of nodes in the knowledge base, and for selected node it displays the node name, id, type and keywords. By using NodeTool the author can delete or add nodes and change keywords or type of the node.

Fig. 4. NodeTool.

5. Links Between Nodes

There are two types of links in the HMLE. *Explicit links* are created so
that the author explicitly defines the source of the link and the destination
of the link and saves the link to the database. This is done with Link Tool.
Implicit* links* are generated by the computer automatically so that every
word in the material is considered to be a link into a predefined set of nodes
containing all the definitions of mathematical concepts (nodes of type
Definition). Implicit links are always reference links. Explicit links can be
reference links or action links to some educational activity.

Explicit links are generated manually by the hypermedia author with LinkTool, that was programmed as an XCMD (see fig. 5). Explicit links are always links from the text range to a node. A link is defined as

` Link = record`

` startCh: integer; { Start character for the link. }`

` endCh: integer; { End character for the link. }`

` targetNodeID: integer; { Target node id. }`

` linkType: integer; { The type of the link. }`

` end;`

The fields startCh and endCh defines the range from where the link is defined (source). Destination node is defined by targetNodeID field. The linkType field defines the type of the destination node. The type of the destination node defines also the method how the target node should be opened. Every node contains a list of links that are saved as a "LNK#" resource. LinkTool XCMD updates the "LNK#" resource when necessary.

Fig. 5. Explicit links are handled by Link Tool.

In Finnish language there are many inflected forms of a word. The implicit link is a link from the inflected form of a concept to the destination node that defines the concept. The actual link is generated by the computer so that the basic form on the concept is generated and based on the basic form the destination node can be recovered.

The method developed in here works only in situations where it is possible to make a list of the basic forms in alphabetical order. The idea is to compare the activated word to the list by reducing the number of meaningful characters from the end of the word. The corresponding basic form is found if there are certain amount of corresponding characters (depends of the length of the word). In HMLE the keyword list can be constructed from the keywords defined in each node (see the description of the GetKeyWords function).

This kind of program is not a complete way to search for the basic form of a word, but in this case it serves the needs of the hypertext.

Link palette is opened when a RTF node is opened (see fig. 6). When the user clicks a word in RTF node a mouseDownInRTF message is sent to the HyperCard. HyperCard responds to the message by getting the selected text in RTF node and examining if there is a link form the selected text to another node. Link palette buttons are hilited respectively.

If the user wants to activate a link, he or she can then click to the link palette. If user clicks in to activated button a link message is sent to HyperCard. HyperCard examines the destination node of the link and opens it (by sending LinkEvent to itself).

*
*

Fig. 6. Link Palette.

Exercise Maker was designed and implemented to satisfy the need of more interactive environment which allows different problems to be stated, incremental hints or instructions for their solving to be given, and the answers to some of these problems to be taken and checked. It was very important to work in conjunction with hypermedia based course of Matrix Algebra and the numerical engine (Matlab).

The main problem to be solved was how to get student's answer to as wide range of problems as possible and how to check the answer. The design had to be extensible so that new features can be added later. Because of this reason and the existence of powerful object-oriented design methods (see for example [14]) and interface libraries for the Macintosh, Exercise Maker was designed using OO approach and implemented using Think Class Library [16] that is a part of THINK C/Symantec C++ development environment [17].

There are two deferent types of information that one should provide in order to prepare particular exercise for use with Exercise Maker.

(1) The problem statement, the hints for solving the problem, and the solution (if it is mathematical prove) have to be separate MS Word files. We have developed a separate tool that converts these files to appropriate format to be used by Exercise Maker as well as RTFReader - an XCMD capable to display styled text with formulas and graphics. This information may be considered less structured.

(2) The second type of information is highly structured and should be provided for those exercises that need answer template (numerical or test-sheet like exercises). This information is determined by the ordered collection of instances of basic objects used to construct the answer. Again the concept of encapsulation is applied in the sence that the structure of the part of the information used by one basic object is known only to this object. Exercise Maker needs only information about instances of which objects form particular collection in order to create them.

To store this information one per exercise Macintosh resource is used [3, IM 1 pp. 101-134] which describes the collection of instances. In addition, each of the currently defined objects uses one per instance resource to load the information needed in order to evaluate student's proposal or to display the right answer. These resources may contain information for many instances of a problem to manage the case of "randomised" numerical exercise.

The best way to create and modify the second type highly structured information is by specialised authoring tool. We plan to implement this tool as Hyper Card stack. So far THINK Rez resource compiler is used to create and edit this information. In order to simplify resource description we have one THINK Rez file that contain all resource "syntax's" that an exercise may contain. Exercise authoring can start from a copy of this file and the author has to type in only the essential information (instructions are given in comment sections). However, he or she has to know some basic rules about THINK Rez resource description language and THINK development environment.

Method for producing hypermedia learning environments (HMLE) for mathematics was presented. In the construction of HMLE the author can use text files created with Microsoft Word. In HMLE can be also included files (notebooks, scripts) created by mathematical tool programs. HMLE tools support implicit linking i.e. links to mathematical concepts are created automatically by the system. Possibility to use of existing material and implicit linking supports the author considerably in creating hypermedia learning environments for mathematics.

[1] **Apple Computer Inc.**, HyperCard(TM) User's Guide, Apple Computer
Inc., Cupertino, 1987.

[2] **Apple Computer Inc.**, HyperCard 2.0 release notes.

[3] **Apple Computer, Inc**., Inside Macintosh I-VI, Addison-Wesley
1988-1993.

[4] **Bishop P., Beilby M., Bowman A**., Computer-Based Learning in
Mathematics and Statistics. Computers Educ. Vol. 19, No. 1/2, pp-131-143, 1992.

[5] **Conklin J**., Hypertext: An Introduction and Survey, IEEE Computer,
September 1987.

[6] **Jonassen David H., Mandl Heinz**, Designing Hypermedia for Learning,
NATO ASI Series, Vol. F 67, Springer-Verlag, Berlin Heidelberg 1990.

[7] **Krönefors R, Lundberg L**., Hyperbooks and Authoring Tools for
Hyperbooks, in [19], pp. 188-198.

[8] LinksWare(TM) 3.0, LinksWare Corporation, Monterey, CA 1993.

[9] Maple Reference Manual, Symbolic Computation Group, University of Waterloo, Canada, 1988.

[10] **Maurer H., Tomek I,** Hypermedia Bibliography. Journal of
Microcomputer Applications 14, pp. 161-216 1991.

[11] **Microsoft Corp**., Rich Text Format Specification. Microsoft
Corporation, RTF Department, March 16 1992, Redmond WA.

[12] **Multisilta J., Pohjolainen S**.: *Experiencies of Hypermedia in
Engineering Mathematics*. Proceedings of 4th Nordic Conference under Nordic
Forum for Computer Aided Higher Education, Aalborg University, Denmark
15.-18.8.1993.

[13] **Multisilta J., Pohjolainen S**.: *Teaching Engineering Mathematics
with Hypermedia*. Proceedings of Technology in Mathematics Teaching,
Birmingham 17.-20.9.1993.

[14] **Rumbaugh James, Blaha Michael, Premrlani William, Eddy Frederick,
Lorensen William**, Object-Oriented Modeling and Design, Prentice-Hall,
Englewood Cliffs 1991.

[15] **Siviter D., Brown K**., Hypercourseware. Computers Educ. Vol 18, No
1-3, pp. 163-170 1992.

[16] **Symantec Corp.**, THINK Class Library Guide, Symantec Corp.,
Cupertino, 1993

[17] **Symantec Corp.**, THINK C/Symantec C++ User's Guide, Symantec Corp.,
Cupertino, 1993

[18] **The MathWorks Inc**., MATLAB(TM) for Macintosh Computers. Users'
Guide, The MathWorks Inc., 1989.

[19] **Uronen P**. (ed.), Proceedings of Nordic Conference on Computer Aided
Higher Education, Otaniemi, 21 - 23 August 1991, Finland.

[20] **Wolfram S**., Mathematica(TM) A System for Doing Mathematics by
Computer, Addison-Wesley, 1988.