Mathematics

The most spectacularly successful science is physics. As a result, physics envy is a common phenomenon among nonphysicists who aspire to Science. The use of mathematics is a conspicuous contributor to the success of the physicists. Hence phenomena such as "mathematical psychology" and the mathematical kind of economics criticized by D. McCloskey in "The Rhetoric of Economics" (University of Wisconsin Press, 1985). Computists aspire to Science no less than psychologists do. As there was a large proportion of physicists and even mathematicians among the founders of computing as a science, the attainment of mathematical respectability was less strained than it was in, say, psychology. This is puzzling, as there seems to be no more need for mathematics in computer science than there is in psychology. After all, the mathematically most demanding part of computer science, the analysis of algorithms, is not richer in mathematics than statistics, which plays the corresponding role in psychology.

Thus computing is not more mathematical than other subjects when it comes to sophisticated quantitative analyses. But there is a sense in which computing is more mathematical: the need to find semantics for programming languages. This has motivated sophisticated mathematical techniques such as those used in finding models for the lambda calculus. It is interesting to note that these techniques are not only sophisticated in comparison with mathematical psychology, but also in comparison with mathematical physics. Let me hasten to add that this is nothing to be proud of: mathematical sophistication is a cost; the benefits lie in the results, if any. So far I have only justified mathematics as a tool to achieve a specific goal: to find the complexity of an algorithm, or to clarify the meaning of programming language constructs. I believe that in computer science mathematics has a less specific, but not less important role: to help a certain kind of bold abstract leaps in thought that only seem to occur in pure mathematics and that are necessary for success in programming language design and even in the design of solutions to computer application problems. It would be a pity if the production of yet more mathematics were considered the only worthy application of mathematical thinking.

To be paradoxical, I believe that computer science has an application for pure mathematics itself. This is to be distinguished from, say, matrices arising in pure mathematics and then physicists finding a use for them. No, I mean an application of pure mathematics as pure mathematics. Such application is a rather vague process: learn some, forget it, and later get a brain wave in finding a neat solution that you would not have gotten without having absorbed, and "forgotten", the pure mathematics. I believe that serious students of computing, such as graduate students, should take time out for a course in mathematics with this as motivation.

One reason why mathematics is so hard for most of us is that we had the most dismal start in life as far as that is concerned. In grade school we got a travesty of mathematics (school arithmetic) instead of the real thing. The myth persists that one gets to the real thing only in university, and then only after calculus and linear algebra. In fact, mathematics is more accessible via such topics as map-colouring, knots, sorting networks, graphs, ... This has been demonstrated delightfully by Nancy Casey and Mike Fellows in their Megamathematics.