Algorithms, Correctness and Efficiency - CO518

Looking for a different module?

Module delivery information

Location Term Level1 Credits (ECTS)2 Current Convenor3 2021 to 2022
Autumn 5 15 (7.5) DR S Kahrs checkmark-circle


The curriculum covers topics in algorithms and data structures, such as hashing and graph algorithms. It addresses how to program such algorithms, as well as how to test them, reason about their correctness and analyse their efficiency. It includes a mathematical treatment of big-O notation.


Contact hours

Total contact hours: 33
Private study hours: 117
Total study hours: 150

Method of assessment

Main assessment methods
2 programming assessments (15 hours each) (15% each)
2 hour unseen written examination (70%)

Reassessment methods
Like for like.

Indicative reading

The Art of Computer Programming. Donald E. Knuth
The Algorithm Design Manual. Steven S. Skiena
Graphs and Applications. Joan Aldous and Robin Wilson
Graphs, Networks and Algorithms. D. Jungnickel
Data Structures and Algorithms in Java 2nd Edition. M.T. Goodrich and R. Tamassia
Algorithms and Data Structures 2nd Edition. Jeffrey H. Kingston x
The Science of Programming. David Gries

See the library reading list for this module (Canterbury)

Learning outcomes

8. The intended subject specific learning outcomes.
On successfully completing the module students will be able to:
8.1 specify, test, and verify program properties [B3, B4, B5, B7 ,C1]
8.2 analyse the time and space behaviour of simple algorithms [A5, B1, B4, C2, D4];
8.3 use known algorithms to solve programming problems [A2, A4, A5, B4, D3];
8.4 make informed decisions about the most appropriate data structures and algorithms to use when designing software [A2, A4, B1, B4, C2, D3, D4, D5];

9. The intended generic learning outcomes.
On successfully completing the module students will be able to:
9.1 demonstrate an understanding of trade-offs when making design decisions [B1, C2]
9.2 make effective use of existing techniques to solve problems [B4, D3, D5];
9.3 demonstrate an understanding of how programs (can fail to) match a specification [B7, D4]
9.4 analyse and compare solutions to technical problems [B1, B4, C2, D4]


  1. Credit level 5. Intermediate level module usually taken in Stage 2 of an undergraduate degree.
  2. ECTS credits are recognised throughout the EU and allow you to transfer credit easily from one university to another.
  3. The named convenor is the convenor for the current academic session.
Back to top

University of Kent makes every effort to ensure that module information is accurate for the relevant academic session and to provide educational services as described. However, courses, services and other matters may be subject to change. Please read our full disclaimer.