Sample Calculus over the WebWalter G. Spunde
Department of Mathematics and Computing, University of Southern Queensland
What students do will determine what they learn. Typically they (are expected to) read text, observe demonstrations, listen to instructors and reflect on what they have seen and heard. In all subjects, they must be able to write about both the significance and the detail of what they have learnt. In technical subjects, however, this is not enough: they must also be able, for example, to do titrations accurately, wire up circuits or compute areas of given regions. In mathematics, which certainly requires doing, it should be possible for the computer to provide a complete environment for all student actions, were it not for the fact that mathematicians have developed a plethora of context sensitive notations that delight in hanging modifying indicators off every available corner of their symbols after the manner of a gypsy caravan. In addition, mathematicians, in their desire to elucidate structure and relationship, are keen to get students working with symbols at an abstract level often well before they are ready to do so. The experience of this mathematical world that is most common to students is the study of elementary calculus.
By using a numerically based approach, Sample Calculus1, we have attempted to provide not only a basis of concrete experiences for the ideas underlying the infinitesimal calculus but also a set of operations that can be executed in an on-line offering of an introductory course.
The computing environment
Each underlined region in Figure 1 (which appear as buttons on a computer screen) is a user input region. These buttons may appear with a ready-to-execute instruction written on them, with an incomplete instruction, or blank and can be overwritten by the user. In the first input region of Figure 1, three variables, a, b, c (representing the coefficients of a quadratic polynomial) are assigned values. Since the input regions can be overwritten, a student can enter his own values and names for variables. The output appears in the overlined regions to the right of the input box. The output regions can be scrolled with the cursor to examine long lists of output and may also appear as multi-line boxes that can be scrolled vertically for matrix output.
In subsequent steps in Figure 1, instructions are given for computing the values of two variables, v and m from the a, b, and c values; an independent variable, x, is then given a uniformly spaced sample of 100 values positioned symmetrically around the v value; corresponding polynomial values, y, are computed and finally there is an instruction calling for a graph of y vs x. The graph appears in a separate window and offers several options (points, lines, bars, axes, grid) for plotting. It may be zoomed by highlighting some rectangular area with the mouse or simply by clicking on a point. Several graphs can be drawn on the one plot if required.
The purpose of the illustrating exercise is to show the geometric significance of the vertex of a parabola. Whether the instructor provides the formulae shown for v, m, x, y or indeed any or all of the steps is at his discretion. Since input buttons can be overwritten, all computations could be done using a single button. If students tire of the button inputs, there is an option to open a computation window where lines of input can simply be typed onto the screen. The buttons serve to provide templates that guide the solution of various numerical problems and also focus attention on each individual operation. (Students seem to like the buttons.)
From the graph in Figure 1, it might be seen that the maximum y value attained could well be m. The proof of this fact must be done algebraically and while, higher up the page, we show how this is done, the student wishing to imitate it or do other similar algebraic manipulations, must do so on paper. Our software provides only concrete numerical experiences that can be used to build intuition about abstract concepts and algebraic relationships.
Figure 1. Sample screen
Our hope is not only to get students to imitate the steps used to solve certain problems, but also to initiate appropriate procedures for other problems. While the above sequence of operations would be appropriate for plotting a quadratic polynomial to show the region of its characteristic 'nose', it could also assist in finding the real zeros of the polynomial, which are clearly equidistant from v, but something more would be required to extract these roots to any degree of accuracy. The computing power to solve problems numerically, for which no template is provided, is there too of course. The language used to input instructions is the mathematical notation J invented by Turing Award winner, Kenneth E. Iverson2 but for our purposes consists of a small number of functions that apply to sequences such as d to return differences and S for partial sums (see the web pages at http://www.sci.usq.edu.au/samplcal/ for the sample calculus functions in a number of different computer languages).
Although at first glance it might seem that such a numerical approach would be rather limited from the point of view of calculus, the approach can provide a fresh numerical perspective on everything from the idea of a variable to Green's Theorem1, non-linear differential equations3 and multiple integrals4.
The Components of the computer system
There are two major components to the computer system, the plug-in and the applets that use the plug-in to provide the user interfaces. Users must install the Tcl plug-in on their computers before they can use the course material. The plug-in consists of a Tcl interpreter with the appropriate DLL entry points for browser plug-ins, a J interpreter and our plotting extensions. The applets are small (~5K) Tcl programs that implement the user interface, that is, the executable buttons and a traditional J console for advanced users.
To start an applet inside a web page, the plug-in is loaded by the browser (if this has not already been done), and told to run a Tcl script (the downloaded applet) within a portion of the browser's window. This applet creates the user interface, then services events from the user. One such event might be the execution of a J statement.
Moving executable code to the WWW exposes us to a serious security risk. Once programs are stored on a web server, any malicious interference with these programs can potentially impact a wide audience instantaneously. To provide a safe environment that can withstand such attacks, J's access to the host's file system had to be removed (possible only with access to the J 6.2 source code), allowing Tcl's user-configurable security policy mechanism to handle such tasks. The only other possible malicious use of the J extension is through CPU hogging and this was considered an annoyance factor only.
Tools for the instructor
At the authoring end of the program we have used LaTeX2html so that course materials can be developed in LaTeX. A macro permits the display of applets in classical notation for printed materials and generates the applet hook in the electronic version. This arrangement facilitates the automatic construction of hypertext links, indexing and glossaries. The transition from writing computational exercises to implemented screens is made very simple for the author.
Email 'forms' can be generated by taking the contents of each button on a page and producing an editable form letter for student queries that specifically identifies the problem a student was working on. Queries from this source would provide data for educational research. Further data might be gathered from the server's access log, supplying the time, IP address and page requested, but such data would not give any indication of whether the student was actually performing the calculations and could be erroneous given the vagaries of browser caching. A better solution is for our applets to log each executed J statement to a central server. A trial version has been implemented, and a more advanced version that logs directly to a SQL server might be developed.
Our development provides an alternative approach to calculus which is tied closely to concrete arithmetic operations and the extensive use of graphical representations. It affords an opportunity for students who have difficulty with abstract symbolism to succeed in mastering the basic concepts of the calculus and caters for a different learning style.
The software tries to ensure that the student is continually initiating computations rather than passively reading, and also that the student can progress through the course at a pace and in the manner that suits him best. For example, it should be possible for a student to work back from a problem to the basic knowledge required or to study basic concepts first before attempting a more substantial problem or to mix the two strategies.
UniServe Science News Volume 14 November 1999
Page Maintained By: PhySciCH@mail.usyd.edu.au