Mathematics in WebCT II

## Introduction

One year ago, the original version of this paper was presented at the First International WebCT Conference in Vancouver. Part II is an update and an expansion of the original. This paper will demonstrate a number of methods by which mathematical content can be incorporated into WebCT. We divide discussion into two broad categories: static content and interactive content. Authors have been tantalized over the last several years with promises of technology to come and the present time is no exception with MathML on the horizon; we are however, closer today than were were a year ago. There are good solutions available today and the technology will only get better. The discussion here will center around an example taken from my Advanced Engineering Mathematics course. All applications were run under under Windows 98 or Windows 2000.

Following a discussion of browser issues, four sections of this paper examine methods for generating static mathematical content. After a discussion of incorporating static content into WebCT, we examine methods for generating interactive content.

Browser Issues

WebCT currently supports the Netscape and Internet Explorer browsers only. In this section, we will make a case for extending support to the open-source browser Mozilla. These browsers can display mathematical expressions directly through the use of the built-in symbol fonts or indirectly through the use of plugins. The display document formats and the corresponding display technologies available today are

• HTML: symbol fonts
• TEX: IBM techexplorer plugin
• MathML: Mozilla, IBM techexplorer plugin, Internet Explorer 5 + WebEQ Math Viewer

MathML

On the W3C's Math home page we find the following description of MathML. MathML is intended to facilitate the use and reuse of mathematical and scientific content on the Web, and for other applications such as computer algebra systems, print typesetting, and voice synthesis. MathML can be used to encode both the presentation of mathematical notation for high-quality visual display, and mathematical content, for applications where the semantics plays more of a key role such as scientific software or voice synthesis. MathML is cast as an application of XML. As such, with adequate style sheet support, it will ultimately be possible for browsers to natively render mathematical expressions. For the immediate future, several vendors offer applets and plug-ins which can render MathML in place in a browser. Translators and equation editors which can generate HTML pages where the math expressions are represented directly in MathML will be available soon.

MathML and Browsers

Web-based applications such as WebCT are limited by the capabilities of the supported browsers, which currently are Netscape and Internet Explorer. The WebCT community is aware that a feature of WebCT can work perfectly in Netscape and bomb out in Internet Explorer, or the other way round. During this last year AOL purchased Netscape so the development of Netscape is now in different hands. It has been reported that Netscape 6, which is already available in a prerelease version, will be based on some milestone of Mozilla.

Mozilla is an open-source web browser, designed for standards compliance, performance and portability. Mozilla.org coordinates the development and testing of Mozilla by providing discussion forums, software engineering tools, releases and bug tracking. At milestone 15, there is currently available for Win32 a MathML enabled self extracting archive (6.6 MB) and for Linux an archive file, i386 tar.gz format with MathML (5.6 MB). A Progress Report on the Implementation of MathML in Mozilla was issued on April 14, 2000. I summarize this report here. The MathML Project has been steadily progressing ever since it started in mid-May 1999. A significant event to the MathML project came from the contribution of Shyjan Mahamud who taught TeX rendering rules to the MathML engine. To answer a question frequently asked, the MathML component was the first Mozilla component entirely driven from outside of Netscape, with no commitment from Netscape to include the component in its next release. Those who have been following the MathML project have come to realize how picky and nontrivial MathML is. Whether MathML can formally make it in the next Netscape release is best left as hopelessly hopeful. MathML is not yet part of the default build in Mozilla. Because no major browser supports MathML as yet, MathML content is scarce on the web. But as more people try out the Mozilla code, they produce additional practical examples to showcase the capabilities of the MathML renderer and generate interest.

Currently, WebCT only officially supports Netscape and Internet Explorer. As soon as Mozilla reaches a sufficient level of maturity, WebCT.com should add it to the list of supported browsers. Because Mozilla is an open-source browser, WebCT.com could contribute to its development thereby insuring a degree of compatibility that may not be possible with Netscape or Internet Explorer. We know that Mozilla will support MathML, but it is not clear when or if Netscape will.

What about Internet Explorer 5 and MathML? We have this report from Robert Miner of Geometry Technologies, Inc. dated March 29, 2000. There is some progress. Internet Explorer 5 introduced something called behaviors that in essence allow a developer to "bind" some executable code to a particular XML element. In our latest release of WebEQ, we have used behaviors to attach the WebEQ Math Viewer to the $element. The net effect is that once a reader has installed the Math Viewer in Internet Explorer 5, by putting a couple of lines of style and script code at the top of your file, straight MathML markup in the page will be automatically rendered in the client browser with WebEQ. This has the very positive effect that the same document will render properly in both the new Mozilla browser, and in Internet Explorer 5. The down side is that there are still a couple of technical problems with Internet Explorer 5 behaviors, and on top of that, because of Java flakiness, WebEQ bogs down badly if there are more than a couple dozen equations in a page. When I approached Dave Massey \left(the contact person for MathML on the Internet Explorer team at Microsoft\right) about these problems, he was very responsive, and it looks like behaviors will be very much improved in the 5.5 release of Internet Explorer, and in particular, they will be nicely set up for native binary behaviors as opposed to Java/JavaScript behaviors that have performance limitations.$

Displaying PDF Documents: Adobe Acrobat Plugin

Adobe Acrobat 4.0 is a widely used tool for universal document exchange. Acrobat can be used to publish virtually any document in portable document format (PDF). PDF documents can be displayed and printed using the free Acrobat Reader. Documents in PDF format preserve the exact look and content of the originals, complete with fonts and graphics, and they can be distributed by e-mail , the Web, an intranet, a file system, or a CD-ROM. Word documents can be converted directly to PDF using the Acrobat PDFWriter or the Acrobat Distiller. There can be small differences in the PDF documents produced. The PDF document produced by the Distiller will generally preserve the page breaks but the PDFWriter sometimes does not. Roman Type 1 and TrueType outline fonts can be embedded in the PDF document. This ensures that the original fonts are used for display and printing on computers that do not have the fonts installed.

Generating Content: Word to PDF

Microsoft Word 2000 comes with the Microsoft Equation Editor 3.01, a WYSIWYG equation editor. Equation Editor 3.01 can be replaced by MathType 4, a much more advanced version of this product. Word documents can be converted to PDF using the Acrobat PDFWriter or the Acrobat Distiller. Our example word.doc (19KB) was prepared using Word 2000 and Equation Editor 3.01. It was converted to PDF using the PDFWriter to produce wordpdfwriter.pdf (8KB), and it was again converted to PDF using the Distiller to produce worddistill.pdf (7KB). The Word document can be opened with Word 97 or Word 2000. The translation via the PDFWriter worked well, but the Distiller translation lost the summation sign and the integral sign. Microsoft has just released Office 2000 SR-1a (service release 1a). In addition, Adobe has recently released a free Acrobat update, Acrobat 4.05, which deals with several Office 2000 compatibility issues. Perhaps these updates will fix the Distiller translation problem.

For authors using the Equation Editor regularly, MathType 4 is a good investment (see MathType 4 for Windows vs Equation Editor Vs TeXaide). If you have Office 2000 and Internet Explorer 5 loaded and click on word.doc, this document will open in the Internet Explorer window. With this combination, Word documents are Web publishable without further alteration.

Generating Content: Latex to PDF

TeX and its cousin Latex (see CTAN) have long been staples in the mathematical community. They are used to produce publication quality documents and several mathematical journals require submissions in one of these formats.

WinEdt is a shareware, state-of-the art text editor and shell for Windows. It is an ideal shell for your favorite implementation of Tex. I use Y&Y Tex. WinEdt menus and symbol toolbar make it easy for the novice to construct equations. This completely customizable shell can run your entire TeX environment and much more. Menu items have been preset to generate many of the Latex environments, but because the menus are scriptable, the user can add others. I have added menu items and toolbar buttons for the following actions: Latex, BibTeX, Dvi Preview, Dvipsone, Acrobat Distiller, Acrobat, TtH, Netscape. WinEdt32 (WinEdt 5 was just released) was used to write the example in the Latex file winedt.tex (1KB), whose content can be viewed by looking at the text file winedt.txt. The first four lines, the last line, and the eqnarray environment were created using my knowledge of Latex The equations were created using the Math, Greek, Symbols, and function tool bars. The purpose of the second and third lines is to select the Y&Y MathTime fonts, which has the effect of making the resulting PDF file size small because the Times text font does not have to be embedded in the PDF document. The Acrobat Reader can generate this font automatically. Running Latex on winedt.tex produced winedt.dvi, running Dvipsone on winedt.dvi produced windedt.ps, and running the Acrobat Distiller on windedt.ps produced winedt.pdf (10KB). View winedt.pdf and wordpdfwriter.pdf with the Acrobat Reader. They are virtually indistinguishable.

MathType 4 can also be used to translate mathematical expressions into Latex Once the expression has been generated in the WYSIWYG MathType 4 environment, it can be copied onto the clipboard and then into your favorite Latex editor. Design Science, the company that produces MathType 4, provides a free product called TeXaide. TeXaide has the same functionality as the Equation Editor found in Word but produces TeX or Latex output which can be pasted into your favorite TeX/Latex editor.

Generating Content: Scientific Notebook to PDF

Scientific Notebook 3.5 was released on June 2, 2000. Scientific Notebook is one of a suite of products from MacKichan Software, Inc. This suite consists of Scientific Notebook, Scientific Workplace, and Scientific Word. Scientific Notebook is a WYSIWYG authoring environment. Mathematics can be entered using standard notation. Scientific Notebook documents are saved in Latex format. Generating our example using Scientific Notebook produced scinotebk.tex (2KB), whose content can be viewed by looking at the text file scinotebk.txt. Selecting the Distiller in the Print menu of Scientific Notebook, scinotebk.tex was converted into scinotebk.pdf (12KB). The PDFWriter option did not embed the special Scientific Notebook fonts, so the Distiller choice was necessary to make the document portable. Compare this file to wordpdfwriter.pdf and winedt.pdf and note that Scientific Notebook uses the Arial font for text by default.

Also, note that below the line containing \begin{document} scinotebk.tex and winedt.tex are identical. By replacing the lines in scinotebk.tex above the line containing \begin{document}, with the lines

\documentclass[12pt]{article}
\usepackage[noTS1]{mathtime} % Use MathTime fonts.
\input TS1avoid.tex % Use MathTime fonts.

scinotebk.tex can be converted into winedt.tex. The two lines for the MathTime fonts can be omitted if these fonts are not being used. Consequently, Scientific Notebook can be used as a WYSIWYG Latex authoring environment. As we shall see below, the Latex so produced can be translated into HTML or viewed directly within Netscape or Internet Explorer using a plugin. In addition, Scientific Notebook files can be viewed with a free application called the Scientific Viewer. The Scientific Viewer is a free version of Scientific Notebook that does not allow saving documents, but which does allow printing.

Displaying HTML Documents: Netscape, Internet Explorer, Mozilla

WebCT currently supports Netscape and Internet Explorer only. We recommend that WebCT.com also support Mozilla, which is an open-source web browser, designed for standards compliance, performance and portability.

Generating Content: Latex to HTML

TtH translates Plain TeX or Latex into a near equivalent in HTML. It is extremely fast and completely portable. It produces web documents that are compact and fast-viewing. TtH translates and displays mathematical expressions using the symbol fonts which are included in the 4+ versions of Netscape and Internet Explorer. TtH cannot display inline matrices and over dots. Inline fractions do not display well either. Overall, however, TtH is one of the best technologies available in the summer of 2000. The example file winedt.tex was converted into winedt.html (5KB) using TtH. There are some minor problems with vertical and horizontal alignment, but the mathematics is quite readable.

TtHgold is the commercial version of TtH with added functionality including the following features: improved equation layout option using CSS, can split large Latex documents into separate HTML files for each chapter or section, and automatically cross-reference them correctly, an automated install command for Windows, a drag-and-drop conversion utility for Windows, and partial support for AMSLaTeX and Babel.

Here is a second example. It is a project taken from my Advanced Engineering Mathematics course. In the past I have distributed this document in PDF format. The TtH translation to HTML and the original PDF document are provided for comparison: p2linalg1.html (29KB) and p2linalg1.pdf (44KB). Note that the figure that was included in the PDF document in EPS format had to be converted to GIF format for the HTML version.

Displaying TeX, Latex Documents: IBM Techexplorer, Scientific Viewer

IBM's techexplorer is a plug-in for Netscape Navigator and Microsoft Internet Explorer, enabling the display of TeX, Latex, and MathML documents and the publishing of interactive mathematical and scientific material on the Web. Version 2.5.2 includes augmented display of MathML and Latex as well as new ways to enliven techexplorer documents via C++, Java, JavaScript, the DOM, and a web based equation editor. The IBM techexplorer is available in a free introductory version and a commercial professional version.

Both Latex files winedt.tex and scinotebk.tex produced above can be viewed using the IBM techexplorer plugin. The \usepackage commands in these files will be ignored and the \input commands will generate an error message at the top of the file. By deleting these commands and the comments, we arrive at a common file winedt-scinotebk.tex which can be viewed without generating an error message. For readers who do not have either plugin loaded, we provide a GIF image of the output winedt-scinotebk.gif.

Note that Scientific Notebook files (Latex) can be viewed with an application called the Scientific Viewer. The Scientific Viewer is a free version of Scientific Notebook that does not allow saving documents, but which does allow printing. The Scientific Viewer is an external application, not a plugin.

Displaying MathML: IBM techexplorer, Mozilla, Internet Explorer + WebEQ Math Viewer

MathML inserted into an HTML document with the embed command can be displayed by the IBM techexplorer plugin. There are currently milestone 15 versions of Mozilla for Windows and Linux that have MathML support enabled. MathML can be viewed using Internet Explorer once the WebEQ Math Viewer has been installed.

Generating Content: MathML

MathType 4 provides outputs mathematical expressions in many formats, including MathML. Once an expression has been generated in the WYSIWYG MathType environment, it can be copied onto the clipboard and then into your favorite HTML editor.

Amaya is the W3C's editor/browser and is used to demonstrate and test many of the new developments in Web protocols and data formats. Amaya demonstrates an implementation of MathML which allows users to browse and edit Web pages containing mathematical expressions. Like the rest of the document, these expressions are manipulated through a WYSIWYG interface. Amaya uses namespaces to integrate MathML expressions within XHTML documents, i.e. HTML documents written in XML syntax.

The Mozilla Editor may eventually include support for MathML editing.

TtM has essentially all of the capabilities of the highly acclaimed TeX to HTML translator TtHgold, since it derives from the same code base. It supports all the complexities of TeX except for some features that don't translate readily into HTML. In most cases, TeX and Latex documents that conform to the appropriate standards will translate immediately.

WebEQ is a collection of programs and Java programming libraries dealing with all aspects of publishing math on the Web. It includes software for document authoring and conversion, static and interactive display of math in web browsers, mathematical server applications like online testing and conferencing systems, and custom MathML-aware Java applets and applications. The flexibility of the WebEQ tools stems from the fact that WebEQ is based on MathML. There are four main WebEQ programs: the java applet Math Viewer, the Equation Editor, the Wizard, and the Wizard server. An author first creates an ordinary HTML document. Mathematical expressions can be built up graphically with the WebEQ Editor and then pasted into the HTML source, or they can be typed in by hand in WebTeX, a simplified Latex-like language. The second step is to process the HTML file with the Wizard which generates a new HTML file containing applet tags which will invoke the Math Viewer.

WebTeX is so close to Latex that it was fairly easy to convert winedt-scinotebk.tex into webeq-in.html, a special HTML file containing the WebTeX markup. Next, webeq-in.html was processed with the Wizard to produce webeq-out.html. For readers who do not have the Math Viewer loaded, we provide a GIF image of the output webeq-out.gif.

Incorporating Mathematics in WebCT

Path Pages

The PDF document winedt.pdf generated above can be used as a WebCT path page with the help of the auxiliary file winedt-aux.html. Note that winedt.pdf must be uploaded into the outlines subdirectory of the COURSE FILES directory. Of course, you can create whatever directory structure you want. Also, notice that the variable "_COURSEID_" has been used in place of the courseid in case this material should be used in the future with a different courseid.

Provided that the student has the IBM techexplorer plugin loaded, the Latex document winedt-scinotebk.tex can be used as a WebCT path page with the help of the auxiliary file winedt-scinotebk-aux.html.

The use of an auxiliary file is only necessary for path pages; for other types of links, the usual procedures work fine.

Discussions Messages, Mail Messages, Quiz Questions

The document winedt.html generated above was used to test the addition of mathematical expressions in HTML format to discussions messages and mail messages. The lines of this document, after the title tag and before the attribution paragraph at the end, were copied into the message textbox and the message was previewed. The messages looked fine. This process was repeated for a short answer quiz question by pasting into the quiz question textbox. The resulting display of the mathematics looked fine.

The document winedt-scinotebk.tex generated above was used to test the addition of mathematical expressions in TEX format to discussions messages and mail messages. The following lines were copied into the message textbox

<HTML><EMBED TYPE="application/x-techexplorer" HEIGHT=100% WIDTH=100% TEXDATA="

"></HTML>


the blank second line was replaced with the contents of winedt-scinotebk.tex, and the message was previewed. This process was repeated for a short answer quiz question by pasting into the quiz question textbox. The resulting display of the mathematics again looked fine. The IBM techexplorer plugin must be loaded to view the embedded Latex content.

The embed tag can also be used to insert a PDF document or MathML markup in an HTML document. Using the HEIGHT=100% and WIDTH=100% attribute/value pairs makes it easy to embed an entire document. In the case of mathematical expressions in MathML format, there will be an embed tag for each expression and some experimentation will have to be done with the HEIGHT and WIDTH values for each expression. The IBM techexplorer plugin must be loaded to view the embedded MathML content. Also, note that the attribute TEXDATA must be changed to MMLDATA.

Interactive Content

A section on interactive content was not included in the original version of this paper. After gaining some experience using Maple to teach laptop sophomore differential equations for the last year, it seems appropriate to include this material now.

Computer Algebra Systems

Each student must have access to the external application. WebCT can usefully serves as a distribution and collection point for worksheets and as a place where students and instructors can discuss their work.

Maple provides for the solution of complex science and engineering problems using state-of-the-art symbolic and numerical solvers and visualization tools. Users can document their work with standard technical word processing capabilities including the presentation of mathematical expressions in standard form. In partnership with the Numerical Algorithms Group (NAG), Maple 6 includes an extensive set of NAG solvers for computational linear algebra. With IEEE 754 standards compliance and arbitrary precision numerics, Maple 6 delivers both flexibility and accuracy.

In my laptop sophomore differential equations class, each class period is built around a Maple worksheet that students download before coming to class or at the beginning of the class period. Standard lecture mode has been replaced by problem solving activities and discussions which allow me to access my students every class period. Graded homework in the form of a Maple worksheet is submitted via the WebCT dropbox tool. All exams are written as Maple worksheets and submitted via the WebCT dropbox tool. Projects are also written as Maple worksheets. The class is conducted in a paperless mode. A primary objective of this course is to help the students assemble a portfolio of work that they can refer back to in subsequent semesters as differential equations problems arise in their science and engineering courses.

Mathematica provides a comprehensive computing, visualization, and document generation capabilities. Anyone can read and print a Mathematica notebooks using the free utility MathReader. Mathematica is the first commercial software with MathML export functionality. One of the greatest conveniences of the web is the ability to cut and paste text from a web site into a word processor. In the past, this was not possible with formulas. It was not possible to capture a formula from the web, paste it into a Mathematica notebook, and perform calculations with it without any retyping. The MathML standard changes that; users can cut expressions from MathML-enabled browsers and paste them directly into Mathematica.

Mathcad allows the integration of text, math, and graphics into a single worksheet which makes it easy to visualize, illustrate and annotate problem solutions. Mathcad has an easy-to-use equation entry and editing interface that uses standard mathematical notation, plus automatic unit conversion. Mathcad Explorer is a free read-only version of Mathcad for viewing Mathcad documents.

Players/Applets

The Mathwright Library is a free collection of interactive, electronic mathematics and science "books." These books have been developed by College and Secondary School mathematics and science teachers (and sometimes by their students) since 1991. Initially funded by the National Science Foundation and supported by the IBM Corporation, it has been in place on the web since 1994. These books are documents created with a mathematics authoring program called Mathwright. The books are only available for Windows. The Library offers many services to instructors who may be interested in offering web-based mathematics or science courses, including: hosting their WorkBooks, developing books, and providing the Mathwright Author Kit so that instructors may create their own materials. In addition to providing a free resource for interactive mathematics and science on the web, the Library is a Forum for the ongoing discussion of issues centered on the heuristic role of electronic media in the support of student visualization and participation. Anyone may contribute articles to this discussion, or may reply to previously posted articles. Each Mathwright WorkBook attempts to place the player, the learner, in the driver's seat. The computational environment recedes into the background so that the mathematical or scientific topic of interest comes under the spotlight. This means that students may often ask questions or explore ideas that even the author of the Workbook did not anticipate. Workbooks may be read with the external Mathwright Library Player 2.1 or the new Lava applet.

The Mathematical Association of America web site contains a number of columns which illustrate the use of embedded Java applets in mathematical exposition.

Plugins

LiveMath is a computer algebra system. Waterloo Maple sold MathView & Expressionist Product Line to WebPrimitives, LLC of Cambridge, Massachusetts. LiveMath Maker is a computer program which can be used to make, explore, experiment with, and create LiveMath. LiveMath created with LiveMath Maker can be shared using the free LiveMath plugin for Netscape and Internet Explorer. After downloading the LiveMath plugin and installing it, any Netscape or Internet Explorer web browser becomes LiveMath empowered, and can display any page that has embedded LiveMath content. The math is interactive. The user can change input values, see calculations recalculate, turn graphs, or zoom-in. As a computer algebra system, LiveMath is the third generation of mathematics software created by Allan Bonadio, original creator of Theorist, Expressionist, MathView/MathPlus. LiveMath is not syntax based. No programming language has to be learned. The operations are intuitive. A number that is on the right side of an equation can be algebraically-moved over to the left side by drag and drop. A graph can be rotated using the mouse.

References

Acknowledgments

This study was sponsored by the Southeastern University and College Coalition for Engineering Education (SUCCEED) and the Pilot Laptop Program, College of Engineering and Science, Clemson University.