All graphics calculators are programmable. That is, small programs
can be written to customise the calculator to the needs and interests
of particular users. The programming language involved varies
from manufacturer to manufacturer (and even from model to model
for the same manufacturer to an extent), but is generally relativel
unsophisticated. Recently produced calculators include programming
languages which allow for some more structured commands (such
as *while* and *repeat...until* statements) rather than
cruder commands (such as *go to *and* IS).*

I produced an analysis of some of the potentials of calculator programming and described their significance for mathematics education in a short paper I presented at the ICME-7 conference in Quebec, Canada in 1992. This analysis is now a little dated (e.g. the calculator used to illustrate the arguments is now no longer manufactured and the language involved is a little rudimentary by present-day standards), although the arguments are still generally pertinent. Some possible uses for calculator programs in school mathematics are described briefly in the paper:

1. Situations with intrinsic repetition

2. Evaluation of complex formulae

3. Provision of missing calculator features

4. Pedagogical uses

5. Situations involving random simulation

Since that time, other uses for graphics calculator programs have become evident. These include:

6. Control of data loggers

7. Storage of textual information

8. Game playing

As well as programs stored as a sequence of steps in a calculator, graphics calculators can be used for what I have called *one-line programming*. A one-line program allows a single line of the calculator display to be used repeatedly to perform some mathematical task of interest. This idea is described and exemplified in a paper of mine, published in 1996 in *The Australian Mathematics Teacher*.

**Control of data loggers
**Programs to control data loggers are often quite complicated,
since the commands between calculator and data loggers are themselves
often quite complicated and involve significant coding. For this
reason, many attempts to use data loggers and calculator involve
using calculator programs. This is especially necessary when non-standard
probes are being used or particular experimental situations are
being set up. Ideally, the programs are transferred electronically
from a disk accompanying materials or a website, rather than the
(tedious and error-prone) alternative of retyping them from a
printout. Some calculator programs of these kinds are designed
so that students to do little more than press a key to collect
data and to then study the resulting analysis. I am anxious about
the educational value of this: it seems to have a significant
'black-box' element.

In less sophisticated situations, students can use data loggers
to collect data without the use of a calculator program at all.
This depends on having a *set-up* facility on the data logger
itself and having appropriate retrieval commands in the calculator.
(At present, only the Casio EA-100 data logger meets this specification.)
Such an arrangement seems to me more likely to involve students
in *designing* their data collection and *choosing*
a form of data analysis, which in many cases are important activities
associated with the use of the calculator and datav logger. A
disadvantage of this alternative (to programming) is that it can
cover only a limited range of situations (e.g. only pre-set numbers
of data points or time intervals between collecting data points
are available). I suspect, however, that the range is adequate
for most practical purposes, and has the considerable advantage
that students do not need to grapple with entering and executing
programs.

**Text storage**

A program can consist entirely of textual information, in the
form of notes. Of course, such a program will not run if executed,
but if the user merely opens the program to edit it, they can
retrieve the information. (On at least one calculator, the HP-38G,
there is even a Notes storage area designed for this purpose.)
Unease has been expressed about the storage of textual information
in calculators, especially in relation to the use of the calculators
in public examinations, especially in some science subjects such
as chemistry.

There are two sources of this unease. In the first place, this has the potential to provide differential access by some students to information relevant to the examination. Examination authorities prefer to work on the assumption that all students in an examination are undertaking it on the same basis. (This assumption is of course completely false; students enter examination rooms with a wide spectrum of differences, related to the facilities made available by their schools, their home study conditions, their levels of parental help and support, the energy they have put into studying, their moods, their health (mental and physical), and so on. The assumption that all of these are the same for all students is patently ridiculous.) The second source of unease is the concern that students will not have to remember information of importance, but rather will merely extract it from calculator notes.

One response to this situation is to disallow the use of calculators altogether. While this resolves the problem of text storage, it of course has the undesirable side-effect of probably discouraging students to use graphics calculators in the course of their studies. (When calculators are not permitted, or expected, in examinations, students from less affluent families and in less affluent schools are very unlikely to regard them as important enough to warrant purchase - the real source of calculator inequities.)

A second response is to insist that calculator memories are
cleared before students enter an examination (currently the situation
for some subjects in Victoria, for example). Interestingly, memory
clearing was used in the Advanced Placement examinations of the
College Board in the USA, but on *leaving* rather than entering
the examinations, because of concerns that test security might
be breached by students using their calculators to store items
to publish outside the examination. Students were permitted (and
expected) to bring calculator programs with them into the examinations.
A clear disadvantage of this approach is that clearing calculator
memories to prevent textual stoirage also has the effect of preventing
calculator programs from being used. This may have the effect
of preventing a student from using the programming capabilities
of their calculator to ensure that they have access to appropriate
mathematical functions. If calculator memories are cleared on
entry to a mathematics examination, students with more powerful
(and thus almost certainly more expensive) calculators may have
capabilities denied to others, a clear and undesirable source
of inequity. Some of these issues are discussed in more detail
in the paper, Graphics
calculators, equity and assessment.

A third approach is to allow students to use calculators to
store textual information if they so desire, and to reconsider
the kinds of questions asked in examinations as a consequence.
It is increasingly difficult to argue that *remembering*
information is a critical skill in the modern world; of much more
importance is accessing information relevant to a particular situation
and using it appropriately. In Western Australia, students are
permitted to take some personal notes into mathematics examinations
with them, as well as their graphics calculators. The assumption
behind such a practice is that examination questions that merely
expect students to remember something are not important enough
to be worth asking - at least in a high stakes public examination.
In recent years, there has been a clear trend in mathematics to
provide students with information (such as algebraic formulas,
staitistical definitions and tables of standard integrals) and
expect them to know how and when to use them rather than expecting
them to remember them. The use of open-book examinations operates
under similar kinds of assumptions. It has also been suggested
that the practice of deciding which information should be stored
into a calculator (or into written notes) and structuring it appropriately
is a sound form of intellectual activity by students that is a
good study skill in its own right. (In contrast, the transfer
of stored information electronically from one calculator to another
does not have a pedagogically sound basis, however.)

**Game playing**

Few would suggest that playing games on a graphics calculator
is a worthwhile educational use of the technology. Although it
is possible that educationally useful games can be written (indeed,
they have been written), students are more likely to favour arcade
games.

The situation is somewhat different if students are *programming*
calculators to play games rather than using game programs produced
by others, of course. A great deal about programmjing can be learnt
by such an activity, although it is unlikely that much of it can
be regarded as 'mathematical' learning.

Charlie Watson's website contains links to many cfx-9850G games.

Provided the appropriate equipment for communicating between computers and graphics calculators is available, calculator programs can be dowloaded from the web and installed into a graphics calculator. In this section are some links to programs and information about obtaining and using them. The natural organisation is by calculator manufacturer, since, generally speaking, programs written for one calculator do not work on other calculators. (However, close inspection of programs for one calculator can often suggest how to produce an equivalent program for a different calculator).

I have written a number of programs for Casio calculators, some of which are described in detail in my books (in which program listings are also provided.) (A few of these programs are also available as downloads from the Casio cfx-9850GB Plus series of calculators. These calculators are shipped with a number of programs in ROM which users can download into the program memory area of the calculator, thus eliminating the need to access them electronically in other ways.)

Information and software for dowloading programs to a Casio calculator are available from the ACES website.

- Programs from
*More mathematics with a graphics calculator: cfx-9850G*. (Some of them are also resident on the cfx-9850G Plus ROM for downloading.) The programs are described in detail in the book. *LONGRUN*is a program to simulate events with a certain probability and see what proportion of the times the event is successful in the long run.*SRANSAMP*allows the user to select a random sample of a certain size from a population in List 1 of the calculator. The mean of the sample is displayed, while the sample itself is listed in List 6.- fx-7400G+
is a suite of programs used in my
book,
*Programming Your Calculator: Casio fx-7400G+.*You can download a copy of this book from the CasioEd site in Australia.

There is a nice collection of small ADD's (programs for classroom use) for the cfx-9850GB PLUS calculator at Casio Australia Adds site.

A good introduction to programming the cfx-9850GB PLUS calculator written by Martin Schmude is available at Basic programming link on CasioEd site.

An extensive collection of programs is available through Charlie Watson's site

Casio Japan has provided some downloadable examples in theirProgram Library

Colin Croft has provided useful information on his website on programming the HP-38G calculator, including the development of 'Applets'.

I wrote a number of programs for the Sharp EL-9600 calculator,
the use of which is described in detail in in my *Dealing with
Randomness* chapter of the Student-Teacher Resources on Sharp's
Australian web
site. These programs will be available for downloading below,
*when I work out how to do this*.

*SAMPLE*allows the user to select a random sample of a certain size from a population in List 1 of the calculator. The mean of the sample is displayed, while the sample itself is listed in List 2. (Page 8.25 of the File)*LONG RUN*is a program to simulate events with a certain probability and see what proportion of the times the event is successful in the long run. (Page 8.29)*FLIP*simulates the flipping of a coin a certain number of times and gives the proportion of 'heads' tossed. (Page 8.31)*CARDS*simulates a situation in which cards are selected at random until a complete set is obtained. (Page 8.33)*REPCARDS*repeats the CARDS simulation several times over and summarises the rseults both numerically and graphically. (Page 8.35)*MCAREA*is a Monte Carlo simulation to find the area under the parabola*y*=*x*^2 between*x*= 0 and*x*= 1. (Page 8.37)

There are very many programs for various calculators in the TI program archive.

Sotware for the TI-Graph Link is available from the Texas Instruments website for various calculator models.

Here I will provide a link to my own Texas Instruments programs (particularly the TI-80 programs from the MAWA book)