During the Second World War some of the earliest computers were used for symbolic operations on coded messages in order to 'crack the codes' using sophisticated mathematical techniques. What is less widely appreciated is that the basic theories of computer architecture and programming language design are very closely related to mathematical logic and other very 'pure' parts of mathematics. Indeed, one of the founders of computer science, Alan Turing, who worked on the code-cracking problems, was also one of the major mathematical logicians of this century, pioneering mathematical studies of the very nature of computation and what can and cannot be done, in principle, using computation. Today, many more links between mathematics and computer science have developed. Mathematicians use computers as tools to help not only with arithmetic computation but also with algebraic analysis and even theorem proving.
Computer scientists make use of a wide range of mathematics from logic and algebra to statistics.
Without sophisticated mathematical techniques, for example, there is no hope of checking whether programs do what they are supposed to do or of estimating the amount of memory or time they need for their tasks. In your first year you study calculus and algebra, with a choice between probability and dynamical systems. Half the computer science programme takes place in Software Workshops covering design and programming skills. There are other modules on computer science, algorithms and data structures, and logic. You develop your mathematical skills in the second year, augmenting them with discrete and management mathematics.