Skip to main content

Unit information: Mathematical Tools for Data Science in 2022/23

Please note: It is possible that the information shown for future academic years may change due to developments in the relevant academic field. Optional unit availability varies depending on both staffing, student choice and timetabling constraints.

Unit name Mathematical Tools for Data Science
Unit code MATH10018
Credit points 20
Level of study C/4
Teaching block(s) Teaching Block 4 (weeks 1-24)
Unit director Professor. Robbins
Open unit status Not open
Units you must take before you take this one (pre-requisite units)

A-level mathematics

Units you must take alongside this one (co-requisite units)


Units you may not take alongside this one


School/department School of Mathematics
Faculty Faculty of Science

Unit Information

Lecturers: Jonathan Robbins and Witold Sadowski

The aims of this unit are to:

  • Provide students with a comprehensive calculus background required to solve standard Data Science problems (e.g. differentiation for unconstrained and constrained optimisation, integration for marginalising probability distributions)
  • Familiarize students with a wide range of algorithmical optimisation and integration techniques
  • Allow students to identify and implement standard solutions to generic problems of optimisation and integration encountered in Data Science
  • Allow students to understand properties of the techniques such as complexity or numerical stability

Your learning on this unit

At the end of the unit, the students should be able to:

  • Use essential calculus concepts relevant to Data Science (standard functions, derivation and integration)
  • State and explain the rational behind second order conditions to optimise smooth multivariate functions in the constrained and unconstrained scenarios
  • Describe, choose and apply numerical methods to optimise smooth and rough functions (e.g. gradient, Newton and quasi-Newton methods)
  • Describe, choose and use convex constrained optimization techniques (e.g. primal interior point method)
  • Describe, choose and use both analytical and numerical methods for integration e.g. quadrature and Monte Carlo
  • Implement some of these techniques in one of the standard programming languages e.g. R, C++ or Python
  • Describe and implement a stochastic gradient algorithm in a simple setup

How you will learn

Lectures, computer labs and homeworks.

How you will be assessed

2 x 40% Examination (in the exam period at the end of each teaching block) and 20% Computer Practicals


If this unit has a Resource List, you will normally find a link to it in the Blackboard area for the unit. Sometimes there will be a separate link for each weekly topic.

If you are unable to access a list through Blackboard, you can also find it via the Resource Lists homepage. Search for the list by the unit name or code (e.g. MATH10018).

How much time the unit requires
Each credit equates to 10 hours of total student input. For example a 20 credit unit will take you 200 hours of study to complete. Your total learning time is made up of contact time, directed learning tasks, independent learning and assessment activity.

See the Faculty workload statement relating to this unit for more information.

The Board of Examiners will consider all cases where students have failed or not completed the assessments required for credit. The Board considers each student's outcomes across all the units which contribute to each year's programme of study. If you have self-certificated your absence from an assessment, you will normally be required to complete it the next time it runs (this is usually in the next assessment period).
The Board of Examiners will take into account any extenuating circumstances and operates within the Regulations and Code of Practice for Taught Programmes.