Informatics: The Role of Mathematics
Peter Taylor
Australian Mathematics Trust
Introduction: What is Informatics?
The word "informatics" is often used in Europe but not generally in Australia. In fact the word fails my spelling checker. I would like to define it as scientific computer programming. By this I exclude programming to process data bases, and refer to programming to help computers perform new tasks, which give the possibility of developing our technology.
In 1998 the Australian Mathematics Trust has decided to conduct a competition among secondary students in computer programming. This has been instigated by a number of circumstances.
One was the need to enter an Australian team in the International Olympiad in Informatics (IOI). This event, which started in 1989 in Bulgaria, is now very large, with over 60 countries taking part (not including Australia). It is the showcase for the best young computer programmers in the world.
Because there is no appropriate competition in Australia, and because of the relationship between mathematics and informatics, the Australian Mathematics Trust has taken the initiative in holding an inaugural Australian Informatics Competition in September 1998. The Trust will also take on the responsibility of training the best students to participate in the IOI in 1999.
Because this is the first time, it has raised for the Trust a number of interesting issues. These questions become more interesting when realised that the teaching of informatics in Australian schools is minimal and not nationally coordinated. It is not even clear as to which departments (in schools) normally would have the responsibility for informatics. Most schools have a computing department but these departments do not usually teach programming.
Yet informatics is a subject which is central to the development of a modern society, and there are many jobs for graduates. It is closely related to mathematics. It is surprising then that most teaching of mathematics in schools, by this I am referring to mathematics which leads on to tertiary study, prepares the student with the typical topics in calculus and algebra which prepare the student for traditional courses in science, engineering and technology.
Arguably, and as described below, there are many mathematical topics which could be taught in the schools and which may be relevant in preparing the student for a career involving programming.
Also, there are many students in Australia who have unique talents and skills (sometimes self-taught) in informatics. These students rise to a different level when challenged to program a computer to perform new tasks. Sometimes these students are not stimulated by other parts of the syllabus. But there is a close relationship between mathematics and informatics, which I will try to demonstrate below.
The Australian Informatics Competition
This competition will aim to highlight the importance of informatics in our society and give talented students (substantially self-taught at this stage) the opportunity to achieve in a formal context.
It will comprise three tasks which are to be completed in a 4-hour period, using either BASIC, PASCAL or C++. The organisers in Australia will be equipped to test programs written on any of a number of versions of the languages specified (although in international competitions the organisers will generally specify certain compilers).
Students will generally have to write their programs to handle a wide range of input data. There final codes should be emailed to a central marking facility, where members of the jury will test programs for functionality and speed against a set of standard test data which they have designed. Marking is therefore generally performed automatically, and hence objectively, by a marking program together with test data.
The top students will receive invitations to attend a training camp, where formal teaching will take place and further assessment will lead to the selection of an Australian team.
Teaching of Informatics in Australian Schools
There is no national program for teaching Informatics in Australian Schools. Some instruction takes place, especially in some states. For example I have become aware of some programs in certain Melbourne schools.
There is of course now a national policy for the teaching of some established subjects like mathematics in Australian schools. As a mathematician myself, with considerable experience teaching in an Engineering Faculty, I can not claim that any of the national curriculum is expendible. I do think that there can be some over-emphasis on the teaching of Calculus, but principally when this teaching leads to mechanical knowledge of Calculus rather than an understanding of how Calculus works.
There have been many changes in the mathematics syllabus in the last two decades. Many academics will argue that these changes have been to the detriment of study for advanced courses in Universities. So there is already pressure on the syllabus in mathematics as taught already.
But I can argue that there are extremely useful mathematical topics which don't get considered because the syllabus is still really trying to meet the needs of scientists and engineers (in the advanced strands).
Clearly the teaching of pure programming is separate from this, and many academics in computing are content to have the first access to the student in teaching what they perceive to be good habits from the beginning (with respect to programming, at least).
There are, however, branches of mathematics, some of which are quite theoretical and conceptually difficult, which can be taught in the schools. The following is a discussion of some topics in mathematics which will have benefit in developing skills in informatics (without attempting to be complete). Some of the topics referred to below are inter-related. It is also intersting to note the low dependence on calculus or continuous mathematics in the list.
Iteration
Any good computer programmer will need to deal with loops and be able to use iteration. Features which need to be included are the condition to be satisfied at the beginning (or end) of each loop and the counting of loops. Classically these skills are needed in numerical analysis, e.g when solving equations, but the principle has wide application.
Algorithms
This is a very important subject. There are many standard types of algorithm or sub-algorithm, such as the various types of sorting algorithm. A good programmer needs to be able to convert a process into an algorithm before coding, but the very good programmer will find it invaluable to have a very abstract knowledge of algorithms and the theory of algorithms.
Discrete Mathematics
This is a rich mathematical subject with many branches. Often dismissed by research mathematicians a trivial branch of mathematics, this is indeed anything but trivial, with many problems easily explained but still unsolved.
Discrete Mathematics (and counting mathematics) is a popular branch of mathematics for competitions, as many problems in this area can be set without the student needing much formal knowledge. Indeed, intuition and systematic thought processes can very effectively be examined with these problems. However Discrete Mathematics is capable of becoming just as abstract as algebra and analysis.
There are many branches of discrete mathematics. The most obvious and one which is often taught in schools is permutations and combinatorics. Another useful one is graph theory, potentially of value in informatics as it is the theory of networks.
Dynamical Systems
There are systems where situations can be modelled, and where iteration can be used.
Geometry
It may seem as a surprise, but certainly classical geometrical "construction problems" can be among the most effective tools in cultivating algoriithmic thinking. These can be used developing the concept of proving existence and finding the method, at a more abstract level.
Operations Research
There are a number of branches of operations research which have application in informatics. Usually linear programming is one of the earliest topics discussed in an operations research course. However there are many other branches of operations research which may be of application to informatics. These include queuing theory, dynamic programming and random simulation.
Numerical Analysis
There are branches of Numerical Analysis also which can help develop a student's skills in informatics.
Summary
Whereas the term "informatics" is not very common in Australia it is one of the fundamental sciences in an emerging technological society.
A country such as Australia should have a national policy on which topics should be taught, where they are taught (as a subject in its own right or part of another, at what years various topics can be taught, etc). Considerable thought needs to be given as to how the subject relates to mathematics at one end of the spectrum and to computing at the other.
It may be that like biology there is simply not enough class time available to teach it. But whatever the case we need to have gone through the issues of having thought about it and being able to articulate why informatics cannot be taught, if in fact it cannot be.
Acknowledgement
I wish to acknowledge the advice of my colleague Academician Petar Kenderov of the Bulgarian Academy of Sciences' Institute of Mathematics and Informatics for certain advice which I found useful in writing this paper. I did note above that the Bulgarians can be regarded as the founders of the IOI, having hosted the first IOI in 1989 at Pravets.
References
The following are two contemporary American publications on the teaching of algorithms in schools. More references obviously exist on specific syllabus issues.
- Morrow, Lorna J and Kenney, Margaret J, The Teaching and Learning of Algorithms in School Mathematics, National Council of Teachers of Mathematics 1998 Yearbook, NCTM 1998.
- Ross, Kenneth A., Doing and Proving: The Place of Algorithms and Proofs in School Mathematics, The American Mathematical Monthly, 105, 3, pp252-255, March 1998.
Peter Taylor
Canberra
October 1998
|