This is the first in a planned series of articles intended to encourage working college math instructors to write their own applets, and to share their results with other developers, by providing mathematical incentives for learning how to write applets. I want to show in this series how writing applets related to specific topics in a standard undergraduate math course can lead into some interesting mathematical puzzles which may motivate both you and your students to pursue the topics to a higher level. I will do this by providing a few examples from my own experiences as an applet developer and from several different fields of mathematics. The first example comes from a puzzle I encountered while writing an applet for a specific topic in precalculus algebra: equations for parabolas.
This applet, which explores the connection between two different forms of equation for a parabola, was the very first math applet I completed in Java. When I noticed the visual effect I describe below, I looked again at the formulas for the coefficients of the equations in the different forms, and it wasn't difficult for me to see what was happening. In fact, any precalculus student should be able to work through the algebra. But the effect stuck with me. This was an effect I had not expected, even though I wrote the applet and had taught this material many times. It was a moment of discovery for me.
The connection I found was between the formulas for the coordinates (h,k) for the vertex of a parabola and a set of parametric equations for a parabola. You may object that precalculus students have not seen parametric equations yet, but any precalculus course will make use of the parametric form (cos t, sin t) for points on a unit circle, so I think the students can be expected to make the visual connection here, too. The parameter in this example can be eliminated, by some relatively straightforward algebraic procedures, resulting in a more familiar equation for a parabola.
Begin, in the applet, with the parabola y = x2 - 2x + 1 (so a = 1, b = -2, c = 1), which has its vertex at (h,k) = (1,0). Now use the "+" button under the "b=" label to change the value of b from -2.0 to 2.0. Note the path that the vertex (h,k) follows as you do this.
(The complete source code for this applet, along with several other of my applets, is available.)
The two most common forms for the equation for a parabola are the general form and the standard form:
Here the point (h,k) is the vertex of the parabola.
Formulas relating the coefficients a, b, and c with the coordinates h and k can be found by completing the square in the general form (to rewrite it in standard form) or multiplying out and combining in the standard form:
The applet essentially implements these formulas to update all values when one is changed, and it graphs the parabola using the general form equation (for computational reasons).
In the example starting from y = x2 - 2x + 1, with a = 1 and c = 1, treat b as a parameter in the above formulas for h and k:
To eliminate the parameter b, solve for b in the first equation and b2 in the second:
Plug -2h in for b in the second equation:
Keeping in mind that h is the x-coordinate of the vertex and k is the y-coordinate, make the substitution h = x and k = y:
So the path the vertex follows is along the parabola y = 1 - x2, as shown in the following diagram:
(In the applet, the graph of the parabola y = 1 - x2 uses the values a = -1, b = 0, and c = 1.)
The same algebra can be carried out in a more general context, without plugging values into a and c, to show that this situation is not unique -- in fact, it must happen pretty much the same way for any starting parabola.
So no matter what the starting values for a and c, as b changes, the vertex of the parabola follows a path along the parabola y = c - ax2 -- the vertex of this parabola must be on the y-axis, and its vertical orientation (opening upward or opening downward) must be opposite the starting parabola (because of the appearance of -a).
This example demonstrates much about the practice of mathematical exploration -- using terminology which seems currently fashionable, the exploration follows the steps of experimentation with the applet and changing the values of the b coefficient, conjecture that the path the vertex follows is itself a parabola, proof from the formulas that this is the case, and generalization that it must also be the case for other starting parabolas. All of the mathematics, though, is at a level that a precalculus student can understand. This allows students both to pursue the material more deeply and to experience mathematics as a process.
I will continue this thread in future articles in this series, again using examples from my own experiences developing applets. For example, I will present a puzzle (for which, at this writing, I have yet to find a satisfactory answer) related to three-dimensional graphics and involving a blend of linear algebra and geometry. A student who understands projections should be able to see the challenge in that problem.
So I want to challenge readers to do two things: first, try this exploration (or others available as math applets) with your own students; and second, develop your own applets and explorations for your courses. If my experience has been any indication at all, you will find the experience worth sharing.
To provide some scope for this series, I need to say what I will and won't be doing in the articles. I will not teach how to write applets. Instead, I want to provide mathematical incentives for learning how to write applets. As in the example above with the "Parabolas" applet, I want to show in this series how writing applets can lead into some interesting mathematical puzzles for you and your students. This example comes from a topic in precalculus algebra -- other articles will look at topics in linear algebra, calculus, and perhaps other fields.
While MathDL and JOMA have taken on the task of collecting and publishing quality math applets, you should not expect any list of math applets to be comprehensive. There may not yet be a good applet for the specific topic you want to cover in your course. But from your own experience teaching the course, you know what a good applet should look like and how it should help your students visualize the material. This series aims to motivate you to begin your own applet development, perhaps with your students, by showing you that there can be some unexpected mathematical benefits.
Many of these examples would work as well in standalone applications as in online applets. Applet-enabled Web browsers provide a new and flexible way of presenting math visualizations, though. This series will not attempt to justify online presentation over other modes. However, online presentation may attract new people to begin developing applets. For example, bandwidth limitations of online material actually encourage developers to write small, topic-specific applets. This is in contrast to the commercial pressures usually involved in writing and publishing math software, which generally lead to large and comprehensive packages. People who otherwise would not be inclined to develop math software, but are frustrated by the cost and size of existing packages, now have an alternative.
I personally use the Java™ platform when writing applets, and my examples will be Java™ applets, but nothing I will say in these articles will be specific to that platform. Any platform with the same computational and graphical capabilities can be used with the same results. In fact, I will include as little code as possible in the discussions, although the source code for the example applets will be available for those interested. The discussions of some examples may lead to issues of performance and computational feasibility, especially when comparing different ways of solving problems, but I will keep the formal computer science to a minimum and instead emphasize the mathematical aspects of the solutions. Other parts of the Developers' Area may provide links to the resources you will need once you decide to learn and write applets.