Logo of Royal Holloway University of London

MSciComputer Science and Mathematics

Tuition fee To be confirmed
More information

Expenses, accommodation, working etc.

royalholloway.ac.uk/..and-mathematics.aspx 

Overview

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.

Programme structure

Year 1

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

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

Software Engineering
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.

Algorithms and Complexity
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 inerstion 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.

Team Project
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 enironments (IDEs). You will see why project cost and effort is hard to estimate, and consider why project quality is hard to prescribe.

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

Project
In this module you will have the opportunity to plan and organise a large project, analysing complex ideas, identifying problems, and coming up with solutions. You will apply scientific principles and use a range of software and hardware techniques. You will analyse the effectiveness of your solutions and evaluate the results. You will also consider legal, social, ethical and professional issues. You can design your own project or choose a topic from a suggested list.

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.

Career opportunities

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.

Apply now! Fall semester 2021/22
This intake is not applicable

We are currently NOT ACCEPTING applications from NON-EU countries, except Georgia and Serbia.

Application deadlines apply to citizens of: United States

Apply now! Fall semester 2021/22
This intake is not applicable

We are currently NOT ACCEPTING applications from NON-EU countries, except Georgia and Serbia.

Application deadlines apply to citizens of: United States