Eck, Mitchell, Ryan Receive
Curriculum Development Grant
PROFESSORS David Eck and Kevin Mitchell, of the Department of Mathematics and Computer Science, and Professor James Ryan, of the Department of Biology, have been awarded a curriculum development grant from the National Science Foundation. The goal of the grant is to develop a set of mathematically oriented Java "Beans" (software components) that can be used as interactive illustrations on instructional Web pages. The software that is developed will be used in courses at Hobart and William Smith Colleges and will be made available to other institutions on the Internet.
The work on the project will take place during the summers of 1999 and 2000 and throughout the 1999--2000 and 2000--2001 academic years. The $59,578 award includes some funding for student programmers and teaching assistants who will be hired during the 2000-2001 academic year. There is also funding for a faculty development workshop which will be held at the end of the project in the summer of 2001.
Here is the project overview from the grant proposal:
The project will develop a collection of mathematically-oriented software components for use in Web-based instructional materials such as lab worksheets, tutorials, course modules, tests, and even full-length textbooks. The software will be in the form of "Java Beans," which can be configured, saved in their configured state, and used on Web pages. Java is a fairly new programming language which, like the World-Wide Web itself, is platform independent. We refer to the Java software components that we will create as "MathBeans." [Note added 21 July 2000: we have learned that MathBeans is a trademark of Numerical Objects, so the term MathBean will not be used for the components produced under this grant.] Each MathBean will be strictly limited in scope and will be designed to be easy to use -- both for authors of educational material and for students who use that material. Instructional Web pages that use the beans will be written and will be tested in calculus courses, in introductory biology, and in a bidisciplinary course on mathematical modeling in biology.
The first summer of the project will be devoted to preparing materials to be used in these courses during the following academic year. This will involve programming MathBeans and writing Web pages that use them. The courses will be taught by Mitchell and Ryan, who will also write additional material as the year progresses. Eck, who will be on sabbatical leave, will work on programming additional MathBeans as one of his sabbatical projects.
At the end of the year-long project, we will hold an authoring workshop for about twenty faculty. The workshop will cover writing Web pages and configuring and using MathBeans on those pages. We will invite faculty from Hobart and William Smith Colleges and from other colleges within a one hour drive of the campus.
Goals and Objectives
The objective of the project is to produce a collection of configurable software components for use on Web pages, along with Web pages that use these components. The software components, dubbed "MathBeans," will be Java beans that implement various mathematical objects and activities. The Web pages will be lab worksheets for Calculus problem-solving labs, worksheets for data analysis for use in introductory biology labs, and instructional modules for a bidisciplinary course in mathematical modeling and biological systems. The MathBeans that we create should be easy to use, both for the author of instructional materials and for the student user.
For this proof-of-concept level grant, our goal is not to create a definitive or complete set of MathBeans. Rather, we hope to cover a reasonable range of applications, test them in a classroom setting, provide a basis for further work, and attract interest from potential users and developers of MathBeans. We expect to produce several dozen MathBeans.
Project Description
There are many professional tools available for doing mathematics on computers, including spreadsheets, computer algebra programs such as Mathematica and Maple, and statistics programs such as SAS. These tools are used by scientists and mathematicians, and there is certainly a place for them in science and math education as well. However, their place in introductory courses and courses for non-majors is not so clear. It is certainly possible to build an introductory course around a program like Mathematica, but such a course necessarily requires students to spend a significant amount of time just learning to use the program. For limited and special-purpose use in a course, a general-purpose program is often clumsy and inefficient. Such programs can be expensive, if they are installed on a large number of computers. And they are not readily available to students for use on their own computers.
An alternative is to use special-purpose programs that are designed to be very easy for beginners to use. Such programs can be used with little or no instructional overhead, so it makes sense to use them on just one or two occasions to help students learn specific topics. If these programs are written in Java, they are readily available on any reasonably powerful networked computer.
Our previous experience has shown how effective special purpose programs can be. For example, in Mitchell and Ryan's biological modeling course, simulation programs requiring students to input only a few parameter values are used to explore how animals "should budget their time" among a variety of tasks. The data generated are then analyzed in detail by the students. This puts the focus on the data analysis and its biological interpretation rather than on trying to understand the mechanics of the simulation program.
Eck's program for calculus and pre-calculus, xFunctions, is made up of several modules that cover various aspects of working with functions and graphs. For example, there is a module that can display graphs of a function and its first and second derivatives, a module for Riemann sums, and another for drawing three-dimensional graphs of functions of x and y. Each module has a simple, self-contained interface. We have found that with only a short introduction to the software, students can use it to explore mathematical concepts.
Eck has also produced a collection of limited-purpose programs for use in an introductory computer science course for non-majors. Students use five or six of these programs in ten seventy-minute labs over the course of the term, with almost no lecture time devoted to covering the use of the programs themselves.
The development of the World Wide Web and the Java programming language has made it possible to write small, special-purpose programs in the form of Java applets that can run on a Web page. For example, it is possible to write a lab worksheet in the form of a Web page and include the exact software needed for the lab right on the worksheet. It is possible to write Web-based expository articles and even books that include Java applets as "interactive illustrations."
Some examples of this work can be found in the Appendix to this proposal in the form of screenshots of programs and printouts of Web pages. See Eck's on-line introductory Java programming text for an example of a larger-scale work that uses embedded Java applets. The term "interactive diagram" is used in the article "Interactive Diagrams: Exploring the Potential of Java Applets for Learning Mathematics" by Jere Confrey et. al. "The Calculus Pages," by Teresinha Kawasaki, are a set of web pages that make systematic use of special-purpose applets to teach calculus projects. In an article titled "Math Applets," Tristan de Frondville describes his use of mathematical Java Applets in the classroom.
The problem with special-purpose programs and Java applets is that each one requires a substantial investment in time, ideally by someone who is both a capable programmer and an experienced teacher. In an attempt to make such programmer/educators' work available for others to use, on-line collections of Java applets have been established, notably at www.developer.com and at Apple's Educational Object Economy Web site. However, a majority of the mathematical applets at these sites are simply not very good, and there are few statistical and biological applets. Finding a usable applet to cover some specific topic is not easy when it is possible at all.
Java "Beans" represent a newer alternative to applets that might just be ideal for producing interactive, Web-based content. Beans have at least two advantages over applets in this regard: First of all, beans are configurable. A non-programmer can customize a bean by selecting options and setting parameters. This raises the possibility of designing a set of "ClipBeans" that can be used by non-programmers the way clip art is used by non-artists. Configurability means that a relatively small set of ClipBeans might cover a wide range of applications.
Second, beans are specifically designed to be used as components in a visual programming environment, such as Sun's Java Studio. In such an environment, complex beans can be composed from simpler beans without writing any program code. It should be possible to design a pallette of component beans representing basic mathematical objects and ideas such as functions, graphs, axes, and tables. Complex beans could then be assembled from these by educators who don't want to learn Java programming. (Information about Java Beans can be found at the JavaSoft web site. A paper by Adam Nash, "The Promise of Java Beans," discusses the potential of the java bean software component model.)
We are proposing to develop a basic set of mathematical component beans and a collection of configurable mathematical "ClipBeans" based on them. We will use these MathBeans to develop instructional materials for several courses, including calculus, introductory biology, and a course in applications of mathematical modeling to biology.
Since this is a one-year, proof-of-concept project, we certainly don't expect to come up with a definitive set of MathBeans. However, at the end of the project, we do expect to have a useful, coherent, and well-organized collection of beans that will cover a reasonably large selection of topics and that can be used as a foundation for further development.
It is very easy to come up with ideas for MathBeans. In general, MathBeans are meant to play a limited, subordinate role, much as an illustration does in a textbook. There is nothing to stop someone from writing very complicated beans, but in this project our focus is on fairly simple MathBeans that students will encounter only once or twice, for short periods of time. Here are a few possibilities:
- In a calculus lab on derivatives and tangent lines: A MathBean that can zoom in on a point on a graph until it becomes indistinguishable from its tangent line.
- In a calculus lab on Riemann Sums: A MathBean that will display the rectangles that approximate the area under a curve and compute their sum.
- In a exposition of Fourier series: A MathBean that graphs both the function to which a series converges and the sum of several terms in the series, with the number of terms controlled by a slider. Another bean that allows the user to sketch the graph of a function and see the first few terms of its Fourier series (computed numerically).
- In a lab that involves computing the average of the logarithms of a set of numbers collected as data: A small spreadsheet-like MathBean that performs the calculation.
- In the discussion of a predator/prey population model: A MathBean in which the user can enter initial populations of predator and prey and see a graph of how the population evolves with time.
- In a lab that uses diffusion: A MathBean that visually simulates diffusion of a large number of molecules from a point.
Now, any of these applications could be done with, say, Mathematica or Maple. Some of them could be done on a graphing calculator. These tools would be appropriate in many circumstances. But MathBeans would be appropriate where the goal is illustrating a particular point in an exposition, or quick and focused drill on a concept, or performing some calculation where the answer is important and the process is not. We suspect, for example, that an interactive calculus textbook using something close to traditional exposition plus a large numbers of MathBeans would be more effective than a traditional text supplemented with Mathematica or a "multimedia learning experience" on CD ROM.
There are several levels at which authors of educational Web pages will be able to work with MathBeans. The most basic level is analogous to using clip art: Take an existing bean, perform simple configuration---analogous to cropping or resizing an image---and add it to a Web page. The configuration that would be done at this level would consist of setting a few simple parameters, such as a range of values to be used in an animation or the formula of a function to be graphed. Many existing applets allow this type of configuration through the use of "param tags." For example, an applet that displays an animated graph of a time-varying function might be included on a Web page with the HTML command:
<applet code="FunctionAnimator.class" width=350 height=300> <param name="function" value="x/(t-x)"> <param name="start_t" value="-1"> <param name="end_t" value="1"> </applet>The applet reads the params and uses them to configure itself. Rewriting the applet as a configurable bean would make it easier to use, since the author would only have to fill in values in a dialog box. A well-designed and well-indexed set of MathBeans should allow authors to handle most of their needs with no more work than this.
On the next level, the author would use a visual programming environment to construct complex beans from prebuilt parts without writing any Java code. This is analogous to using a drawing or painting application to create an illustration. The parts of the MathBean would themselves be beans, including other MathBeans, standard beans such as buttons and text-input boxes, and even things like beans that connect to a database and retrieve information. For example, consider the animation bean described in the previous paragraph. Assuming that it is properly designed, it could be combined with "Start" and "Stop" buttons to control the animation. The event generated when the Start button is clicked would be set to trigger a method in the animation bean that starts the animation. Or a text-input box might be provided where the user can type in a formula for the function to be graphed. Or the animation bean might be set to connect to a public on-line database of climate information to get the data that it is displays.
At the third level are programmers who design MathBeans and code them in Java. While it requires a lot of programming expertise to write the versatile beans that make good building blocks, there will probably be many authors who want more control and flexibility than is provided by simple visual programming.
Then of course, there is a fourth level: people who try to design libraries of MathBeans for other authors to use, as we will be doing in this project. A library of MathBeans is the ultimate goal of the project, but we intend our design work to be grounded in experience with using our MathBeans in particular courses and applications.
This project, of course, will involve work on all of these levels. We expect to begin with a very basic set of general-purpose beans, such as beans to represent variables, functions, graphs, and tables of numbers. Eck has already begun to experiment along these lines, as part of a project to convert his Macintosh program, {\it xFunctions}, to Java. For example, he has programmed a general function object that can represent both functions defined by formulas and functions defined by numerical data---making it conceivable to write an animation applet that can work with both formulas and numerical climate data. So, we will have at least some building blocks on hand when the project starts. However, a really usable collection of basic MathBeans will certainly require several revisions and experience with using them in the classroom. During the first month of the project, in the summer of 1999, we expect to advance to the point where we have a collection of usable MathBeans and Web pages that use them. We will work on a few specific applications, such as a module to teach the concept of the derivative as the slope of a tangent line or analysis of data collected on species diversity in several patches of meadowland. The goal of this work is not just to produce material we can use in our classes, but more importantly to drive the development of MathBeans by testing them in classroom and laboratory.
The development will not end at that point. Over the course of the following academic year, we will continue to develop new MathBeans and new Web pages to use in our courses. Eck, who will be on sabbatical leave for the year, will work on MathBean development as a sabbatical project. Ryan and Mitchell will concentrate on developing Web pages that use MathBeans and using them in their courses. We will hire two or three undergraduates each term, for a total of twenty hours per week, to help with Web-page authoring and programming and to work as teaching assistants in courses that use the materials we develop. (During this period of the grant, the only funding that we are requesting will pay the salaries of the undergraduate assistants.)
In the following summer, we will devote a two week period to consolidating and refining the work we have done and putting it into a form in which other people can use it easily. We hope also to be in a position to make plans for moving on to a larger scale effort. The final element of the project will be a two-day faculty workshop. The first day of the workshop will cover basic Web-page authoring and the use of MathBeans on a simple, "clip-art" level. The second day will include visual programming of more complex beans. Both days will offer presentations and hands-on experience. From our point of view, the point of the workshop is not just dissemination of our results. We expect to get valuable feedback about the usability of the materials we will have developed and about the directions we should take in the future.
We feel that the potential impact of this project is large. MathBeans will not replace Mathematica. Interactive material based on MathBeans will not make high-quality multimedia educational material obsolete. However, it will certainly increase the number of potential authors of interactive instructional material. More important, because MathBeans should be easy for both authors and students to use, it will be possible for teachers to create, use, revise, and discard such materials on a day-to-day basis, much as they do now with non-interactive labs, problem sets, and course notes. It is this potential contribution to the mainstreaming of interactive content development that makes this project so attractive to us.
Department of Mathematics and Computer Science
Hobart and William Smith Colleges