A Leadership Series:
Using Technology to Teach Mathematics and Science |
Maple 8 and Maplets: A New Use of
Computer Algebra
for Teaching Mathematics and Science |
Douglas B. Meade
University of South Carolina |
|
| Introduction |
| To begin this exploration of Maplets,
you should be aware that some of the new features in Maple 8 are implemented
as Maplets. The new interactive command
in the plots package provides a more
user-friendly interface to create a graph in Maple 8. |
 |
Try, for example, entering the command:
plots[interactive]( x*sin(x) ); |
| More generally, Maplets are Maple-based
applets. Most applets found on the WWW are written in Java. Maplets
are written in Maple; each Maplet element is, in turn, a Java Swing
class. Two reasons to implement an applet as a Maplet and not directly
in Java are |
|
|
convenience of using the high-level Maple programming
language. |
 |
access to full range of Maple's symbolic, numeric,
and graphic capabilities. |
|
| Maplets can be executed within a Maple
worksheet, from the "command line" with the MapletViewer,
or via the WWW with MapleNet. (MapleNet is a new product of Waterloo
Maple that allows users who do not have Maple on their local machine
to access Maplets via the WWW. For detailed information, please visit
http://maplenet.maplesoft.com.) |
| Maplets, Worksheets, MapletViewer,
and MapleNet |
| A Maple worksheet ( .mws
file) is the easiest format to use to develop a Maplet. The
MapletViewer can be used to directly access a Maplet from the desktop,
local file system, or the WWW. The only modification required to create
this functionality is to save the worksheet as a file with type Maplet
(file extension .maplet ). For example,
consider the simple Maplet contained in the Maple worksheet demo1.mws.
|
| 1.
|
Open the demo1.mws
worksheet within Maple (clicking on the hyperlink suffices).
|
| 2.
|
To see the Maplet, execute the entire worksheet.
(Note that the Maple worksheet is busy until the Maplet terminates.)
|
| 3. |
Save the worksheet as demo1.maplet
(on the desktop, if possible). |
| 4. |
Minimize Maple (you could terminate Maple,
but you would lose your place in this worksheet). |
| 5. |
Double click on demo1.maplet
(if not on the desktop, use explorer to locate the file).
(Note that this does not tie up the Maple worksheet; a separate
Maple kernel is running the Maplet.)
|
|
| To demonstrate Maplet access via MapleNet,
download the Maple 8 worksheet (URL above) and select one of the [maplenet]
links in the list of Maplets. These Maplets were created in Fall 2002
for my Calculus
I course at the University of South Carolina. (Firewall and other
security issues might prevent access to these Maplets via MapleNet.
If so, clicking on the link to the corresponding .maplet
file should launch the Maplet in MapletViewer.) |
| Examples for Calculus I |
| Prior to learning some of the fundamentals
of Maplet programming, please look at some of the following Maplets.
The first set of 19 Maplets were created by Waterloo Maple, Inc.,
and can be obtained from the MaplePrimes website. The second set of
Maplets are ones that I have created for use this semester in my Calculus
I course at The University of South Carolina. (Note that some of the
WMI-prepared Maplets cannot be accessed via MapleNet. Each of my Maplets
is MapleNet-compatible.) |
| Calculus I Maplets prepared by Waterloo
Maple |
| |
| Many of the above Maplets are based on
commands in the Student[Calculus1] package
(new to Maple 8). The following Maplets were implemented before I
learned about the Student[Calculus1]
package. That is the reason these Maplets come from the first part
of the course. Still, I like them and I believe they provide good
examples of what can be done. |
| Calculus I Maplets prepared by Douglas
Meade |
|
LimitCheck |
- evaluate limit of expression at
a point (1- or 2-sided) |
 |
DerivCheck |
- evaluate derivative of expression with respect
to variable |
|
LinearMotion |
- evaluate derivative of expression with respect
to variable |
 |
RelatedRates |
- interface for related rate/implicit differentiation
problems |
|
FunctionAnalyzer |
- similar to CurveAnalysis in previous list
|
|
| Introduction to Maplet Programming |
| A six-lesson introduction to Maplet programming
was provided. Topics discussed included: text fields, buttons, 2-
and 3-d graphing, check boxes, sliders, selection from a list, pull-down
menus, popup menus, and mathematically typeset output (using MathML). |
| Resources for Maplet Programmers |
| This workshop only scratched the surface
of what can be done with Maplets. Maple's online help system contains
extensive information about Maplets, including many examples. Two
of the first places I suggest you visit are ?Maplets,Index
and ?Maplets,Roadmap. These help documents
contain similar information organized in different ways. (The Maplets
Style Guide is also quite useful.) For a complete list of Maplets
elements, see ?Maplets,Elements. A compact
listing of all options available within each element is provided at
?Maplets,ElementOptions. A collection
of Maplet examples is provided within Maple 8. For a complete listing,
see the help document ?Maplets,Examples. |
| Additional Exploration |
| One of the best ways to learn Maplet programming
is to modify an existing Maplet. Here are some ideas based on Maplets
presented in this workshop to help you get started. |
 |
modify the LimitCheck and DerivCheck
Maplets to display the results with a MathMLViewer
element; |
 |
modify the DerivCheck Maplet
to include a field where the user can specify the order of the
derivative to be computed (default to first-order); |
 |
create a Maplet that provides
an interface for solving a user-specified equation for a specified
variable (include a CheckBox to
indicate if floating-point answers are requested); |
 |
modify FunctionAnalyzer Maplet
to have separate Plotter elements
for the ordinary plot and sign plots; |
 |
modify the MeanValueTheorem
Maplet to properly handle the case when the hypotheses of the
MVT are not satisfied (note that the Student[Calculus1][MeanValueTheorem]
procedure does check the hypotheses of the MVT, but the Maplet
has not been programmed to handle this case); |
 |
combine the MeanValueTheorem
and FunctionAverage Maplets to create a Maplet for the MVT for
Integrals. |
|
| References |
| This document presents only a summary of
the content of the workshop. The actual materials used in the workshop
are available via the WWW in a variety of formats: |
| |
| Only the ZIP archive contains the full
set of files needed to guarantee all hyperlinks in the Maple 8 worksheet
will function properly. Please download and explore the above materials.
|
| Questions and comments are encouraged. |
|
| |
Back
|
| |