MA214      Half Unit
Algorithms and Data Structures

This information is for the 2021/22 session.

Teacher responsible

Dr Tugkan Batu


This course is compulsory on the BSc in Data Science. This course is available on the BSc in Mathematics and Economics, BSc in Mathematics with Economics and BSc in Mathematics, Statistics and Business. This course is available as an outside option to students on other programmes where regulations permit. This course is available with permission to General Course students.


Students must have completed Mathematical Proof and Analysis (MA102) or Introduction to Abstract Mathematics (MA103).

Basic Knowledge of Python is essential, such as provided by ST101 or a pre-sessional provided by the Digital Skills Lab.

Course content

Introduction to the fundamental principles of data structures and algorithms and their efficient implementation. Developing algorithmic thinking. Basic toolkit for the design and analysis of algorithms: Running time, Recurrence relations, Big-O notation, Correctness, Finite induction, Loop invariants. Tour of the most important data structures, fundamental algorithms, and algorithm design techniques: lists, stacks, queues, dynamic arrays, hash tables, priority queues, disjoint set unions, binary search trees, breadth-first search, depth-first search, minimum spanning tree computation, maximum flow, incremental and recursive algorithms, divide-and-conquer, greedy algorithms.


This course is delivered through a combination of lectures and classes totalling a minimum of 30 hours across Lent Term. Apart from pre-recorded lecture videos, there will be a weekly live online session of an hour. Depending on circumstances, classes might be online.

Formative coursework

Written answers to set problems will be expected on a weekly basis.

Indicative reading

  • T H Cormen, C E Leiserson & R L Rivest, Introduction to Algorithms, MIT Press 1990 (or 2nd edn, 2001 or 3rd edn, 2009)


Exam (80%, duration: 2 hours) in the summer exam period.
Coursework (20%) in the LT.

Course selection videos

Some departments have produced short videos to introduce their courses. Please refer to the course selection videos index page for further information.

Important information in response to COVID-19

Please note that during 2021/22 academic year some variation to teaching and learning activities may be required to respond to changes in public health advice and/or to account for the differing needs of students in attendance on campus and those who might be studying online. For example, this may involve changes to the mode of teaching delivery and/or the format or weighting of assessments. Changes will only be made if required and students will be notified about any changes to teaching or assessment plans at the earliest opportunity.

Key facts

Department: Mathematics

Total students 2020/21: Unavailable

Average class size 2020/21: Unavailable

Capped 2020/21: No

Value: Half Unit

Guidelines for interpreting course guide information

Personal development skills

  • Self-management
  • Problem solving
  • Application of information skills
  • Communication
  • Application of numeracy skills
  • Specialist skills