|
Mathematics at National University of Ireland, Galway
Benefits and Advantages of an Integrated
Mathematics and Computer Science Degree.
T.C. Hurley
Department of Mathematics,
University College Galway,
Galway
Introduction
Computer 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.
Difficulties
In 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:
-
Computer programs are Mathematical expressions
-
A programming language is a Mathematical theory
-
Programming is a Mathematical activity.
Computer Science is dominated by the "life-cycle" which obscures the Mathematical
dependency. It should be generating new formalism, modeling with formalism,
constructing proofs and algorithms. It is stated that software engineers
do not construct theories but apply methods, thus arguing that it
is a closed problem and that computer systems now carry out mechanical
methods. However the methods come out of a theoretical understanding. Everything
in software engineering is seen in terms of the final product and the theoretical
context is overlooked.
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:
-
Formal methods
-
Modern logics
-
Parallel processing
-
Modeling, forecasting
-
Complexity
-
Computability
-
Encryption and coding
-
Statistics and probability (Networking is a probabilistic entity).
-
Neural networks
Benefits and advantages
It 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):
-
Volatile and exciting area.
-
Focused programme.
-
It still embodies essence of Mathematics when carefully thought
out.
-
Facilitates development of PSQs (personal skills and qualities) through
group and individual projects.
-
Vocational.
-
Accessibility to potentially good students.
-
Prepares potential school teachers in both Computer Science and in Mathematics.
-
It is a laboratory based programme and can lead to better funding.
-
Modern applicable area.
-
Employment prospects for students are greatly increased.
-
Accessibility to funding agencies and politicians.
-
It leads to active applications and involvement by the student who is encouraged
to build his/her own system with great satisfaction.
-
The emphasis is on abstraction and proof.
-
It is not the "death of proof" but a deeper understanding of what "proof"
is will ensue from experiment.
-
Students can see harder continuous Mathematics in a new light.
-
There is less emphasis on graduates as technicians and more emphasis on
Science.
-
The image of Mathematics and of Computer Science is enormously improved.
Employers' perspective
Where 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:
-
Engineering houses, Computer Manufacturers, Research Laboratories, Scientific
users (such as the Meteorological Office)
-
Software Houses
-
Commercial users. These could be subclassified as:
-
Utilities
-
Manufacturers
-
Finance institutions
-
Retail outlets
These are listed in order of acceptability of the Mathematical tradition.
The ones within the Commerical users in fact have traditionally employed
many non-graduates in their computing areas.
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 Technology
One 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.
-
Software Engineering or Knowledge-based Information systems
-
AI (Artificial Intelligence)
-
VLSI (Very Large Scale Integration)
-
Communications
-
Human Interface
Of these only one, the Human Interface does not require a substantial Mathematical
background - perhaps. Where does Mathematics come into these areas? Pat
Fitzpatrick again has some of the answers. Algorithm design is fundamental
for VLSI, logic design and LISP for AI and Coding theory, cryptography
and digital signalling are all areas of importance in Communications.
The importance of Mathematical ideas to Software Engineering has already
been dealt with. Even within the Human Interface, the ideas behind security
and authentication are now increasingly important.
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."
Syllabus
There 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.
Conclusion
The 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!
Note 1
See the article by Joel Franklin on "Mathematical Methods of Economics"
in American Math. Monthly, 90(4)(1983), 229-244. Among other things in
this article it is pointed out that seven of the previous twelve Nobel
prizes in Economics "involved work that is heavily Mathematical".
Note 2
Interestingly, the career booklet for Mathematical graduates contains Computer
Science as a subsection.
Note 3
Statistics on graduate careers only give destination for the year after
first graduation.
Note 4
Computer Algebra is also often referred to as Symbolic Manipulation
Note 5
AXIOM is a package which has great potential, especially when you need
to build your own abstract system, but is not available for many machines
yet, is expensive and difficult to use.
This document is also available in LaTeX
format.
Back to top.
|