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.
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.)
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.
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
Hewlett Packard USA
Colin Croft has provided useful information on his website on programming the HP-38G calculator, including the development of 'Applets'.
Sharp USA resources
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.
Texas Instruments Australia
Texas Instruments USA
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)