This module is not currently running in 2024 to 2025.
• Propositional & Predicate Logic, including proofs
• Formal languages: finite automata and regular expressions
• Elements of CFGs, Turing machines and decidability
• Introduction to Concurrency and Parallelism, threading model
• Synchronisation primitives for mutual exclusions & condition synchronization (e.g. Semaphores, Critical regions, Monitors)
• Safety and Liveness properties (e.g. Deadlocks, Livelocks, Starvation, Priority Inversion)
• Concurrency patterns (e.g., Producer-Consumer, Thread Pools, Lambda & Streams, Futures)
• Overview of other concurrency models (e.g. Message Passing, Tuple Spaces, CSPs, Actors, Transactions, Events)
Total contact hours: 33
Private study hours: 117
Total study hours: 150
This module will be assessed by 50% examination and 50% coursework.
• John Martin, Introduction to Languages and the Theory of Computation, McGraw-Hill, 4th Edition, 2010.
• George S. Boolos et al, Computability and Logic, Cambridge Press, 5th Edition, 2007.
• Brian Goetz et al, Java Concurrency in Practice, Addison-Wesley, 2015.
See the library reading list for this module (Medway)
The intended subject specific learning outcomes.
On successfully completing the module students will be able to:
1 Understand specifications in formal logical notation
2 Understand the expressiveness of various language formalisms
3 Understand the difference between decidable and undecidable problems
4 Have a basic understanding of the concepts of concurrent programming: software processes/threads, communication and synchronisation
5 Be able to use effectively concurrent programming paradigms to design systems
6 Be able to implement concurrent programs to solve specific problems using appropriate programming paradigms
7 Have an understanding of deadlock, livelock, and starvation when designing concurrent systems
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.