Theory and Practice of Concurrency - COMP6018

Looking for a different module?

Module delivery information

Location Term Level1 Credits (ECTS)2 Current Convenor3 2025 to 2026
Canterbury
Autumn Term 6 20 (10) Laura Bocchi checkmark-circle

Overview

In today's interconnected world, the concepts of concurrency lie at the foundation of most advanced systems we encounter. From cloud computing to mobile applications, from online gaming to financial transactions, the ability to handle multiple tasks simultaneously and distribute them across networks is not just desirable – it's essential. In both industry and academia, concurrency and distribution stand as hot topics, continuously shaping the landscape of technology and driving innovation forward. Companies are seeking skilled professionals who understand the intricacies of concurrent systems (e.g., Web APIs and services, latest CPU architectures and memory models) while researchers are pushing the boundaries of knowledge in pursuit of more efficient and reliable solutions.
Throughout this module, you'll delve into the theoretical underpinnings of concurrent behaviour, providing you with a solid understanding that transcends technicalities (e.g., programming syntax). On the basis of the principles you have learned, you will be able to critically assess the properties of a concurrent system and design a system with desirable properties and behaviour.
But theory alone is not enough. Through hands-on exercises and real-world examples, we'll show you how these concepts translate into programming languages and practical solutions across a diverse array of domains.

Details

Contact hours

Total Contact Hours (Lectures, Classes) 34

Method of assessment

Mini practical exercises worth 60%.
3 weeks practical project worth 40%.

Reassessment Method: Like-for-like Including composite form of reassessment for failed practical components – practical project.

Indicative reading

Learning outcomes

On successfully completing the module, students will be able to: 
Have a critical understanding of the principles of concurrent programming, as well as its advantages and challenges.
Critically evaluate and appraise the properties of a distributed process (e.g. safety and liveness), and compare the behaviour of different processes.
Apply the principles of concurrency theory to real scenarios.
Apply simple abstract concepts of concurrency theory to master complex concrete scenarios.

Notes

  1. Credit level 6. Higher level module usually taken in Stage 3 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.