Department of Mathematics,
University College Galway,
IntroductionComputer Science grew out of Mathematics - it is surely enough to mention Babbage, Boole, Hilbert, Von Neumann, Turing. On the other hand it is clear that Mathematics grew out of Computation. The two areas are intimately related. Strenuous efforts have been made ever since computers were invented to separate Mathematics and Computer Science. Modern techniques in both areas serve only as a reminder of how much each can be dependent on the other.
DifficultiesIn schools, Mathematics is thought of as a "closed" subject whereas Computer Science is thought of as a "technical" subject. Thus many creative individuals are turned off Mathematics and Computer Science at an early stage. A pure Computer Science degree is now considered in some quarters to be a purely technical training and not a proper education for a Scientist or an Engineer. One major employer is quoted as saying "I only hire Mathematicians and Engineers - Computer Science graduates do not know how to solve problems".
Engineering and Physical Science degree programmes insist on a reasonable Mathematical background. This is not true for Computer Science programmes and the graduate here needs this type of background even more than an Engineer - consider, as an example, the situation where many Computer Science graduates are thrown into work which involves Field Theory.
"Programming" has been replaced by "Software Engineering" with some emphasis on the "engineering" aspect. Software engineers need a broad Mathematical Education. Computer Science graduates have no Mathematical equipment in which to analyze what they are trying to do.
Hoare, a well-known Computer Scientist, in his inaugural address made the following assertions:
There are great difficulties in attracting students to Mathematics degrees, especially from those who come into Arts or Science degree programmes with no specific subject in mind ("undenominated" programmes). We have to compete with other subjects which are perceived to be more vocational, are also perceived as easier options and haven't the high fallout rate that honours Mathematics has.
Students of Mathematics lack motivation, have inadequate preparation and this contributes to their subsequent subject choices.
On the other hand it is recognized that Mathematicians, when they do solve problems, are unable to communicate their solution to others.
An integrated Mathematics and Computer Science degree will go some way to rectifying many of these problems.
Common interests?What areas ought Mathematicians be interested in? In the software development process, validation and verification are now extremely important. "Get the right system and get the system right." The ideas of modeling and proof are emphasized again and again.
To quote a person working in the industry: "In the software engineering process, the use of Mathematical ideas requires more resources at the initial stages but the total resources are less and an enhanced product ensues."
To be more specific, the following Mathematical ideas should play an important part in the education of a software engineer:
Benefits and advantagesIt is nice to make a list so here goes! (Thanks to many articles and talks from which these have been taken.)
Benefits of an integrated degree(not necessarily in order):
Employers' perspectiveWhere is Mathematics needed in industry? Do employers recognize that Mathematics is needed? Again we might ask: "Do employers and colleagues within industry support Mathematical activity?". These are difficult questions and the answers are of course dependent on the industry in question. The level of Mathematical activity in different industries varies enormously. If we look at the worldwide context then we see that the industries using Computer Science may be roughly bracketed as follows:
Those concerned with rigorous development also include the military and data-security teams within commerce and finance.
These classifications are on an International basis and Ireland has its own particular problems as a small open economy, with manufacturing but little research and development. Our employers also have the narrow view that graduates should be trained for a specific job but overlook how things are changing rapidly and that a well-trained mind with the ability to think and solve problems as and when they arise is what is needed.
Where do the graduates go?There are now figures available from different countries as to where Mathematics graduates get employment. The figures for Ireland cannot compare as we have so few honours Mathematics graduates in comparison to other countries - e.g. the UK has the order of 4000 Mathematics graduates each year, which, pro rata, would amount to about 350 graduates for Ireland. We are nowhere near this number. % and in 1991, 71% (honours) Mathematics graduates were listed in HEA figures.
The British Sunday Times on 8/8/91 reports "Britain faces an acute shortage of Mathematicians". If this is so, where does this leave us? Many of our good Mathematics students go into Engineering and the school culture is such that those good at Mathematics are encouraged to apply there. Would those good at English be encouraged to do a degree in, say, Accountancy?
Mathematics is not looked on as a career in itself and nowadays additionally some of the best Mathematicians are attracted into Business and Commerce. If they are good at Mathematics and must pursue a career in business, why isn't it pointed out that a degree in Mathematics and Economics is a much better preparation?(1)
In the UK, 26% of Mathematics graduates(2) go into the Computer Industry and 52% into Finance. Of the Mathematics graduates in Ireland that did not go on to further study, 82% (1991 figures) went into financial work and computing. (3) Graduates with an integrated degree would be much better prepared for careers in these areas.
Information TechnologyOne of the buzz-words at the moment is Information Technology (IT). I, and I'm sure many others, are confused at what exactly IT is. It can mean different things to different persons, depending on whether you are a Scientist, Engineer, Business person, Sociologist, Industrialist, Philosopher or Psychologist. The EU (previously called the EEC and then the EC) has classified IT under five headings. I am grateful to Pat Fitzpatrick for this information.
Computer Algebra Systems(4)It is my opinion that it is inconceivable that a graduate in Mathematics, and I would argue now a graduate in Computer Science, would nowadays not have had experience of Computer Algebra systems. It is like saying that a Chemistry graduate never did any laboratory work! A graduate in many years time will continue to use Mathematics if he/she realizes that some of the hard calculations and theoretical background, which she/he has probably forgotten, can be done by machine.
Computer Algebra systems are likely to become as useful to Scientists and Engineers as word-processors and databases have become to all.
Cohen remarks: "A mediocre Mathematician with a computer might be able to simulate the creative powers of a top notch Mathematician with pen and paper". How much more could a top-notch Mathematician produce?
Packages like MAPLE, MATHEMATICA, REDUCE, CAYLEY (to be replaced by MAGMA soon), GAP, AXIOM should be, in fact must be, integrated within our courses. From our experience it is much easier to integrate these within an integrated Mathematics and Computing degree, where an element of laboratory and experimental work already exists.
Generally speaking a package like MAPLE, REDUCE or MATHEMATICA would go well with Analysis-type courses or Applied/Mathematical Physics courses, and one of CAYLEY (soon to be MAGMA), GAP or maybe AXIOM (5) should be integrated within abstract Algebra courses such as Group Theory, Field Theory, Coding Theory or even Homological Algebra. Also MATRIX, for Linear Algebra and Linear Programming, is an excellent CAL (Computer Assisted Learning) package which goes down well with students. In addition, MACTUTOR, for the Apple Mac, is an excellent all-purpose CAL package.
Use of Computer Algebra does however tend to increase the workload on the instructor and many Mathematics Departments and Colleges are as yet unwilling to recognise this fact and indeed do not recognise the importance of considering Mathematics as a laboratory-based subject.
Leibnitz stated: "...it is unworthy of excellent men to lose many hours like slaves in the labour of calculation, which could safely be relegated to someone else if the machine were used."
SyllabusThere are various suggestions as to what should be included in a syllabus for a joint degree. Not all areas can be covered and choices must be made. What is important is that a good Scientific training in both Mathematics and Computer Science should be an essential part of any programme. Some might argue that a language and/or business skills and/or placement should be part of the programme but incorporating two major subjects does not leave much time for anything else, even within a four-year course. Projects in all years will develop PSQs.
There can be core courses and options to suit individual tastes. It is important to note however that this an integrated programme and that although some of the Mathematics and Computer Science courses are independent, the programme should be drawn up by reference to common areas of interest and dependency. It is not a matter of simply combining the subjects as in a traditional two-subject degrees.
To spell out a full syllabus would be pointless here but some suggestions on related areas that could be included are given below - fundamental courses are in addition to these.
Within Mathematics, the importance of Discrete Mathematics to Computer Science is fundamental and has now been recognized as such but this is only part of the picture. Discrete Mathematics should include algorithms, recursive function theory, Boolean algebra, logic and circuit design. Analysis courses are also an important element and must be compulsory in the early years. A good idea which works well at UCG is to have courses on Metric Spaces and Fractal Geometry. Other ideas to think about: Have a course in Number Theory and Cryptography; include Coding Theory with Field Theory, and semigroups and machines with a Group Theory course. Category theory: "Categories themselves are the models of an essentially algebraic theory and nearly all derived concepts are finitary and algorithmic in nature" (John Gray in Computational Category Theory). This is all good Mathematics.
Numerical Analysis cuts across both areas and could be included either within the Mathematics core or within the Computer Science core areas.
In Computer Science, courses on Programming, Operating Systems, Networking and Communications, Databases, Architecture, Modeling, Algorithms, Computability, Complexity, Graphics, Parallel Processing, Artificial Intelligence and logical aspects of Computing, would appear to be fundamental. Consideration should also be given to courses on Automated Reasoning and Neural Networks which would fit in well with the Mathematics. In general, the Computer Science element in a joint programme should be directed more to software considerations .
Everyone has their own favourite language but at the risk of upsetting some persons I would suggest that C and C++ are the most useful (and Mathematically oriented) languages now used in Science and Industry. This also fits in well with Operating Systems as many of these were originally written in C.
ConclusionThe programme suggested is what is needed and will train both Mathematicians and Computer Scientists for worthwhile careers. It will also satisfy the needs of Industry and the Commercial world.
Both subjects have much to learn from one another. The debate will continue!
This document is also available in LaTeX format.
Back to top.
Mathematics Department, Maths Physics Department, IT Department,