Skip to main content

Computer Science and Mathematics

Computer Science and Mathematics

BSc
  • UCAS code GG41
  • Option 3 years full time
  • Year of entry 2021

The course

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 course 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 course'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.

Our flexible degree programmes enable you to apply to take a Placement Year, which can be spent studying abroad, working or carrying out voluntary work. You can even do all three if you want to (minimum of three months each)! To recognise the importance of this additional skills development and university experience, your Placement Year will be formally recognised on your degree certificate and will contribute to your overall result. Please note conditions may apply if your degree already includes an integrated year out, please contact the Careers & Employability Service for more information. Find out more

Core Modules

Year 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 the need for program documentation, testing, readability and modifiability.

  • 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.

  • 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.

  • 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 common 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.

  • 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
  • In this module you will develop an understanding of software engineering techniques and the managerial discipline required to work as part of a team. You will look at basic object-oriented concepts and consider the need for effective program documentation, testing, readability, and modifiability. You will consider the tools used to support software development, such as version controllers, debuggers, and code style checkers, and see how these are integrated into an industry-standard development environment (IDE). You will deliver a small-scale project using test-driven development.

  • In this module you will develop an understanding of the design of algorithms, with a focus on time and space complexity. You will examine basic algorithms, looking at the implementation and analysis of linear search, binary search, and basic sorting, including insertion sort, selection sort, merger sort, quick sort, and heap sort. You will consider alternative data structure representations, such as binary search trees, hash tables, and binary heaps, and will gain an insight into the basics of graph algorithms.

  • In this module you will develop an understanding of the role of the computer professional, gaining practical experience in developing medium scale software as part of a team using Scrum-based Agile development. You will apply managerial discipline and learn about the software lifecycle, team development, standard industrial software engineering, project management, use of version control, and integrated development environments (IDEs). You will see why project cost and effort is hard to estimate, and consider why project quality is hard to prescribe.

  • 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.

  • 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.

Year 3
  • All modules are optional

Optional Modules

There are a number of optional course modules available during your degree studies. The following is a selection of optional course modules that are likely to be available. Please note that although the College will keep changes to a minimum, new modules may be offered or existing modules 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
  • All modules are core
Year 2
  • Introduction to Artificial Intelligence
  • Mathematical Methods for Computer Science
  • In this module you will develop an understanding of computer and network security. You will look at software vulnerabilities, hands-on hacking-oriented attacks, memory errors, and web and network security. You will learn how to identify such vulnerabilities and consider the countermeasures that can mitigate their exploitation. You will also examine malicious software (malware) as a typical consequence of a successful software exploitation.

  • In this module you will develop an understanding of the principles of human-computer interaction (HCI) and the approaches that can be used to create interfaces matching users' needs and expectations. You will evaluate the usability and suitability of user interfaces, and build simple prototypes using different media and technologies. You will consider how perception and cognition influence HCI, and examine tests, such as web experiments.

  • 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.

  • 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-parametric methods, such as the Wilxocon and Kolmogorov-Smirnov goodness-of-fit tests, and learn to use the R open source software package.

  • 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.

  • 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.

  • 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.

  • In this module you will develop an understanding of the concepts arising when the boundary conditions of a differential equation involves two points. You will look at eigenvalues and eigenfunctions in trigonometric differential 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.

  • 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.

  • In this module you will develop an understanding of the basic complex variable theory. You will look at the definitions of continuity and differentiability of a complex valued function at a point, and how Cauchy-Riemann equations can be applied. You will examine how to use a power series to define the complex expontential function, and how to obtain Taylor series of rational and other functions of standard type, determining zeros and poles of given functions. You will also consider how to use Cauchy's Residue Theorem to evaulate real integrals.

Year 3
  • Half Unit Project
  • Full Unit Project
  • Computational Finance
  • Intelligent Agents and Multi-agent Systems
  • Machine Learning
  • Semantic Web
  • Data Visualisation and Exploratory Analysis
  • Advanced Data Communications
  • Concurrent and Parallel Programming
  • Interconnected Devices
  • In this module you will develop an understanding of the fundamentals behind cryptography and how it is deployed in real systems. You will look at a range of security services that can be provided by cryptography and the mechanisms behind them, such as symmetric and public-key encryption, hash functions, MACs, digital signatures and authentication protocols. You will consider the architecture of security systems using cryptography, including key management, implementation issues, cryptographic standards and crypto politics, and examine real-world applications such as 3G, EMV, and SSL/TLS.

  • Cyber Security
  • Digital Forensics
  • Malicious Software
  • Smart Cards, RFIDs and Embedded Systems Security
  • Human-computer Interaction
  • IT Project Management
  • Software Language Engineering
  • Bioinformatics
  • Compilers and Code Generation
  • Computational Optimisation
  • Digital Audio and Applications
  • Functional Programming and Applications
  • 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.

  • 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.

  • 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 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.

  • In this module you will develop an understanding of the elementary ideas of electromagnetism. You will learn how to calculate electric fields and electric potentials from given fixed charge distributions and how to calculate magnetic fields and vector potentials from given steady current distributions. You will examine the magnetic effects of currents, including electromagnetic induction and displacement currents, and analyse the Biot-Savart law and Ampere's law. You will examine Maxwell's equations, and the properties of electromagnetic waves in free space, as well as electric and magnetic dipoles and the electromagnetism of matter.

  • 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.

  • 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.

  • In this module you will develop an understanding of some of the descriptive methods and theoretical techniques that are used to analyse time series. You will look at the standard theory around several prototype classes of time series models and learn how to apply appropriate methods of times series analysis and forecasting to a given set of data using Minitab, a statistical computing package. You will examine inferential and associated algorithmic aspects of time-series modelling and simulate time series based on several prototype classes.

  • 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.

  • 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.

  • 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 inclusion and exclusion. You will examine the applications of number theory and consider the use of simple probabilistic tools for solving combinatorial problems.

  • 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.

  • 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 the applications of fields, including ruler and compass constructions and why it is impossible to generically trisect an angle using them.

  • 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.

  • 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.

  • 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.

  • 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.

  • In this module you will develop an understanding of 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.

  • 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.

  • 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.

  • 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.

  • 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 cryptosystems, 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.

  • 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.

  • 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 course 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.

A Levels: AAB-ABB

Required subjects:

  • A-level Mathematics at grade A
  • At least five GCSEs at grade A*-C or 9-4 including English and Mathematics.
For students taking the BTEC Extended Diploma please click here to see the specific modules you must take in order to meet the entry requirements for this course.

Where an applicant is taking the EPQ alongside A-levels, the EPQ will be taken into consideration and result in lower A-level grades being required. For students who are from backgrounds or personal circumstances that mean they are generally less likely to go to university you may be eligible for an alternative lower offer. Follow the link to learn more about our contextual offers.

English language requirements

All teaching at Royal Holloway is in English. You will therefore need to have good enough written and spoken English to cope with your studies right from the start.

The scores we require
  • IELTS: 6.5 overall. No subscore lower than 5.5.
  • Pearson Test of English: 61 overall. Writing 54. No subscore lower than 51.
  • Trinity College London Integrated Skills in English (ISE): ISE III.

Country-specific requirements

For more information about country-specific entry requirements for your country please visit here.

Undergraduate Pathways

For international students who do not meet the direct entry requirements, the International Study Centre offers the following pathway programmes:

International Foundation Year - for progression to the first year of an undergraduate degree.

International Year One - for progression to the second year of an undergraduate degree. You can join the International Year One in January 2021 and progress to degree study in September 2021.

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.

Home (UK) students tuition fee per year*: £9,250

EU and International students tuition fee per year**: £22,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 about funding options, including loansscholarships and bursaries. UK students who have already taken out a tuition fee loan for undergraduate study should check their eligibility for additional funding directly with the relevant awards body.

*The tuition fee for UK undergraduates is controlled by Government regulations. For students starting a degree in the academic year 2020/21, the fee will be £9,250 for that year. The fee for UK undergraduates starting in 2021/22 has not yet been confirmed.

**The Government has confirmed that EU nationals starting a degree in 2020/21 will pay the same fee as UK students for the duration of their course. For EU nationals starting a degree in 2021/22, the UK Government has recently confirmed that you will not be eligible to pay the same fees as UK students, nor be eligible for funding from the Student Loans Company. This means you will be classified as an international student. At Royal Holloway, we wish to support those students affected by this change in status through this transition. For eligible EU students starting their course with us in September 2021, we will award an automatic fee reduction which brings your fee into line with the fee paid by UK students. This will apply for the duration of your course.

Fees for international students may increase year-on-year in line with the rate of inflation. The policy at Royal Holloway is that any increases in fees will not exceed 5% for continuing students. For further information see fees and funding and our terms and conditions. Fees shown above are for 2020/21 and are displayed for indicative purposes only.

***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.

11th in the UK for quality of research publications. (Computer Science)

Source: THE REF institutions ranked by subject, 2014

90% overall student satisfaction (Computer Science)

Source: NSS, 2019

97% of our Computer Science graduates are in graduate level employment within six months of graduating.

Source: DLHE, 2018

Explore Royal Holloway

Get help paying for your studies at Royal Holloway through a range of scholarships and bursaries.

There are lots of exciting ways to get involved at Royal Holloway. Discover new interests and enjoy existing ones

Heading to university is exciting. Finding the right place to live will get you off to a good start

Whether you need support with your health or practical advice on budgeting or finding part-time work, we can help

Discover more about our 21 departments and schools

Find out why Royal Holloway is in the top 25% of UK universities for research rated ‘world-leading’ or ‘internationally excellent’

They say the two most important days of your life are the day you were born, and the day you find out why

Discover world-class research at Royal Holloway

Discover more about who we are today, and our vision for the future

Royal Holloway began as two pioneering colleges for the education of women in the 19th century, and their spirit lives on today

We’ve played a role in thousands of careers, some of them particularly remarkable

Find about our decision-making processes and the people who lead and manage Royal Holloway today