Mathematics underpins all the sciences, and Computer Science is no exception. Mathematics and Computer Science have a long history of feeding off of each other, from the early work of Babbage in the 19th Century, through to Turing in the mid 20th Century through to today. In today's world the combined use of mathematical techniques and computation underpins much of today's society. For example in analysing large corporate databases to understand consumer behaviour or in performing credit scoring one needs advanced statistical tools plus advanced computational tools. As another example, transactions on the Internet are secured with protocols which are based on areas of pure mathematics which a few decades ago were considered purely of academic interest. The design of cars, aircraft or the prediction of complex systems such as the weather requires a significant modelling aspect which is now done with computer simulations which encode complex mathematical formulae. Even the realistic presentation of movement in a computer game is made possible by the merging of mathematical models and computer simulation.

This programme is intended for students who wish to study both Computer Science and Mathematics, and is particularly suited for those who wish to study both subjects further and examine the interplay between the disciplines.

Two thirds of the material is Mathematics and one third is Computer Science. This pattern is reversed in the second year.

The Computer Science units build a general awareness of computers and of the subject of Computer Science, and introduce you to the basic principles of Software Engineering. Emphasis is placed upon the value of good design and its contribution to the software life-cycle. You will learn three programming languages, a procedural, an object oriented and a declarative language. These are currently C, Java and Haskell. These languages cover all major programming paradigms, and learning them will enable you to learn other languages with relatively little effort. The five mathematics units lay foundations for the rest of the mathematics curriculum. The topics include calculus, analysis, computational mathematics, linear algebra, number theory and group theory, set theory, and sequences and series.

As well as the compulsory units, you should choose one of the two Computer Science options, and 40 credits of Mathematics options.

For **GG14**, you must take a 40 credit point project in either Mathematics
or Computer Science. In addition, you
must take 40 credit points of Computer Science options
and 40 credit points of Mathematics options.

For **GG1K**, you must take a 20 credit point project in either Mathematics
or Computer Science (bearing in mind that you will take a 40 credit point
project in the opposite department next year). You must then take options
which lead to a total of 60 credits from each department.

It may be possible to take other units (e.g. Engineering Maths or Electronics units) which can be counted as Maths or Compouter Science, with the permission of the programme director. Note that if you take any M-level units, there is a higher pass mark. On GG1K, doing this may give you more flexibility next year.

You must take a 40 credit point project either in Mathematics or in Computer Science. This needs to be chosen so that over the third and fourth years you have taken one project in Mathematics and one project in Computer Science.

You also need to take 40 credit points of Mathematics units and 40 credit points of Computer science units.

It may be possible to take other M-level units (e.g. Engineering Maths or Electronics units) which can be counted as Maths or Computer Science, with the permission of the programme director. (It is possible to take non-M-level units, but only if you took enough M-level units in year 3 to make up 120 credits of M-level units overall.)