Algorithms, Correctness and Efficiency - CO518

Location Term Level Credits (ECTS) Current Convenor 2018-19
Canterbury Autumn
View Timetable
5 15 (7.5) DR S Owens


CO520 and (CO325 or equivalent A-level Mathematics) are pre-requisites. CO523 is an alternative to these and may be taken as a co-requisite.





Testing, specification, verification
• Specifying test properties, and more general logical properties
• Scaling testing
• Pre- and post-conditions, Hoare Logic, loop invariants

Data and Algorithm Design
• Dynamic data structures: trees, queues, heaps and priority queues;
• Sorting and searching algorithms, both in their own right and as components of more complex algorithms;
• Graph algorithms: depth and breadth-first search, union-find, minimal-cost spanning trees;

Estimation and efficiency
• Informal estimation and approximate calculations;
• Detailed analysis of the time complexity of some simple algorithms including best, worst and average behaviour;
• Techniques for analysing and comparing the asymptotic behaviour of algorithms.


This module appears in:

Contact hours

30 lectures and 10 classes

Method of assessment

30% coursework, 70% exam

Indicative reading

See the library reading list for this module (Canterbury)

See the library reading list for this module (Medway)

Learning outcomes

Students who successfully complete this module will be able to:
specify, test, and verify program properties
analyse the time and space behaviour of simple algorithms
use known algorithms to solve programming problems
make informed decisions about the most appropriate data structures and algorithms to use when designing software

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.