Software Philosophy
Over the past few years, with the aid of faculty and students, we have been creating commercial level educational software for use in and out of the mathematics classroom. These programs can be used by instructors for classroom demonstrations as well as by students for exploration and solving problems. A major consideration in designing our software was to keep the number of (fumbling) keystrokes the instructor needs to make in front of the class to a minimum, particularly as far as entering numbers is concerned.
Rather than create one massive comprehensive package that would take weeks of class time to learn, we decided to write many small packages. Each of these packages is designed to do one thing very well, and be used effectively with no, or minimal, training.
In view of the fact that we teach about 8,500 students each semester, it is impossible for us to have a computer lab large enough to accommodate them all. However, there are many departmental and public labs on campus, and about 15% of our students have access to computers at home or through friends. To make use of these untapped resources, we decided that all the software we created could be copied for free without fear of legal reprisals. We encourage anyone to take copies of our software. All our packages contain the following statment:
This program may be freely distributed by any means, including bulletin boards, provided that there is no fee or charge or consideration of any kind which is in excess of $8. However, we retain all rights to this program.
Our software has been designed to have a specific educational impact. It is inclined for students learning mathematics, not for faculty doing research. Consequently, wherever possible it is not a blackbox, but is designed to take the gruntwork out of the calculations.
In general these programs require 640k, a CGA graphics card or better, and MS-DOS Version 3.00 or above.
Educational Categories
Our software falls into four categories:
- Are You Ready?
- Slide Shows
- Teacher Aids
- Toolkits
Are You Ready: the purpose of this series is to make available to students computer programs which review those materials from prerequisite courses that are essential for success in the present course. In addition, the programs identify a student's weak areas and recommends appropriate action (usually references are to Schuam's Outlines because they are inexpensive and are not revised every few years). They cover courses from Intermediate Algebra to Ordinary Differential Equations.
Slide Shows: this is a collection of screen images, primarily graphical, which anyone can view. They are usually images of functions which would be difficult, or impossible, to draw on the board. Some of these are animated and some zoom in on the function. They cover material from College Algebra to Partial Differential Equations.
Teacher Aids: these were written primarily as aids for middle and high school teachers, although many are of interest at the college level. They are subdivided into three groups of programs, namely Interactive Demos, Logical Games and Puzzles, and Simulations.
Toolkits: these are interactive exploratory tools which are aids to instructors and students, both in and out of the classroom. All have drop-down menus and are self-documenting, with on-line, context sensitive help. They are of use from Beginning Algebra to Fourier Series.
Are You Ready?
The following RUR programs have been released: - Are You Ready for Intermediate Algebra?
- Are You Ready for College Algebra?
- Are You Ready for Business Calculus?
- Are You Ready for AP Calculus (AB)?
- Are You Ready for Calculus I?
- Are You Ready for Calculus II?
- Are You Ready for Calculus III?
- Are You Ready for Ordinary Differential Equations?
Slide Shows
Composition of Functions - Graphical Construction of f(g(x))
- Graphical Justification of the Chain Rule
Fourier Series ...this slide show consists of graphs of various functions together with some of their Fourier Series approximation
- Triangular Wave
- Square Wave
- Saw Tooth Wave
- Cosine Expansion of Sine
- Interrupted Square Wave
Functions ...this slide show consists of graphs of various functions
- sin (1/x)
- x sin (1/x)
- Continuous, but not differentiable
- x and |x|
- sin x and |sin x|
- sin x/x
- (1-cos x)/x
- a^x and its derivative
- sin 2 pi x + sin 2 pi ax
Newton's Method ...this slide show consists of graphs of various demonstrations of Newton's Method
- Method - Example 1
- Method - Example 2
- Problem - Example 1
- Problem - Example 2
- Problem - Example 3
- Problem - Example 4
- Problem - Example 5
- Problem - Example 6
Numerical Integration
- Left Endpoint Method
- Right Endpoint Method
- Midpoint Method
- Trapezoidal Method
- Numerical Method
- Increasing/Decreasing Functions
- Concave Up/Down Functions
Ordinary Differential Equations
- One parameter family of curves
- The US population and logistic growth
- The cooling of coffee
- Numerical Methods - Euler
- Numerical Methods - Runge Kutta 4
- Damped free vibrations
- Series solutions
- Bessel Function
PDE 1, PDE 2, PDE 3 ...these slide shows consist of graphs of numerical solutions of a particular partial differential equation, viz. the wave equation, with three different initial conditions
Taylor Series ...this slide show consists of graphs of various functions together with some of their Taylor polynomials about the origin
- ex
- sin x
- cos x
- 1/(1-x), -1 <>
- 1/(1-x), -2 <>
- arctan x, -1 <>
- arctan x, -2 <>
- (1+x)1/2, -1 <>
- (1+x)1/2, -1 <>
- log (1+x), -2 <>
Trouble ...this slide show consists of various graphs of the same function as seen over different domains
- [-.1, .1] with about 160 sample points
- [-1., .1002] to [-.1, .0998] in steps of -.00005
- [-.0845, .0845] to [-.082, .082] in steps of -.0005
- [-.0006, .0006] to [-.003, .003] in steps of .0012
Vibrating Strings ...this slide show shows how two traveling waves generate a stationary wave
Graphing Separable Equations ...this slide show shows the graphical construction of f(x)=g(y).
Teacher Aids
Interactive Demos 1 - grid: constructs grids to your specification for projection onto a white-board ... you can select one of the built-in grids or create your own
- polar grid: constructs polar grids to your specification for projection onto a white-board ... you can select one of the built-in grids or create your own
- polygons: draws regular polygons inside a circle ... after the number of sides is entered by the user, it then computes the numerical value for the area and for (half) the perimeter for each polygon
- trig 1: designed to help understand the sine and cosine functions
- trig 2: carries on where "trig 1" left off ... as the angle sweeps through 720 degrees the sine and cosine waves are drawn
- trig 3: shows how the graph of the tangent function is generated from the unit circle
- xN sin(1/x): deals with the three functions x sin (1/x), x2 sin (1/x), and x3 sin (1/x) and their behavior near x=0
Interactive Demos 2
- galton box: demonstrates the binomial distribution by dropping 100 balls down a triangular peg-board, called a Galton Box
- number line: a demonstration which starts with the number line marked with integers from 1 to 10, adds the number 0, adds the integers from -10 to -1, rotates this line, superimposes the two lines -- one vertical and one horizontal -- to construct a 2D coordinate system, and puts dots on the plane at the lattice points
- percent - circle: allows you to graphically compare the angles in a circle to percents of a circle
- percent - square: allows you to graphically compare fractions and percents of a square region
- shuffle: is useful for dividing a class of n students into groups in a random way
- temperature: first shows the temperature on a thermometer taken once an hour over a 24 hour period starting at midnight ... then shows the same temperatures in a way that introduces the concept of a bar graph
- venn diagrams: shows the graphical meaning of the union, intersection, and relative complement of two sets, A and B
Logical Games and Puzzles 1- These are games which require logic and mathematics. They are designed for middle school and above. The rules are contained in each program.
- blackbox
- the factor game
- the factor game for two players
- flower
- get the point
- get the point - random
- hurkle 1 and 2
- master
- not one
- the rainbow game
- secret number sentence
Logical Games and Puzzles 2- These are games which require logic and mathematics. They are designed for middle school and above. The rules are contained in each program.
- 3 digits
- add and multiply
- coin piles
- coin swap
- grocery bingo
- lockers
- prime number game
- quadratic bingo
- reverse
- slither 1,2,3, and 4
- word arithmetic
Logical Games and Puzzles 3- These are games which require logic and mathematics. They are designed for middle school and above. The rules are contained in each program.
- beans
- number puzzle
- tax collector
- think-a-dot
Simulations
- acute triangles: when we are asked to draw a triangle, we usually draw an acute triangle, i.e. a triangle where all three angles are less than or equal to 90 degrees ... we seldom draw an obtuse triangle ... which triangle, acute or obtuse, is really more likely?
- carnival: at carnivals, a game is played by tossing a coin onto a large table ruled with squares the diameter of the coin ... you win a prize if the coin you toss does not cover, or touch, the corner of any square ... if you randomly throw the coin onto the table, what are your chances of not winning a prize?
- fair coin 1: attempts to show that the coin we are flipping is a fair coin
- fair coin 2: attempts to show what happens when we bet on the flipping of a fair coin
- fair coin 3: attempts to show that the coin we are flipping is a fair coin, and also shows what happens when we bet on the flipping of this coin
- last names: imitates the proliferation and extinction of English last names from 1350 to the present, and beyond ... during that time about 70 percent of the existing last names disappeared ... the question is whether this is due to chance or some type of catastrophe
- party: simulates a party
- sea battles: simulates a sea battle in the early 1800's at the time of the Battle of Trafalgar and Lord Nelson
- triangle: try the following experiment -- draw an equilateral triangle and randomly select a point on one edge ... randomly select one of the three vertices of the triangle ... midway between it and the old point draw a new point ... treat the new point like the old point, i.e. randomly select a vertex and draw the point midway between the new point and that vertex ... continue doing this a few thousand times ... how much of the triangle do you think will be covered by this construction?
- unfair coin 1: attempts to show that the coin we are flipping is an unfair coin
- unfair coin 2: attempts to show what happens when we bet on the flipping of an unfair coin, biased 55 to 45 in head's favor
- unfair coin 3: attempts to show that the coin we are flipping is an unfair coin, and also shows what happens when we bet on the flipping of this coin
Toolkits
- baye's theorem: deals with Probabilities, Conditional Probabilities, Baye's Theorem, and how they are used in Search and Rescue to look for a missing subject lost in a hostile environment.
- complex numbers: will evaluate complex expressions, find the nth roots of a complex number, and display complex numbers graphically.
- conics: plots conics in standard form, as well as quadratic curves. The constants that usually occur in these formula, viz. a, b, c, d, e, f, h, k, and r, can be changed at will and the curves redrawn. Demonstrations of the construction of the ellipse, hyperbola, and parabola are available, as is the reflection property of the parabola.
- division algorithm: does tasks to help you carry out several polynomial algorithms, such as Euclid's algorithm, Sturm's algorithm, and the algorithm to complete Bezout's identity.
- findpoly: challenges you to determine the equation of a polynomial given information about its graph and that of its first two derivatives.
- fortune: a program that encourages you to experiment with changing parameters and fitting curves. It allows you to enter expressions for up to two functions f(x) and g(x), containing parameters a, b, and c, and then plot those functions. The parameters a, b, and c may be 'tuned' and the new functions can then be plotted.
- fourier: graphs the first 20 Fourier 'polynomials' of y = f(x), after you enter f(x) and the period 2L. You can either enter the Fourier coefficients yourself (fast, and accurate) or have the computer perform numerical integration to evaluate them (slow and approximate).
- feuerbach's theorem: allows you to experiment with the size of a triangle and see the resulting incircles, excircles, circumcircles and nine-point circles. It is designed to give a pictorial representation of Feuerbach's Theorem.
- graph theory: allows you to experiment with undirected, unweighted graphs. It can also decide whether a graph is planar, connected, has an Euler Circuit, Euler Path, or Hamilton Cycle. The graph can have up to 26 vertices.
- histogram: calculates the mean, median, and standard deviation of a data set. It will also generate a histogram, a bar chart, a box and whisker plot, and a stem and leaf plot.
- identify: challenges you to identify the function form its graph or from a numerical table of values.
- implicit: tries to plot implicit functions of the form f(x,y) = c. Thus it can be used to plot implicit functions, defined by f(x,y) = 0, or contour lines (level surfaces) of the function z = f(x,y).
- integral: a program that allows you to compute the numerical value of a definite integral by various techniques, and also to compare the efficiency of these techniques. The integrand may contain parameters a, b, and c.
- interpol: allows you to enter a data set, and then you can select how you would like this set interpolated.
- iterate: allows you to enter a function f(x) and it will generate various results related to the iterates f(f(x), f(f(f(x))), ..., of f(x).
- limits: tries to find the limit of f(x) as x goes to x0, where x0 can be finite or infinite. The function I may contain parameters a, b, and c.
- linalg: a comprehensive linear algebra package.
- lineint: a program that allows you to create paths in the xy plane and numerically evaluate line integrals around these paths.
- linsys: a program that solves linear systems of equations in two unknowns. Its primary purpose is to demonstrate the graphical interpretation of row reduction.
- oldes: plots numerical solutions of 1st and 2nd order linear differential equations containing parameters a, b, and c. These parameters can be 'tuned' and the solution replotted. A user supplied function, as well as a user supplied power series, can also be plotted.
- polar: plots polar equations of the form r = r(t), where t is the angle, as well as two dimensional parametric equations of the form x = x(t) = y(t). The functions r, x, and y, may contain parameters a, b, and c. Up to two equations can be plotted, and then you can "twiddle" the parameters and replot the equations.
- root find: a program that allows you to compute the real roots of a function f(x) by various numerical techniques, and also to compare the efficiency of these techniques. f(x) may contain parameters a, b, and c.
- sequence: is a program that allows you to create sequences a(n), and then shows the values of successive terms both numerically and graphically. It also computes the partial sums of sequence. Also included is a demonstration of Riemann's rearrangement theorem. The sequence a(n) may contain parameters a, b, and c.
- simplex: is a program that performs the Simplex Method in three different modes, viz. having the computer show the answer, having the computer show the pivots, or having the user go through the step by step method.
- slopes: will graph the slopes (direction field) and the integral curves of dy/dx = f(x,y), where f(x,y) = F(x,y)/G(x,y). The functions F(x,y) and G(x,y) may contain parameters a, b, and c.
- spanish dictionary: is an English to Spanish Dictionary of Mathematical Terms.
- systems: plots numerical solutions of systems of up to 6 first order ordinary differential equations containing parameters. These parameters can then be 'tuned' and the solution replotted. A user supplied expression and a user supplied data set can also be plotted.
- taylor: graphs the first 20 Maclaurin Polynomials (i.e. Taylor Polynomials about x = 0 of y = f(x), after you enter f(x) and the Taylor coefficients.
- truth tables: displays truth tables. Expressions are constructed from the statements p, q, and r, and the four operations, or, and, not, and implies.
- twiddle: a program that encourages you to experiment with changing parameters and fitting data. It allows you to enter a function f(x), containing parameters a, b, and c, and then plot that function. The parameters a, b, and c may be 'twiddled' and the new function can then be plotted. A single data set can also be plotted, so that fitting a curve to a data set can be performed 'by eye'. If a data set is plotted, the numerical value of the least squares fit between f(x) and the data set can be displayed.
- twodmaps: allows you to experiment with two dimensional affine transformations. you can experiment with fractals, find eigenvectors by eye, show the effects of a map on a set of points, and show the solution of a set of two linear equations.
- units: converts between various types of units.
- venn: displays Venn diagrams. Expressions are constructed form the sets A, B, C, S (universal set), and E (empty set), with the four operations union, intersection, relative complement, and complement.
- vote: allows you to experiment with four different voting methods, the Plurality Method, the Borda Count Method, the Plurality With Elimination Method, and the Method of Pairwise Comparisons.