Core modules
You will learn through a combination of lectures small-group tutorials and practical sessions based in the Department's well-equipped undergraduate computing laboratory A central part of learning in Mathematics and Statistics is problem solving
The curriculum is built on the principle that module choices get more and more flexible as you progress through the degree On top of that you may choose to study additional options from an even wider range of modules Year Two about 20% optional modules Year Three about 75% optional modules
Year One
Programming for Computer Scientists
In this module whatever your starting point you will begin your professional understanding of computer programming through problem-solving and fundamental structured and object-oriented programming You will learn the Java programming language through practical work centred on the Warwick Robot Maze environment which will take you from specification to implementation and testing Through practical work in object-oriented concepts such as classes encapsulation arrays and inheritance you will end the course knowing how to write programs in Java and through your ability to analyse errors and testing procedures be able to produce well-designed and well-encapsulated and abstracted code
Read more about the Programming for Computer Scientists moduleLink opens in a new window including the methods of teaching and assessment (content applies to 2022 23 of study)
Design of Information Structures
Following on from Programming for Computer Scientists on the fundamentals of programming this module will teach you all about data structures and how to program them We will look at how we can represent data structures efficiently and how we can apply formal reasoning to them You will also study algorithms that use data structures Successful completion will see you able to understand the structures and concepts underpinning object-oriented programming and able to write programs that operate on large data sets
Read more about the Design of Information Structures moduleLink opens in a new window including the methods of teaching and assessment (content applies to 2022 23 of study)
Mathematical Programming I
Operational Research is concerned with advanced analytical methods to support decision making for example for resource allocation routing or scheduling A common problem in decision making is finding an optimal solution subject to certain constraints Mathematical Programming I introduces you to theoretical and practical aspects of linear programming a mathematical approach to such optimisation problems
Read more about the Mathematical Programming I moduleLink opens in a new window including the methods of teaching and assessment (content applies to 2021 22 of study)
Vectors and Matrices
Many problems in maths and science are solved by reduction to a system of simultaneous linear equations in a number of variables Even for problems which cannot be solved in this way it is often possible to obtain an approximate solution by solving a system of simultaneous linear equations giving the "best possible linear approximation''
The branch of maths treating simultaneous linear equations is called linear algebra The module contains a theoretical algebraic core whose main idea is that of a vector space and of a linear map from one vector space to another It discusses the concepts of a basis in a vector space the dimension of a vector space the image and kernel of a linear map the rank and nullity of a linear map and the representation of a linear map by means of a matrix
These theoretical ideas have many applications which will be discussed in the module These applications include
Solutions of simultaneous linear equations Properties of vectors Properties of matrices such as rank row reduction eigenvalues and eigenvectors Properties of determinants and ways of calculating them
Read more about the Vectors and Matrices moduleLink opens in a new window including the methods of teaching and assessment (content applies to 2022 23 of study)
Calculus 1 2
Calculus is the mathematical study of continuous change In this module there will be considerable emphasis throughout on the need to argue with much greater precision and care than you had to at school With the support of your fellow students lecturers and other helpers you will be encouraged to move on from the situation where the teacher shows you how to solve each kind of problem to the point where you can develop your own methods for solving problems By the end of the you will be able to answer interesting questions like what do we mean by `infinity’?
Read more about these modules including the methods of teaching and assessment (content applies to 2022 23 of study)
Calculus 1Link opens in a new window
Calculus 2Link opens in a new window
Sets and Numbers
It is in its proofs that the strength and richness of mathematics is to be found University mathematics introduces progressively more abstract ideas and structures and demands more in the way of proof until most of your time is occupied with understanding proofs and creating your own Learning to deal with abstraction and with proofs takes time This module will bridge the gap between school and university mathematics taking you from concrete techniques where the emphasis is on calculation and gradually moving towards abstraction and proof
Read more about the Sets and Numbers moduleLink opens in a new window including the methods of teaching and assessment (content applies to 2022 23 of study)
Introduction to Statistical Modelling
This module is an introduction to statistical thinking and inference You’ll learn how the concepts you met from Probability can be used to construct a statistical model – a coherent explanation for data You’ll be able to propose appropriate models for some simple datasets and along the way you’ll discover how a function called the likelihood plays a key role in the foundations of statistical inference You will also be introduced to the fundamental ideas of regression Using the R software package you’ll become familiar with the statistical analysis pipeline exploratory data analysis formulating a model assessing its fit and visualising and communicating results The module also prepares you for a more in-depth look at Mathematical Statistics in Year Two
Read more about the Introduction to Statistical Modelling moduleLink opens in a new window including the methods of teaching and assessment (content applies to 2022 23 of study)
Probability 1
Probability is a foundational module that will introduce you both to the important concepts in probability but also the key notions of mathematical formalism and problem-solving Want to think like a mathematician? This module is for you You will learn how to to express mathematical concepts clearly and precisely and how to construct rigorous mathematical arguments through examples from probability enhancing your mathematical and logical reasoning skills You will also develop your ability to calculate using probabilities and expectations by experimenting with random outcomes through the notion of events and their probability You’ll learn counting methods (inclusion–exclusion formula and binomial co-efficients) and study theoretical topics including conditional probability and Bayes’ Theorem
Read more about the Probability 1 moduleLink opens in a new window including the methods of teaching and assessment (content applies to 2022 23 of study)
Probability 2
This module continues from Probability 1 which prepares you to investigate probability theory in further detail here Now you will look at examples of both discrete and continuous probability spaces You’ll scrutinise important families of distributions and the distribution of random variables and the light this shines on the properties of expectation You’ll examine mean variance and co-variance of distribution through Chebyshev's and Cauchy-Schwarz inequalities as well as the concept of conditional expectation The module provides important grounding for later study in advanced probability statistical modelling and other areas of potential specialisation such as mathematical finance
Read more about the Probability 2 moduleLink opens in a new window including the methods of teaching and assessment (content applies to 2022 23 of study)
Year Two
Software Engineering
Centred on teamwork you will concentrate on applying software engineering principles to develop a significant software system with your peers from feasibility studies through modelling design implementation evaluation maintenance and evolution You’ll focus on design quality human–computer interaction technical evaluation teamwork and project management With a deeper appreciation of the stages of the software life-cycle you’ll gain skills to design object-oriented software using formal modelling and notation You will be taught the principles of graphical user interface and user-centred design and be able to evaluate projects in the light of factors ranging from technical accomplishment and project management to communication and successful teamwork
Read more about the Software Engineering moduleLink opens in a new window including the methods of teaching and assessment (content applies to 2022 23 of study)
Database Systems
How does the theory of relational algebra serve as a framework for the efficient organisation and retrieval of large amounts of data? During this module you will learn to understand standard notations (such as SQL) which implements relational algebra and gain practical experience of database notations that are widely used in the industry Successful completion will see you equipped to create appropriate efficient database designs for a range of simple applications and to translate informal queries into formal notation You will have learned to identify and express relative integrity constraints for particular database designs and have gained the ability to identify control measures for some common security threats
Read more about the Database Systems moduleLink opens in a new window including the methods of teaching and assessment (content applies to 2022 23 of study)
Algorithms
Data structures and algorithms are fundamental to programming and to understanding computation In this module you will be using sophisticated tools to apply algorithmic techniques to computational problems By the close of the course you’ll have studied a variety of data structures and will be using them for the design and implementation of algorithms including testing and proofing and analysing their efficiency This is a practical course so expect to be working on real-life problems using elementary graph greedy and divide-and-conquer algorithms as well as gaining knowledge on dynamic programming and network flows
Read more about the Algorithms moduleLink opens in a new window including the methods of teaching and assessment (content applies to 2022 23 of study)
Stochastic Processes
The concept of a stochastic (developing randomly over time) process is a useful and surprisingly beautiful mathematical tool in economics biology psychology and operations research In studying the ideas governing stochastic processes you’ll learn in detail about random walks – the building blocks for constructing other processes as well as being important in their own right and a special kind of ‘memoryless’ stochastic process known as a Markov chain which has an enormous range of application and a large and beautiful underlying theory Your understanding will extend to notions of behaviour including transience recurrence and equilibrium and you will apply these ideas to problems in probability theory
Read more about the Stochastic Processes moduleLink opens in a new window including the methods of teaching and assessment (content applies to 2024 24 of study)
Mathematical Methods for Statistics and Probability
Following the mathematical modules in Year One you’ll gain expertise in the application of mathematical techniques to probability and statistics For example you’ll be able to adapt the techniques of calculus to compute expectations and conditional distributions relating to a random vector and you’ll encounter the matrix theory needed to understand covariance structure You’ll also gain a grounding in the linear algebra underlying regression (such as inner product spaces and orthogonalization) By the end of your course expect to apply multivariate calculus (integration calculation of under-surface volumes variable formulae and Fubini’s Theorem) to use partial derivatives to derive critical points and extrema and to understand constrained optimisation You’ll also work on eigenvalues and eigenvectors diagonalisation orthogonal bases and orthonormalisation
Read more about the Mathematical Methods for Statistics and Probability moduleLink opens in a new window including the methods of teaching and assessment (content applies to 2024 24 of study)
Probability for Mathematical Statistics
If you have already completed Probability in Year One on this module you’ll have the opportunity to acquire the knowledge you need to study more advanced topics in probability and to understand the bridge between probability and statistics You’ll study discrete continuous and multivariate distributions in greater depth and also learn about Jacobian transformation formula conditional and multivariate Gaussian distributions and the related distributions Chi-squared Student’s and Fisher You will also cover more advanced topics including moment-generating functions for random variables notions of convergence and the Law of Large Numbers and the Central Limit Theorem
Read more about the Probability for Mathematical Statistics moduleLink opens in a new window including the methods of teaching and assessment (content applies to 2024 24 of study)
Mathematical Statistics
If you’ve completed “Probability for Mathematical Statistics” this second-term module is your next step where you’ll study in detail the major ideas behind statistical inference with an emphasis on statistical modelling and likelihoods You’ll learn how to estimate the parameters of a statistical model through the theory of estimators and how to choose between competing explanations of your data through model selection This leads you on to important concepts including hypothesis testing p-values and confidence intervals ideas widely used across numerous scientific disciplines You’ll also discover the ideas underlying Bayesian statistics a flexible and intuitive approach to inference which is especially amenable to modern computational techniques Overall this module will provide you a very firm foundation for your future engagement in advanced statistics – in your final and beyond
Read more about the Mathematical Statistics moduleLink opens in a new window including the methods of teaching and assessment (content applies to 2024 24 of study)
Linear Statistical Modelling with R
This module runs in parallel with Mathematical Statistics and gives you hands-on experience in using some of the ideas you saw there The centrepiece of this module is the notion of a linear model which allows you to formulate a regression model to explain the relationship between predictor variables and response variables You will discover key ideas of regression (such as residuals diagnostics sampling distributions least squares estimators analysis of variance t-tests and F-tests) and you will analyse estimators for a variety of regression problems This module has a strong practical component and you will use the software package R to analyse datasets including exploratory data analysis fitting and assessing linear models and communicating your results The module will prepare you for numerous final modules notably the Year Three module covering the (even more flexible) generalised linear models
Read more about the Linear Statistical Modelling with R moduleLink opens in a new window including the methods of teaching and assessment (content applies to 2024 24 of study)
Year Three
The third (final) of the allows you to forge a strong curriculum through a selection of more advanced modules in statistics and computer science such as machine learning and Bayesian forecasting It also includes a Data Science Project which is your opportunity to showcase and expand your data-analytics
Optional modules
Optional modules can vary from to Example optional modules may include
Artificial Intelligence
Games and Decisions
Neural Computing
Machine Learning
Approximation and Randomised Algorithms
Mobile Robotics
Computer Graphics
Professional Practice of Data Analysis
Show less