CATO, the Computer Algebra Taschenrechner (calculator) Oberfläche (surface), is a software intended to facilitate the use of computer algebra systems. In its availability and accessibility of information it is not limited to specialists, but the use of this scientific software should also be possible for users without a specialist’s background. Barriers to usage are overcome through user-guides.
Over the past 30 years, a special kind of mathematical software, the computer algebra (CA) system, has widely been used for calculation and solution of mathematical problems. In many sectors in mathematics, strict laws, rules and algorithms apply, and these can be converted into appropriate programs. As a result, computer algebra systems ease the performance of otherwise demanding and time-consuming calculations. So-called numerical analysis packages have existed since the 1950s. However, while they were suitable to perform calculations, their accuracy was limited and they could also not be used in those instances where mathematical methods or algorithms could not be transformed into a numerical algorithm.
The demand for better designs of user interfaces for CA systems is almost as old as the systems themselves. Kajler has described and developed his ideas for a perfect user interface in various works [1, 2, 3] and elaborated these in further works [4, 5]. Kajler has postulated that well-designed CA interfaces should afford intuitive access. As such, they should enable the entry of commands with more than one parameter in a two-dimensional fashion. This prevents syntactic and structural errors. In addition, all templates and masks should follow the convention of operating from left to right.
Intuitive interfaces should also apply conventional mathematical notations, and decouple the surface from the computer algebra system. The interface should be serviced independently, and regularly developed and updated. Ideally, it should understand a range of computer algebra systems.
Kaljer has responded to his own demand for such a surface for different systems with his development of CAS/Pi . He wrote [5, pg. 151]: “…, it is desirable to produce a portable interface that handles lexical, syntactical, and functional differences between different CAS.”
The software CATO, which is a user interface for various computer algebra systems, enables the use of scientific software by any parties equipped with rudimentary knowledge; it can easily be learned by laypeople.
The author has taught mathematics for engineers for over twenty years at the University of Applied Sciences (HTWG) in Konstanz, Germany. CA systems have always belonged to the tools used in his teaching, and he has also always intended that these systems be used by students.
However, easy-to-use computer algebra systems have proven to be the exception, rather than the rule. The majority of CA systems are not really accessible to non-mathematicians, who have only occassional call upon them (for example, a non-mathematician wishing to use them once a week to solve set problems). CA systems are at the user-interface a mixture of a programming language and the corresponding mathematical terminology. That the necessary commands for use are often abbreviations, further compounds the hindrance current systems pose to their spontaneous use.
The question therefore is, what can be done to improve access to such scientific programs: Among other things, modification of the selection of commands and the configuration of the input parameters are necessary steps.
The use of a computer algebra system should not detract from the mathematics, or the problem to be solved. The use of such a system should also not be the goal in itself, or pose additional difficulty for teaching. It raises, in the author’s view, a more general question: What are, in this context, the distinguishing features of user-friendliness?
In programming CATO the author noticed that if an interface is to be developed in order to facilitate access to programs, ease-of-use cannot be limited to the input of the commands and their parameters. The following aspects should be observed:
First, the help itself should be prepared according to the users’ needs to use the computer algebra system. Therefore, it must have an extensive index that contains more than just the respective command name. Furthermore, in addition to being intelligible and providing comprehensible examples, the help text should always be designed in the same way and always be structured identically. Every help text for CATO is structured in the following way: The name of the command appears first (black), followed by the packages containing this command (green), and finally by a list of the computer algebra systems in which the command is available (red). The free text that follows contains first an abstract description, and then several comprehensible examples. Of course, the CATO help is written in HTML, and can therefore be read independently of the system itself .
Second, the choosing of a command must be simple. Selecting commands in CATO follows a hierarchical paradigm via 27 packages (4 of these consist of sub-packages). Packages group related commands together, but the same command may be included in more than one package. For instance, the command “Definition eines Vektors” (definition of a vector) is contained in the packages “Lineare Algebra” (linear algebra) and “Definitionen” (definitions). The help text will refer to both locations. This means that the user is not obliged to learn the command or its package.
The selection of a package is made using the combo box on the lower left of the surface of CATO; all the commands from this package are downloaded into the combo box directly to the right of the first one. The selection of a command is therefore performed from left to right.
Multi-parameter commands will always invoke a two-dimensional input graphical user interface. Each parameter has its own documented input row. The user does not need to know the right input order of parameters or the right kind of separators or brackets.
Finally, the transportation of the results should be simple. Each computer algebra system has a protocol, in which all inputs and outputs are written sequentially. The user can save the protocol at any time, and read the results later. In many computer algebra systems, the respective protocol can only be read after calling-up the program; in addition, some have a free log-reader. The CATO protocol in contrast can be read independently of CATO, using any editor.
Results and Discussion
The author [7, 8, 9, 10] has over the last ten years developed a German-language interface for computer algebra systems. In writing CATO, he has developed, adopted and implemented many ideas and concepts for ease-of-use. His primary aim was to allow casual use of computer algebra in his lectures. He further wished that the use of software would support teaching and also motivate the students to use CA systems at home.
Now the students can learn the usage of CATO in less than 15 minutes. During term-time, CATO is used occasionally, when and as appropriate; sometimes just for exercises, sometimes more extensively. With every semester, the author has observed a desired effect of CATO: widespread independent exploration of the possibilities and potential of CA systems. CATO has facilitated access to this kind of mathematical software, which in turn, has encouraged many students to further explore it on their own.
There are, approximately, 500 commands for Mathematica (version 4.0 or higher), 400 commands for the mathematical toolbox of MATLAB, 300 commands for Maple (version 9.5 or higher), 300 commands for MuPAD 3.0, 200 commands for Yacas and 100 commands for MATLAB. In addition, there are approximately 50 CATO internal commands.
(Maple, Mathematica, the mathematical toolbox of MATLAB (an additional package), MuPAD and Yacas are computer algebra systems, the mathematical part of MATLAB itself is a numerical software.)
The author successfully established CA as a learning aid during lectures. If scientific software is made intelligible and accessible, the author’s experience has shown that also non-specialists readily integrate such programs into their work.
I would like to thank the IT Service Centre of the HTWG Konstanz for implementing CATO from the beginning as a program and for making it available in the IT-room every semester.
References and Notes
- Kajler, N. CAS/PI: a portable and extensible interface for computer algebra systems. International Conference on Symbolic and Algebraic Computation, 1992, pp. 376-386,. ACM New York, NY, USA.
- Kajler, N. Building a computer algebra environment by composition of collaborative tools. Lecture notes in computer science, 1993, pp. 85-85.
- Kajler, N. User interfaces for symbolic computation: a case study. Proceedings of the 6th annual ACM symposium on User interface software and technology, 1993, pp 1-10. ACM New York, NY, USA.
- Kajler, N. Computer-human interaction in symbolic computation, 1998, Springer.
- Kajler, N. and Soiffer, N. A survey of user interfaces for computer algebra systems. Journal of Symbolic Computation, 1998. Vol. 25, p. 127-159.
- Janetzko, H.-D. Die Hilfe zu CATO, (revised regularly), available: http://www.computeralgebra.biz
- Janetzko, H.-D. CATO - die universelle Computeralgebraoberfläche, Beiträge zum 7. Tag der Lehre, Hochschule Biberach, 2007; pp. 118-121, Publisher.: Studien-kommission für Hochschuldidaktik an Fachhochschulen in Baden-Württemberg.
- Janetzko, H.-D. CATO - Eine deutschsprachige CA-Oberfläche. ÖMG - DMV Congress 2013, Innsbruck, 23.-27.09.2013, p. 166.
- Janetzko, H.-D. CATO - beiläufiger, selbsterklärender Einsatz von Computeralgebra in Mathematikvorlesungen für Ingenieure. 48. Jahrestagung der Gesellschaft für Didaktik der Mathematik, Koblenz Landau, 10.-14.03.2014, Beiträge zum Mathematikunterricht 2014, pp 567-570.
- Janetzko, H.-D. CATO - ein einfacher Zugriff auf CA-Systeme, unter anderem die math. Toolbox von MATLAB. MNU-Bundeskongress 2014, Kassel, 10.-14.04.2014, pp 55