Riemann Sums - Instructor Notes

Deep background &endash; My preference in using technology in teaching mathematics is that the software be designed so that it is generally used by the student for exploration rather than by the teacher for demonstration. This can be justified by learning theories that have students constructing their own meaning for concepts or by a preference that students remain active. Thus it is important that the software be accompanied by concrete assignments designed to help the students learn from manipulating examples.


Suggested lessons -

  1. The various approximation methods described loosely as Riemann sums all converge to the signed area under a curve in the sense that with enough subdivisions the area covered by the approximation is visually indistinguishable from the area under the curve. [Pick your favorite definite integral and have the students find the number all the methods converge to.]
  2. When the integral exists, the answer reached by the approximations converge to a single answer in the naive sense of convergence. Taking more and more subdivisions gets you closer and closer to fixed answer.
  3. Different methods converge to the answer at different speeds. [Ask the students how many subintervals are needed to get each method within 0.01 or 0.001 of the answer everything converges to.]
  4. For polynomials of low enough degree, some of the methods are exact with a single subinterval. [With the polynomial examples, which methods reach the place they will converge to with a minimal number of subdivisions.]
  5. When the integral fails to exist (e.g., the second singularity example) the approximations never settle down. [How does the behavior with singularity 2 differ from the behavior with singularity 1?]
  6. As the approximation area becomes indistinguishable from the area under the curve, the curve of the numeric integral becomes indistinguishable from the curve of a symbolic anti-derivative shifted to cross the X axis at the left edge of the interval of integration. [Have the student enter a symbolic anti-derivative and compare it with the numeric integral.]

Follow-up lessons -

  1. The visualization provided by the applet is generally very convincing. It is not however a proof, and it does not generalize. That is why mathematicians like deltas and epsilons. How do you translate the intuitive "enough intervals gets close enough" into a rigorous statement?
  2. The number of subintervals needed for a desired accuracy with a specified method can be computed algebraically. Do the examples back up the computations?
  3. When learning various symbolic integration rules, there is a pedagogical value in verifying that the rules match the pictures. For a positive sense this could be done with f(x) = sin(x) and G(x) = -cos(x). For a negative sense we could use your favorite student mistake, e.g. f(x) = x*cox(x) and G(x) = x^2/2*sin(x), to show that the naive product rule does not work.
  4. The symbolic rules should be tied to pictures. Students tend to think of algebraic formulas and graphs as unrelated to each other.
  5. Numeric integration is very robust. Most students will net be able to come up with a definite integral over a continuous function for which this applet can't find the solution with 4 or 5 digits of accuracy. It is easy to produce function for which closed form anti-derivatives are hard to find.
  6. At the same time, numeric techniques are subject to round off error. If your students look at the integral of 1 from -5 to 5, they will see that quadrature has a roundoff error on a problem easily done by non-calculus methods.

Considerations for effective use - (Your mileage may vary)

  1. It seems best if students are first introduced to using applets in a setting where the students are at computers and an instructor is in the room. No matter how user friendly the software and how clear the instructions, each class will develop a new way to crash the system.
  2. Experience shows that students should have to make an evaluation of what they are seeing with the software. The initial questions do not have to be deep, but they need to get the students past passive button pushing.
  3. The students should have a follow-up assignment that requires them to use the applets without the instructor present.
  4. After 3 tries with software (teacher demo, followed by class work with teacher present, followed by assignment) there is a reasonable chance that the students will use it even when it is not assigned.

Design considerations -

  1. Java and a browser - This was chosen so that the students can use the software without needing proprietary software. In particular, they can use it from home.
  2. Java 1.1 - As the applet is written, Java 1.2 does not run on the Macintoshes that my students use. The applets seem to run with Internet Explorer on all platforms. Netscape uses its own version of Java, and this seems to cause problems.
  3. Single jar file - I never like to use software in real time unless it is on my network. A single Jar file makes that manageable if others want to move the file to their local server.
  4. Source code available - You may want to customize the applet for local considerations, You are also welcome to use the code to help you create new applets.
  5. Help page - This gives useful information and should be consulted when the applet is behaving badly. The help page includes a list of functions recognized by the parser.
  6. Exact values and error estimates - (Or lack of these features.) To include these features I would have had to either restrict the applet to a list of specified functions with the anti-derivative hard coded, or develop a symbolic integrator that would deal with any function a student could type in. Both these choices seemed impractical.
  7. Example list - This is an addition to the current version of the applet. The examples were chosen to illustrate lessons I can see as important. Let me know if you have other good examples.

Known limitations -

  1. Numerical techniques have troubles with singularities. Java treats undefined quantities as NaN, or "not a number." Adding NaN to a number gives NaN.
  2. When you enter a new function the applet tries to produce an appropriate range. Once again, singularities and undefined points will cause problems.
  3. Java seems to think undefined variables have value 5.
  4. The most common source of problems for students will be syntax problems with the function, particularly implicit multiplication. The parser I used does not recognize the term 2sin(x). Instead it looks for 2*sin(x).
  5. All values are obtained numerically and are subject to roundoff error and other problems of numerical methods.

Fair use considerations -

  1. Teachers of mathematics may freely use this software for teaching their students. They may host the applet form a server at their institution.
  2. The source code is provided so that instructors may modify the software to their needs. Politeness dictates that revisions give appropriate credit to those whose work in built upon.
  3. If you find this applet or others that I have created to be useful, let me know. Suggestions for improvements are also welcome.
  4. If you plan to sell this applet alone or in package, you need to ask permission. This does not include charging for the cost of media.
  5. The best way to repay the author is to create other applets that he can use for his class.

The source is well documented, but all the files have been put into a single text file, so you will need to rename the file and separate into classes before compiling.

Return Riemann Sum Applet page.

Return to Math Applet at SLU main page

If you find this useful, please e-mail me at maymk@slu.edu.

August, 2002