MA314      Half Unit
Algorithms and Programming

This information is for the 2020/21 session.

Teacher responsible

Dr Tugkan Batu


This course is available on the BSc in Business Mathematics and Statistics, BSc in Management, 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.


Introduction to Abstract Mathematics (MA103), or an equivalent course giving a background in rigorous mathematics. Basic knowledge of Python programming is highly desirable.

Course content

Introduction to theory of algorithms guided by basic Python programming. Algorithmic thinking: Do you know how to multiply integers? Basic toolkit for the design and analysis of algorithms, and an in-depth study of sorting algorithms: Running time, Recurrence relations, Big-O notation, Correctness, Finite induction, Loop invariants. Optimal comparison sorts, and sorting in linear time. Tour of the most important data structures, fundamental algorithms, and algorithm design techniques: Lists, Stacks, Queues, Hashing. Breadth-first search, Depth-first search, Prim's algorithm, Dijkstra's algorithm, Maximum Flow. Incremental and recursive algorithms, Divide-and-Conquer, Greedy algorithms, Master Theorem. A selection of special topics.


This course is delivered through a combination of classes and lectures totalling a minimum of 30 hours across Michaelmas Term. This year, some or all of this teaching will be delivered through a combination of online classes and lectures delivered as online prerecorded videos.

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

Important information in response to COVID-19

Please note that during 2020/21 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 situation of students in attendance on campus and those studying online during the early part of the academic year. For assessment, this may involve changes to mode of 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 2019/20: 90

Average class size 2019/20: 18

Capped 2019/20: 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