Multivariable Calculus Online

 

Extending and Adapting the Text

Many who use the textbook will want to design their own tools and exercise sets. In fact, we envision a time when there will be several different tools and the worksheets available for each section.  We also expect that those using Mathematica will want to transform the tools and worksheets into Mathematica syntax and Mathematica notebooks, respectively.

 
LiveGraphics3d Applet              LiveGraphics3d Applet

We designed the tools and dynamic figures so that they would download and initialize quickly, thus enabling students using a dial-up connection to access and use the online text.  Much of the interactivity in the online text is based on either LiveGraphics3D or on Javaview, both of which load quickly and allow web pages to load quickly as well via browser caching. 

In particular, much of the parsing and computation in our tools is performed with Javascript, so that the applets are used as display engines.  We have written several different Javascript expression parsers that take advantage of the Javascript “eval” command.  As a result, the tools are often based on Javascript functions that launch the applets and create complex data structures that are then passed to the applets as parameters. 

The motivation for this practice was both speed and reliability.  Because web pages with Javascript load quickly and do not need to initialize, students can begin using a tool before the applet that will eventually display the result has finishing loading.  This can significantly decrease the amount of time users spend waiting for applets to load.  Secondly, because the applets are deployed by Javascript functions, an applet that fails to initialize does not cause a failure of the tool or a loss of data.  The user must simply click the “plot” button again to overcome the failed display.

Admittedly, our approach to online tools is not elegant, but it is fast and reliable.  Moreover, it seems to work well in a variety of settings with a variety of different browsers, and various of our colleagues have been impressed with the ease with which existing tools can be modified and new tools can be created.

In contrast, our use of native html coding for the display of mathematics may seem both slower and less reliable.  Allow us to explain.

Our original design was based on applets and plugins that would render either MathML or LaTeX code, but we altered that practice after several students became frustrated and fell behind as they struggled to install plugins into their systems.  Instead, we chose to concentrate on the most commonly used browser —Internet Explorer—and we chose to use mostly native html code.

A major factor in our decision to use only native html was the LaTeX to html translator TTH, which produces html that needs only some minor editing in order to produce a respectable mathematical display.  There are some pages in the web site that are not as aesthetic as MathML with a plug in would be, but in general the result is acceptable for those using Internet Explorer 5.0 or higher.  For other browsers, MathML is admittedly the best solution and one of our priorities is to produce a MathML version of the text.