Course overview
To give students the theoretical and practical skills to be able to create safe high performance parallel and concurrent software.
Course learning outcomes
- To construct safe high performance parallel and concurrent software using sound theoretical techniques.
- Implement threading and high level design patterns for concurrent computing in the Java language.
- To analyse concurrent software designs using a formal tool to prevent deadlocks and races.
- To explain the technical design of a concurrent program to an expert audience.
- To devise unit tests for correctness and performance of software.