International Symposium on Software Composition

Graphing calculator

A graphing calculator (also graphics / graphic display calculator) is a handheld computer that is capable of plotting graphs, solving simultaneous equations, and performing other tasks with variables. Most popular graphing calculators are also programmable, allowing the user to create customized programs, typically for scientific/engineering and education applications. Because they have large displays in comparison to standard 4-operation handheld calculators, graphing calculators also typically display several lines of text and calculations at the same time.

Casio produced the first commercially available graphing calculator, the fx-7000G, in 1985. Casio's innovations include an icon menu for easy access to functions (1994, FX-7700GE and later), graphing in several colors (1995, CFX-9800G), textbook-like "Natural Display" input and output (2004, FX-82ES/300ES & FX-9860G), expandable memory (2005, FX-9860SD), backlit screen (2006, FX-9860G Slim), full-color, high resolution backlit screen (2010, FX-CG10/CG20 PRIZM).

Texas Instruments has produced graphing calculators since 1990, the oldest of which was the TI-81. Some of the newer calculators are similar, with the addition of more memory, faster processors, and USB connection such as the TI-82, TI-83 series, and TI-84 series. Other models, designed to be appropriate for students 1014 years of age, are the TI-80 and TI-73. Other TI graphing calculators have been designed to be appropriate for calculus, namely the TI-85, TI-86, TI-89 series, and TI-92 series (TI-92, TI-92 Plus, and Voyage 200). TI offers a CAS on the TI-89, TI-Nspire CAS and TI-92 series of calculators. TI calculators are targeted specifically to the educational market, but are also widely available to the general public.

Some graphing calculators have a computer algebra system (CAS), which means that they are capable of producing symbolic results. These calculators can manipulate algebraic expressions, performing operations such as factor, expand, and simplify. In addition, they can give answers in exact form without numerical approximations. Calculators that have a computer algebra system are called symbolic or CAS calculators. Examples of symbolic calculators include the HP 50g, the HP Prime, the TI-89, the TI-Nspire CAS and TI-Nspire CX CAS and the Casio ClassPad series.

Since graphing calculators are usually readily user-programmable, such calculators are also widely used for gaming purposes, with a sizable body of user-created game software on most popular platforms. The ability to create games and other utilities within most graphing calculators has spurred the creation of numerous calculator hobbyist sites, where more advanced programs are created using a calculator's assembly language. Even though handheld gaming devices fall in a similar price range, graphing calculators offer superior math programming capability for math based games. However, for developers and advanced users like researchers, analysts and gamers, 3rd party software development involving firmware mods, whether for powerful gaming or exploiting capabilities beyond the published data sheet and programming language, is a contentious issue with manufacturers and education authorities as it might incite unfair calculator use during standardized high school and college tests where these devices are targeted. Nowadays graduate (Masters) students and researchers have turned to advanced Computer Aided Math software for learning as well as experimenting.

The actual programming can often be done on a computer then later uploaded to the calculators. The most common tools for this include the PC link cable and software for the given calculator, configurable text editors or hex editors, and specialized programming tools such as the below-mentioned implementation of various languages on the computer side.

A cable and/or IrDA transceiver connecting the calculator to a computer make the process easier and expands other possibilities such as on-board spreadsheet, database, graphics, and word processing programs. The second option is being able to code the programs on board the calculator itself. This option is facilitated by the inclusion of full-screen text editors and other programming tools in the default feature set of the calculator or as optional items. Some calculators have QWERTY keyboards and others can be attached to an external keyboard which can be close to the size of a regular 102-key computer keyboard. Programming is a major use for the software and cables used to connect calculators to computers.

Languages for programming calculators fall into all of the main groups, i.e. machine code, low-level, mid-level, high-level languages for systems and application programming, scripting, macro, and glue languages, procedural, functional, imperative &. object-oriented programming can be achieved in some cases.

Some calculators, especially those with other PDA-like functions have actual operating systems including the TI proprietary OS for its more recent machines, DOS, Windows CE, and rarely Windows NT 4.0 Embedded et seq, and Linux. Experiments with the TI-89, TI-92, TI-92 Plus and Voyage 200 machines show the possibility of installing some variants of other systems such as a chopped-down variant of CP/M-68K, an operating system which has been used for portable devices in the past.

Most graphing calculators have on-board spreadsheets which usually integrate with Microsoft Excel on the computer side. At this time, spreadsheets with macro and other automation facilities on the calculator side are not on the market. In some cases, the list, matrix, and data grid facilities can be combined with the native programming language of the calculator to have the effect of a macro and scripting enabled spreadsheet.