BASIC SKILLS
K12 Mathematics Teacher Guide for Linux


There are some things that you absolutely have to use computers for
in mathematics.
1. Small numbers can be factored into the product of prime numbers by trial and error, but
computers are used to factor large numbers into primes. Similarly, factoring first and second
degree polynomials is easy, but except for a few special cases, factoring polynomials of
degree three or higher is difficult without the use of computers.
2. Computers are used to extend the number of examples of graphs of different
kinds of math equations available to students. This includes 2D and 3D graphs,
both static and animated.
3. Certain kinds of equations cannot be solved using algebra  they
have to be solved numerically using a computer. For instance, there is
no algebraic way to solve a simple equation like x^{2} = sin(x),
the solution must be approximated using numerical methods.
4. Small 2 x 2 or 3 x 3 systems of equations can be solved by hand, but
large systems of equations require the use of a computer to be solved.
5. Determinants and inverses of Small 2 x 2 or 3 x 3 matrices can be
solved by hand, but large matrices require the use of a computer.
6. Statistics rely heavily on computers. As a simple representative
example, it is suggested that students be introduced to linear regression.
More is covered on linear regression in the section on downloading
and working with data.
7. For high school calculus classes, some kinds of integrals have
no closed form and their solutions must be approximated using
numerical methods on a computer. This skill is not presented here
but is covered in the section on advanced applications.
In all cases, the recommendation is to have students solve simple examples of these
problems by hand, then implement the solution to more difficult problems using the
computer. Computer solutions should never be accepted as valid without verification and
analysis using principles from the underlying theory about the problem. Where possible,
students should be shown examples that demonstrate the pitfalls of relying on the
accuracy of computer solutions alone.
1. Factoring and Prime Numbers
console: Factoring Numbers Using
the "factor" and "seq" commands
This is a simple lesson plan that shows how to factor numbers at
the Linux command line using "factor" and "seq".
X Windows: Factoring Numbers
Using DrGenius
A lesson plan that shows how to factor numbers in X Windows using
DrGenius.
Server Based CGI: ICM, Polynomial Factoring Demo
This is an online demo that uses Maxima to factor numbers or polynomials.
server based CGI: WIMS, Factoring Numbers and
Polynomials
This is a simple lesson plan for factoring numbers and polynomials using
WIMS.
Prime Number Generator (Java applet)
An example of a Java/Javascript applet for generating prime numbers.
2. Graphing Equations
console or X Windows: GNU Emacs Calc Mode
Some notes from Robert J. Cassell about how to use
GNU Emacs Calc Mode for graphing and other math operations.
X Windows/SVGAlib: Basic Gnuplot Commands
Here are some basic Gnuplot commands for graphing
functions and data.
X Windows/SVGAlib: Introduction to Gnuplot
A tutorial from the University of Northern Iowa. Content from this
site could easily be incorporated into a lesson plan.
X Windows: geg  A GTK+ Equation Grapher
An easy to use, good looking, compact and customisable equation grapher
for a workstation running X Windows.
Server Based CGI: ICM, Curve Plot Demo
This is a plot demo using Gnuplot that can be accessed at ICM.
Java/Javascript: Hartmath
This is a plot demo at the Hartmath homepage.
Server
Based CGI: WIMS, 2D plots  Tracs anims
This is one of the graphing utilities that can be accessed on WIMS.
emulation: Graphing Using a Spreadsheet
This is a lesson plan for graphing using Lotus 123. Lotus 123 can
be emulated with dosemu or wine. The lab can easily
be adapted to a lesson plan for a Linux spreadsheet. For example,
the keystrokes are almost exactly the same for the XESS or XESSlite
spreadsheet.
3. Solving Equations Numerically
Server Based CGI: ICM, Maxima Demo
You can execute the Maxima command to solve an equation using
this demo at the Institute for Computational Mathematics at Kent
State University. For instance, enter the following commands in the
Maxima command window. Click restart after each solution.
solve(3*x+2=0);
solve (x^2+3*x+2=0);
solve (3*x*y+1 = x + y,y);
Server Based CGI: MathServ, Solving a Polynomial Equation
This is an online demo that uses Mathematica to solve a polynomial
equation for a variable either symbolically or numerically.
Server Based CGI: WIMS, Numerical Calculator
The Numerical Calculator in WIMS can be used as a front end for many of the commands
for the Pari/GP programming language and calculator. To solve an equation numerically,
set the equation equal to zero, and enter the the bounds for the variable.
For instance,
to solve sin(x) = cos(x) between x = 1 and x = 1,
enter the following command in the Numerical Calculator window:
solve(x=1,1,sin(x)cos(x))
Server Based CGI: WIMS, Function Calculator
This WIMS page allows a function to be entered after which a variety
of operations can be performed on it. Click on "Search for roots ..." and
enter the bounds for the graph. Click "Show" and the graph of the function
will appear. Click on the graph near the x  axis and the root will be
shown.
emulation: Solving Equations Numerically Using a Spreadsheet
This is a lesson plan for the bisection method using Lotus 123.
Lotus 123 can be emulated with dosemu or wine. The lab can be adapted
to a lesson plan for a Linux spreadsheet. The keystrokes are almost
exactly the same for the XESS or XESSlite spreadsheet.
4. Solving Systems of Equations
emulation: Solving Systems of Equations Using a Spreadsheet
This is a lesson plan for solving systems using matrices in Lotus 123.
Lotus 123 can be emulated with dosemu or wine. It can easily be adapted
to a lesson plan for a Linux spreadsheet.
server: WIMS, Linear solver
This WIMS tool solves systems of equations with a variety of options.
5. Working with Matrices
console: Maxima
Maxima is a computer algebra system capable of performing
matrix operations that will run in a Linux console.
A lesson plan and examples are being prepared. See the link
below for an interactive Maxima web demo.
Server Based CGI: ICM, Maxima Demo
You can execute Maxima commands for matrices using
this demo at the Institute for Computational Mathematics at Kent
State University. For instance, enter the following commands in the
Maxima command window.
A:matrix([1,2],[3,4]); # define A as a 2x2 matrix
determinant(A); # compute the determinant of A
transpose(A); # compute the transpose of A
B:invert(A); # define B as the inverse of A
A.B; # multiply A times B
X Windows: DrGenius
DrGenius is an X Windows application that can perform matrix operations.
(Lesson plan and examples soon ... )
Server Based CGI: WIMS, Matrix multiplier
Computes the product of two matrices.
Server Based CGI: WIMS, Matrix calculator
Computes the determinant and inverse of a matrix whose elements are entered
line by line, separated by commas.
Java/Javascript: Matrix Calculator Applet
Java applet that performs operations on one or two square matrices.
6. Linear Regression
console: Gnuplot
Gnuplot can be used for linear regression. Put the
following xy data pairs in a file called "test.dat".
1 1
2 2
4 3
5 6
Run Gnuplot. At the Gnuplot prompt execute the following commands:
f(x) = a*x + b # define a linear function
fit f(x) 'test.dat' via a,b # compute the regression coefficients a,b
Gnuplot will converge on the regression coefficients and you will see
the output:
Final set of parameters
=======================
a = 1.1
b = 0.3
You can plot the polynomial and the data with the command:
plot f(x), 'test.data'
emulation: Linear Regression Using a Spreadsheet
This is a lesson plan for solving systems using matrices in Lotus 123.
Lotus 123 can be emulated with dosemu or wine. The lab can easily be
adapted to a lesson plan for any Linux spreadsheet that supports linear
regression.
Web Resources
DrGenius
DrGenius is an X Windows application for numerical calculations and geometry.
Gnuplot Central
The official web site for Gnuplot.
Martindale's Reference Desk: Mathematics Calculators
Extensive list of calculators and plotters of all types.
Download Maxima from a GNU mirror
Maxima is a computer algebra system free for download
under the GNU license.
www.rpmfind.net
has some rpms for Maxima. Search for the keyword "Maxima".
Maxima Manual
A complete manual for Maxima is here.
Interactive Demos of Mathematical Computations (ICM)
You can experiment with Maxima and Gnuplot commands at this
site. You can also generate MathML and Latex markup for
math expressions. The site is hosted by the and Computer Science at Kent State University.
PariGP
PariGP is a high speed language and programmable calculator
primarily used for number theory.
Spreadsheets for Linux at LinuxLinks.com
This is a good list of spreadsheets avvailable for Linux.
Chris Browne's Page on Spreadsheets
This is one of the most informative pages about Linux spreadsheets
and spreadsheets in general.
Spreadsheets, Mathematics, Science, and Statistics
Education
Information about spreadsheets with an emphasis on mathematics and
statistics education.
Introduction to Math and Spreadsheets
An Introduction to Spreadsheets Using ClarisWorks for a Mac. The principles
and ideas can be easily adapted for use with Linux spreadsheets.
Spreadsheet Lesson Plans Grades 68
These are some more generic lesson plans for spreadsheet activities that can be
adapted for use with Linux spreadsheets.
World Wide Web Interactive Mathematics Server (WIMS)
WIMS main site. Distributed Encyclopedia of Mathematics
recently added.
Main Outline
