MA407      Half Unit
Algorithms and Computation

This information is for the 2021/22 session.

Teacher responsible

Dr Tugkan Batu and Prof Julia Boettcher


This course is available on the MSc in Applicable Mathematics, MSc in Data Science, MSc in Operations Research & Analytics, MSc in Statistics, MSc in Statistics (Financial Statistics), MSc in Statistics (Financial Statistics) (LSE and Fudan), MSc in Statistics (Financial Statistics) (Research) and MSc in Statistics (Research). This course is available with permission as an outside option to students on other programmes where regulations permit.

The course is compulsory for students on the MSc Applicable Mathematics who are not taking MA421 Advanced Algorithms; it is optional for students on the MSc Applicable Mathematics who take MA421 Advanced Algorithms. 


Good general knowledge of mathematics, including familiarity with abstract concepts. A willingness to cope with technical details of computer usage, and with a rapid introduction to programming.

Course content

Introduction to programming in Java.  Introduction to the theory of algorithms: running time and correctness of an algorithm.  Recursion.  Data structures:  arrays, linked lists, stacks, queues, binary search trees.  Sorting algorithms.  Greedy algorithms.  Dynamic programming. Inheritance and Generics in Java.


This course is delivered through a combination of seminars and lectures totalling a minimum of 30 hours across Michaelmas Term. There are also optional computer help sessions for this course. Before the start of Michaelmas Term, there will be 6 hours of pre-sessional programming tutorials. This year, apart from pre-recorded lecture videos, there will be a weekly live online session of an hour. Depending on circumstances, seminars might be online.

Formative coursework

Weekly exercises are set and marked. Many of these will require implementation of programming exercises in Java.

Indicative reading

R Sedgewick, K Wayne, Introduction to programming in Java.

T H Cormen, C E Leiserson, R L Rivest and C Stein, Introduction to Algorithms.


Exam (65%, duration: 2 hours and 30 minutes) in the summer exam period.
Coursework (25%) in the MT.
Continuous assessment (10%).

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: 47

Average class size 2020/21: 23

Controlled access 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