Teaching
My teaching covers distributed systems, programming, internet applications, and software engineering across undergraduate and postgraduate levels, with current delivery in distributed systems and programming, recent involvement in internet applications and advanced programming, and earlier teaching across networking, security, and foundational software engineering topics.
Current and Recent Modules
- Elements of Distributed Systems (2020-2026)
- Internet Applications (2025-2026)
- Advanced Programming (2020-2026)
Previous Teaching
I have been involved in teaching the following modules:
- Building Big Data Systems (2018, 2019)
- Distributed Systems (2017)
- Software Engineering (2017)
- Computational Thinking and Problem Solving (2016)
- Software Workshop 1 (Java Programming) (2014-2017)
Older Teaching
- Distributed Systems in Java
- Computer Networks
- Digital Design
- Computer Security