Distributed Algorithms - COMP70071
Aims
The module will cover the key concepts, problems and results in distributed algorithms. It will provide an introduction on how to model and reason about distributed algorithms and practical experience of programming them. The module builds on (i) OS concepts including processes, threads and scheduling, (ii) concurrency concepts including synchronisation, deadlock, race conditions, (iii) discrete maths including sets, logic and logical reasoning, (iv) functional programming.
Role
Course Leader
Distributed Algorithms - COMP60009
Aims
The module will cover the key concepts, problems and results in distributed algorithms. It will provide an introduction on how to model and reason about distributed algorithms and practical experience of programming them. The module builds on (i) OS concepts including processes, threads and scheduling, (ii) concurrency concepts including synchronisation, deadlock, race conditions, (iii) discrete maths including sets, logic and logical reasoning, (iv) functional programming.
Role
Course Leader
Compilers - COMP50006
Aims
In this module you will have an opportunity to:
- appreciate how a compiler for a high-level programming language works
- understand how programming language design is influenced by compiler structure and how computer architecture is influenced by the needs of compiled programs
- develop the technical skills needed for constructing practical compiler components, such as parsers, interpreters, semantic analysers, code generators and code optimisers
Role
Course Leader