Home > Courses > Courses for 2017 > Undergraduate > Computer Science and Mathematics
More in this section Computer Science

Computer Science and Mathematics BSc

UCAS code GG41
Year of entry 2017
  View 2018 entry »
Course Length 3 years full time
Department Computer Science »
Mathematics »

 

Are you drawn to the practical power and potential of computing and the beauty and logic of the mathematics behind it?

Computing has always relied on mathematical models and algorithms but mathematics also relies heavily on computers for exploring concepts, modelling ideas, problem-solving and even generating proofs. Both mathematics and computer science inform almost every aspect of our modern lives and this three-year joint honours programme allows you to immerse yourself in both and combine abstract concepts and fascinating theories with hands-on practical experience.

Our progressive curriculum is delivered by inspiring mathematicians and computer scientists and informed by input from industry. You will gain a solid grounding in all the fundamentals of pure and applied mathematics, whilst learning about computer programming, software engineering, algorithms and complexity. In computer science our focus is on contemporary technologies such as Web 2.0 and distributed and embedded systems. You will have the chance to experiment in well-equipped laboratories with cutting-edge technologies that are transforming the way we live and work. You will also gain transferrable skills such as project management, time management, team working, data handling, research and presentation. The programme's modular structure means you can tailor your studies to your own interests, whilst maintaining an equal split between the two disciplines.

Our Mathematics and Computer Science departments are highly respected for the quality of their research and teaching. They offer friendly and supportive learning environments with excellent facilities. We are one of only seven computer science departments in the UK to hold the Athena SWAN bronze award for increasing female participation in computer science. We offer short-term summer work placements and a dedicated personal adviser to guide you through your studies. You will also be welcome to join our thriving Computing Society.

  • Enjoy a varied and flexible curriculum with an equal split between mathematics and computer science.
  • Learn from inspirational computer scientists and mathematicians. We are ranked second in the UK for the quality of our mathematics research and 11th for computer science (Research Exercise Framework 2014).
  • Feel at home in friendly departments where there is a strong focus on small group teaching and you will be known as an individual.
  • Both departments rank highly for student satisfaction.

Core modules

Year 1

Computer Science: Object Oriented Programming 1

In this module you will develop an understanding of programming and object-orientation concepts. You will learn about program basics, control flow, data structures, objects, exceptions, and file input and output. You will consider how to solve basic programming tasks and examine the need for program documentation, testing, readability and modifiability.

Computer Science: Object Oriented Programming 2

 

Mathematics: Calculus

In this module, you will develop an understanding of the key concepts in Calculus, including differentiation and integration. You will learn how to factorise polynomials and separate rational functions into partial fractions, differentiate commonly occurring functions, and find definite and indefinite integrals of a variety of functions using substitution or integration by parts. You will also examine how to recognise the standard forms of first-order differential equations, and reduce other equations to these forms and solve them.

Mathematics: Functions of Several Variables

In this module you will develop an understanding of the calculus functions of more than one variable and how it may be used in areas such as geometry and optimisation. You learn how to manipulate partial derivatives, construct and manipulate line integrals, represent curves and surfaces in higher dimensions, calculate areas under a curve and volumes between surfaces, and evaluate double integrals, including the use of change of order of integration and change of coordinates.

Mathematics: Number Systems

In this module you will develop an understanding of the fundamental algebraic structures, including familiar integers and polynomial rings. You will learn how to apply Euclid's algorithm to find the greatest comon divisor of two integers, and use mathematical induction to prove simple results. You will examine the use of arithmetic operations on complex numbers, extract roots of complex numbers, prove De Morgan's laws, and determine whether a given mapping is bijective.

Mathematics: Matrix Algebra

In this module you will develop an understanding of basic linear algebra, in particular the use of matrices and vectors. You will look at the basic theoretical and computational techniques of matrix theory, examining the power of vector methods and how they may be used to describe three-dimensional space. You will consider the notions of field, vector space and subspace, and learn how to calculate the determinant of an n x n matrix.

Year 2

Computer Science: Algorithms and Complexity

 

Computer Science: Software Engineering

 

Computer Science: Team Project

 

Mathematics: Graphs and Optimisation

In this module you will develop an understanding of the basic concepts of graph theory and linear programming. You will consider how railroad networks, electrical networks, social networks, and the web can be modelled by graphs, and look at basic examples of graph classes such as paths, cycles and trees. You will examine the flows in networks and how these are related to linear programming, solving problems using the simplex algorithm and the strong duality theorem.

Mathematics: Linear Algebra and Group Project

In this module you will develop an understanding of vectors and matrices within the context of vector spaces, with a focus on deriving and using various decompositions of matrices, including eigenvalue decompositions and the so-called normal forms. You will learn how these abstract notions can be used to solve problems encountered in other fields of science and mathematics, such as optimisation theory. Working in small groups, you will put together different aspects of mathematics in a project on a topic of your choosing, disseminating your findings in writing and giving an oral presentation to your peers.

Year 3

Computer Science: Individual Project

 

Optional modules

In addition to these mandatory course units there are a number of optional course units available during your degree studies. The following is a selection of optional course units that are likely to be available. Please note that although the College will keep changes to a minimum, new units may be offered or existing units may be withdrawn, for example, in response to a change in staff. Applicants will be informed if any significant changes need to be made.

Year 1

Computer Science: Internet Services

In this module you will develop an understanding of how the internet works and its key protocols. You will look at the technologies used for web development, including scripting languages and their potential for adding dynamic content to web sites and applications. You will consider the role of web services and related technologies, and will examine the fundamental principles of network security.

Computer Science: Software Design

In this module you will develop an understanding of software design and engineering processes, including the Waterfall and Agile methodologies. You will learn how to identify common software requirements and see how these have been considered in existing systems. You will look the techniques of software design and how software engineers communicate their design ideas. You will consider the importance of documentation and the usage of current industry-standard notations such as user stories and the unified modeling language (UML). You will also analyse and critique the design of existing sotware looking at the user experience as a measure of its fitness for purpose.

Computer Science: Mathematical Structures

In this module you will develop an understanding of the formal resoning for sets, relations, functions and cardinality. You will look at the structures for program data and representation and learn to write and reason recursive definitions and prove results by induction and contradiction. You will consider the representation and reasoning of problems using graphs and the use of vectors and transformations for defining and manipulating graphical objects. You will also examine the usage of probability and statistics in analysing data.

Computer Science: Machine Fundamentals

In this module you will develop an understanding of the handling of large and infinite objects within a programming environment. You will learn how to use formal logic to design, reason about and minimise switching circuits, and write basic programs in assembly language. You will consider the binary representations of signed and unsigned integers and how to write regular expressions to describe sets and build deterministic automata to recognise these. You will also examine the use of automata machines in the design and reasoning of sequential flow systems.

Year 2

Computer Science: Introduction to Artificial Intelligence

 

Computer Science: Human-Computer Interaction

 

Computer Science: Databases

 

Computer Science: Introduction to Information Security

 

Computer Science: Operating Systems

 

Mathematics: Vector Analysis and Fluids

In this module you will develop an understanding of the concepts of scalar and vector fields. You examine how vector calculus is used to define general coordinate systems and in differential geometry. You will learn how to solve simple partial differential equations by separating variables, and become familiar with how these concepts can be appield in the field of dynamics of inviscid fluids.

Mathematics: Statistical Methods

In this module you will develop an understanding of statistical modelling, becoming familiar with the theory and the application of linear models. You will learn how to use the classic simple linear regression model and its generalisations for modelling dependence between variables. You will examine how to apply non-parameric methods, such as the Wilxocon and Kolmogorov-Smirnov goodness-of-fit tests, and learn to use the Minitab statistical software package.

Mathematics: Probability

In this module you will develop an understanding of the basic principles of the mathematical theory of probability. You will use the fundamental laws of probability to solve a range of problems, and prove simple theorems involving discrete and continuous random variables. You will learn how to forumulate an explain fundamental limit theorems, such as the weak law of large numbers and the central limit theorem.

Mathematics: Ordinary Differential Equations and Fourier Analysis

In this module you will develop an understanding of the concepts arising when the boundary conditions of a differential equation involve two points. You will look at eingenvalues and eingenfunctions in trigonometric differenital equations, and determine the Fourier series for a periodic function. You will learn how to manipulate the Dirac delta-function and apply the Fourier transform. You will also examine how to solve differential equations where the coefficients are variable.

Mathematics: Rings and Factorisation

In this module you will develop an understanding of ring theory and how this area of algebra can be used to address the problem of factorising integers into primes. You will look at how these ideas can be extended to develop notions of 'prime factorisation' for other mathematical objects, such as polynomials. You will investigate the structure of explicit rings and learn how to recognise and construct ring homomorphisms and quotients. You will examine the Gaussian integers as an example of a Euclidean ring, Kronecker's theorem on field extensions, and the Chinese Remainder Theorem.

Mathematics: Groups and Group Actions

In this module you will develop an understanding of the algebraic structures known as groups. You will look at how groups represent symmetries in the world around us, examining examples that arise from the theory of matrices and permutations. You will see how groups are ubiquitous and used in many different fields of human study, including mathematics, physics, the study of crystals and atoms, public key cryptography, and music theory. You also will also consider how various counting problems concerning discrete patterns can be solved by means of group actions.

Mathematics: Further Linear Alegbra and Modules

In this module you will develop an understanding of the language and concepts of linear algebra that are used within Mathematics. You will look at topics in linear algebra and the theory of modules, which can be seen as generalisations of vector spaces. You will learn how to use alternative matrix representations, such as the Jordan canonical or the rational canonical form, and see why they are important in mathematics.

Mathematics: Real Analysis

In this module you will develop an understanding of the convergence of series. You will look at the Weierstrass definition of a limit and use standard tests to investigate the convergence of commonly occuring series. You will consider the power series of standard functions, and analyse the Intermediate Value and Mean Value Theorems. You will also examine the properties of the Riemann integral.

Year 3

Computer Science: Concurrent and Parallel Programming

 

Computer Science: Bioinformatics

 

Mathematics: Mathematics Project

In this module you will carry out a detailed investigation on a topic of your choosing, guided by an academic supervisor. You will prepare a written report around 7,000 words in length, and give a ten-minute presentation outlining your findings.

Mathematics: Mathematics in the Classroom

In this module you will develop an understanding of a range of methods for teaching children up to A-level standard. You will act act as a role model for pupils, devising appropriate ways to convey the principles and concepts of mathematics. You will spend one session a week in a local school, taking responsibility for preparing lesson plans, putting together relevant learning aids, and delivering some of the classes. You will work with a specific teacher, who will act as a trainer and mentor, gaining valuable transferable skills.

Mathematics: Number Theory

In this module you will develop an understanding of how prime numbers are the building blocks of the integers 0, ±1, ±2, … You will look at how simple equations using integers can be solved, and examine whether a number like 2017 should be written as a sum of two integer squares. You will also see how Number Theory can be used in other areas such as Cryptography, Computer Science and Field Theory.

Mathematics: Computational Number Theory

In this module you will develop an understanding of a range methods used for testing and proving primality, and for the factorisation of composite integers. You will look at the theory of binary quadratic forms, elliptic curves, and quadratic number fields, considering the principles behind state-of-the art factorisation methods. You will also look at how to analyse the complexity of fundamental number-theoretic algorithms.

Mathematics: Complexity Theory

In this module you will develop an understanding the different classes of computational complexity. You will look at computational hardness, learning how to deduce cryptographic properties of related algorithms and protocols. You will examine the concept of a Turing machine, and consider the millennium problems, including P vs NP, with a $1,000,000 prize on offer from the Clay Mathematics Institute if a correct solution can be found.

Mathematics: Priniciples of Algorithm Design

In this module you will develop an understanding of efficient algorithm design and its importance for handling large inputs. You will look at how computers have changed the world in the last few decades, and examine the mathematical concepts that have driven these changes. You will consider the theory of algorithm design, including dynamic programming, handling recurrences, worst-case analysis, and basic data structures such as arrays, stacks, balanced search trees, and hashing.

Mathematics: Quantum Theory 1

In this module you will develop an understanding of quantum theory, and the development of the field to explain the behaviour of particles at the atomic level. You will will look at the mathematical foundations of the theory, including the Schrodinger equation. You will examine how the theory is applied to one and three dimensional systems, including the hydrogen atom, and see how a probabilistic theory is required to interpret what is measured.

Mathematics: Dynamics of Real Fluids

In this module you will develop an understanding of how the theory of ideal fluids can be used to explain everyday phenomena in the world around us, such as how sound travels, how waves travel over the surface of a lake, and why golden syrup (or volcanic lava) flows differently from water. You will look at the essential features of compressible flow and consider basic vector analysis techniques.

Mathematics: Quantum Theory 2

In this module you will develop an understanding of how the Rayleigh-Ritz variational principle and perturbation theory can be used to obtain approximate solutions of the Schrödinger equation. You will look at the mathematical basis of the Period Table of Elements, considering spin and the Pauli exclusion principle. You will also examine the quantum theory of the interaction of electromagnetic radiation with matter.

Mathematics: Non-Linear Dynamical Systems - Routes to Chaos

In this module, you will develop an understanding of non-linear dynamical systems. You will investigate whether the behaviour of a non-linear system can be predicted from the corresponding linear system, and see how dynamical systems can be used to analyse mechanisms such as the spread of disease, the stability of the universe, and the evolution of economic systems. You will gain an insight into the 'secrets' of the non-linear world and the appearance of chaos, examining the significant developments achieved in this field during the final quarter of the 20th Century.

Mathematics: Inference

In this module you will develop an understanding of the main priciples and methods of statstics, in particular the theory of parametric estimation and hypotheses testing.You will learn how to formulate statistical problems in mathematical terms, looking at concepts such as Bayes estimators, the Neyman-Pearson framework, likelihood ratio tests, and decision theory.

Mathematics: Time Series Analysis

In this module you will develop an understanding of statistics by looking at the theory and methods used in time series analysis and forecasting. You will look at descriptive methods and theoretical techniques to analyse time series data from fields such as finance, economics, medicine, meteorology, and agriculture. You will learn to use the statistical computing package Minitab as a data analysis, calculation and graphical aid.

Mathematics: Applied Probability

In this module you will develop an understanding of the the probabilistic methods used to model systems with uncertain behaviour. You will look at the structure and concepts of discrete and continuous time Markov chains with countable stable space, and consider the methods of conditional expectation. You will learn how to generate functions, and construct a probability model for a variety of problems.

Mathematics: Channels

In this module you will develop an understanding of the mathematics of communication, focusing on digital communication as used across the internet and by mobile telephones. You looking at compression, considering how small a file, such as a photo or video, can be made, and therefore how the use of data can be minimised. You will examine error correction, seeing how communications may be correctly received even if something goes wrong during the transmission, such as intermittent wifi signal. You will also analyse the noiseless coding theorem, defining and using the concept of channel capacity.

Mathematics: Quantum Information and Coding

In this module you will develop an understanding of how the behaviour of quantum systems can be harnessed to perform information processing tasks that are otherwise difficult, or impossible, to carry out. You will look at basic phenomena such as quantum entanglement and the no-cloning principle, seeing how these can be used to perform, for example, quantum key distribution. You will also examine a number of basic quantum computing algorithms, observing how they outperform their classical counterparts when run on a quantum computer.

Mathematics: Mathematics of Financial Markets

In this module you will develop an understanding of how financial markets operate, with a focus on the ideas of risk and return and how they can be measured. You will look at the random behaviour of the stock market, Markowitz portfolio optimisation theory, the Capital Asset Pricing Model, the Binomial model, and the Black-Scholes formula for the pricing of options.

Mathematics: Advanced Financial Mathematics

In this module you will develop an understanding of the role of mathematics and statistics in securities markets. You will investigate the validity of various linear and non-linear time series occurring in finance, and apply stochastic calculus, including partial differential equations, for interest rate and credit analysis. You will also consider how spot rates and prices for Asian and barrier exotic options are modelled.

Mathematics: Combinatorics

In this module you will develop an understanding of some of the standard techniques and concepts of combinatorics, including methods of counting, generating functions, probabilistic methods, permutations, and Ramsey theory. You will see how algebra and probability can be used to count abstract mathematical objects, and how to calculate sets by includion an exclusion. You will examine the applications of number theory and consider the use of simple probabilistic tools for solving combinatorial problems.

Mathematics: Error Correcting Codes

In this module you will develop an understanding of how error correcting codes are used to store and transmit information in technologies such as DVDs, telecommunication networks and digital television. You will look at the methods of elementary enumeration, linear algebra and finite fields, and consider the main coding theory problem. You will see how error correcting codes can be used to reconstruct the original information even if it has been altered or degraded.

Mathematics: Cipher Systems

In this module you will develop an understanding of secure communication and how cryptography is used to achieve this. You will look at some of the historical cipher systems, considering what security means and the kinds of attacks an adversary might launch. You will examine the structure of stream ciphers and block ciphers, and the concept of public key cryptography, including details of the RSA and ElGamal cryptosystems. You will see how these techniques are used to achieve privacy and authentication, and assess the problems of key management and distribution.

Mathematics: Public Key Cryptography

In this module you will develop an understanding of public key cryptography and the mathematical ideas that underpin it, including discrete logarithms, lattices and elliptic curves. You will look at several important public key cyptosystems, including RSA, Rabin, ElGamal encryption and Schnorr signatures. You will consider notions of security and attack models relevant for modern theoretical cryptography, such as indistinguishability and adaptive chosen ciphertext attack.

Mathematics: Applications of Field Theory

In this module you will develop an understanding of Field Theory. You will learn how to express equations such as X2017=1 in a formal algebraic setting, how to classify finite fields, and how to determine the number of irreducible polynomials over a finitie field. You will also consider some applications of fields, including ruler and compass constructions and why it is impossible to generically trisect an angle using them.

Mathematics: Groups and Group Actions

In this module you will develop an understanding of the algebraic structures known as groups. You will look at how groups represent symmetries in the world around us, examining examples that arise from the theory of matrices and permutations. You will see how groups are ubiquitous and used in many different fields of human study, including mathematics, physics, the study of crystals and atoms, public key cryptography, and music theory. You also will also consider how various counting problems concerning discrete patterns can be solved by means of group actions.

Mathematics: Further Linear Alegbra and Modules

In this module you will develop an understanding of the language and concepts of linear algebra that are used within Mathematics. You will look at topics in linear algebra and the theory of modules, which can be seen as generalisations of vector spaces. You will learn how to use alternative matrix representations, such as the Jordan canonical or the rational canonical form, and see why they are important in mathematics.

Mathematics: Topology

In this module you will develop an understanding of geometric objects and their properties. You will look at objects that are preserved under continuous deformation, such as through stretching or twisting, and will examine knots and surfaces. You will see how colouring a knot can be used to determine whether or not it can be transformed into the unknot without any threading. You will also consider why topologists do not distinguish between a cup and a donut.

The programme has a flexible, modular structure and you will take a total of 12 course units at a rate of four, 30-credit modules per year. Most of our individual course units are worth 15 credits each. In addition to our compulsory courses in each discipline you will be free to choose between a range of optional modules.

We use a variety of teaching methods and there is a strong focus on small group teaching. You will mostly learn through lectures, small group tutorials, practical sessions and problem-solving classes, supervised computing laboratory work, group work and coursework. Our programming and software engineering teaching is very hands on, allowing you to learn at your own pace, whatever your previous level of experience. You will also be expected to complete private study and revision, worksheets, team work and independent project work outside of class time, with access to a wide range of resources including Moodle, the University’s comprehensive e-learning facility.

For lecture-based courses, assessment is usually by two or three-hour examination at the end of the year in which the course is taken. Many of our courses also involve an element of coursework, which might be examined through project reports, essays or oral presentations.

Typical offers

Typical offers
A-levels AAB-ABB 
Required/preferred subjects

Required subject:Mathematics at grade A

The offer given will take into consideration:
• Subjects taken at A-level
• The educational context in which academic achievements have been gained
• Whether the Extended Project Qualification is being taken.

Preferred A level subject: Further Mathematics, Physics, Computing
 At least five GCSE passes at grade A*-C including English and Mathematics. 

Other UK Qualifications
International Baccalaureate 6,5,5 at Higher Level including 6 in Maths, with a minimum of 32 points overall 
BTEC Extended Diploma Distinction, Distinction, Distinction, in a relevant subject (with significant programming content) plus A2 grade A in Maths 
BTEC National Diploma Distinction, Distinction plus an A2 grade A in Maths 
BTEC Subsidiary Diploma Distinction plus A2 grades A, B including Maths grade A 
Welsh Baccalaureate Requirements are as for A-levels where one non-subject-specified A-level can be replaced by the same grade in the Welsh Baccalaureate Advanced Level Core. 
Scottish Advanced Highers AB including A in Maths (only acceptable when combined with the required Scottish Higher grades as published) 
Scottish Highers AABBB (only acceptable when combined with the required Scottish Advanced Higher grades as published) 
Irish Leaving Certificate H2,H2,H3,H3,H3 including H3 in Maths 
Access to Higher Education Diploma Pass with at least 30 level 3 credits at Distinction and 15 level 3 credits at Merit 

Other UK qualifications

Please select your UK qualification from the drop-down list below



Please select a qualification

Please select a qualification



International and EU entry requirements

Please select your country from the drop-down list below

English language
requirements
IELTS 6.5 overall and a minimum of 5.5 in each subscore. For equivalences, see here

For more information about entry requirements for your country please visit our International pages. For international students who do not meet the direct entry requirements, we offer an International Foundation Year, run by Study Group at the Royal Holloway International Study Centre. Upon successful completion, students can progress on to selected undergraduate degree programmes at Royal Holloway, University of London.

By combining Computer Science and Mathematics you will equip yourself with an enviable skillset that is required by business and organisations in all sectors, right around the world. You will learn how to operate large and complex systems, solve technical problems, analyse data, and apply logic and critical reasoning. You will also gain transferrable skills such as project management, time management, team working, data handling, research and presentation skills. We work closely with partners in industry who advise us on our curriculum, to make sure it keeps abreast of the latest market needs and trends.

Our graduates are among the most employable in the UK and, in recent years they have entered a wide range of careers, from network systems design and engineering, web development and programming to business management, finance, accountancy, the civil service, research, teaching and engineering. They work for organisations as diverse as: Logica, British Telecom, British Aerospace, Microsoft, Amazon.com, American Express, Sky and Orbis Technology, KPMG, Ernst & Young, the Ministry of Defence, Barclays Bank, Lloyds Banking Group, the Department of Health, McLaren and TowersWatson. Find out more about what some of our mathematics graduates are doing here, and our computer science graduates, here.

We run jobs fairs and a short-term work placement scheme, and your personal adviser and the campus Careers team will be on hand to offer advice on career opportunities. We maintain strong links with our alumni, who can often provide advice, contacts and networking opportunities.

  • 90% of our mathematics graduates and 85% of our computer science graduates are in work or further study within six months of leaving (Unistats 2015).
  • Take advantage of the strong jobs market for computer scientists and mathematicians, with opportunities to make a difference in a wide range of sectors.
  • Our strong ties with industry mean we understand the latest market trends.
  • Take advantage of our summer work placement scheme and benefit from a personal adviser and careers advisers who will guide you through your options.

Home and EU students tuition fee per year 2017/18*: £9,250

International students tuition fee per year 2017/18**: £15,600

Other essential costs***: There are no single associated costs greater than £50 per item on this course

How do I pay for it? Find out more.

*Tuition fees for UK and EU nationals starting a degree in the academic year 2017/18 will be £9,250 for that year. This amount is subject to the UK Parliament approving a change to fee and loan regulations that has been proposed by the UK Government. In the future, should the proposed changes to fee and loan regulations allow it, Royal Holloway reserves the right to increase tuition fees for UK and EU nationals annually. If relevant UK legislation continues to permit it, Royal Holloway will maintain parity between the tuition fees charged to UK and EU students for the duration of their degree studies.

**Royal Holloway reserves the right to increase tuition fees for international fee paying students annually. Tuition fees are unlikely to rise more than 5 per cent each year. For further information on tuition fees please see Royal Holloway’s Terms & Conditions.

***These estimated costs relate to studying this particular degree programme at Royal Holloway. Costs, such as accommodation, food, books and other learning materials and printing etc., have not been included.

Back to course search results

 
 
 

Comment on this page

Did you find the information you were looking for? Is there a broken link or content that needs updating? Let us know so we can improve the page.

Note: If you need further information or have a question that cannot be satisfied by this page, please call our switchboard on +44 (0)1784 434455.

This window will close when you submit your comment.

Add Your Feedback
Close