My teaching has traditionally focussed on Software Engineering. In the past I have taught modules on safety-critical software development, and systems design.

Software Reengineering (COM3523, COM6523)

I am currently responsible for teaching Software Reengineering to our Undergraduate and Masters cohort. The course revolves around the challenges involved in “brown-field” software development; how to understand unfamiliar systems, find design weaknesses, to devise re-engineering strategies.

The course is very applied, where students are engaged in exercises to re-engineer real open-source software systems.

We are always looking for guest-lecturers or industrial collaborators, so please contact me if this is of interest to you!