Teaching

Award-winning educator employing hybrid and blended teaching methods

Suggested Topics for Supervision (UG/MSc)

Automated Identification of Connected Autonomous Vehicle Risk Scenarios

High Difficulty ML Safety Security Industry Collaboration

Build a sensor data processing algorithm to identify scenarios and extract key parameters describing risk, make use of these identified scenarios to improve safety in autonomous driving.

Potential Steps
  • Using object identification from sensor video data to automatically identify one or more scenarios of interest
  • Identify key safety parameters describing automated vehicle performance from already identified scenarios, and statistical methods to describe safety
  • Processing parameters to improve road driving safety

Automatic Generation of Cryptographic Protocols Source Code

Very High Difficulty Formal Methods Cryptography Security

Automatically generate running protocol code from a standard protocol specification (such as MetaCP).

Potential Options
  • Generate source code from that specification to multiple target languages (considering the semantics of both the specification and target language)
  • Draw conclusions about the implementation and the security results
  • Implement a graphical interface for no-code implementation of cryptographic protocols (e.g., key exchange). The generated code must compile and run in real-world environments

Robustness and Verification of IDS Networks

High Difficulty ML Formal Verification Security

Machine Learning Algorithms are vulnerable to attacks. Your task is to make ML algorithms for intrusion detection more robust and resilient.

Potential Options
  • Apply adversarial training on existing/newly designed Intrusion Detection Systems to thwart attackers
  • Formally verify an Intrusion Detection System to be robust against attackers
  • Attack an Intrusion Detection System to find ways to bypass it

Federated Learning for Optimum Decision Making in Cryptocurrency Trading

Very High Difficulty ML Finance Industry Collaboration

Build a distributed trading system operating on different currencies/exchanges to profitably trade and make group decisions optimizing for profitability.

Potential Steps
  • Optimize for number of agents and exchanges
  • Try different optimization strategies, e.g., local vs global
  • Implement paper trading system to evaluate effectiveness of strategies

Module Leadership

Networks and System Security (UG)

University of Birmingham · Co-Module Leader · Feb 2024 – Present

Malware, Forensics and Penetration Testing (MSc)

University of Birmingham · Co-Module Leader · Feb 2023 – Present

Secure Programming (MSc, INFR11098)

University of Edinburgh · Module Leader · Jan – May 2022

Informatics Staff Award

Teaching Tools

Vehicle Tutorials

Hosted tutorials for industry and academia at international conferences and UK Cyber Security Institute on neural network verification with Vehicle.

Tutorial

Automatic Judge System

Automated judge system evaluating code quality and structure, with automated marking through testcases and feedback. Built with PHP, MySQL, Java, JUnit.

CTF Competition Tool

Coursework tool for Capture The Flag security competitions. Generated unique challenges for students in virtual security environments. Built with C, Java, Python, NodeJS.

Teaching Assistant Positions

  • Security Analysis of Complex Systems (MSc), 2019–2020
  • System Security (MSc), 2019–2020
  • Cryptography (UG), 2016–2020
  • System and Network Security (UG), 2016–2020
  • Software Engineering (UG), 2016–2020
  • Understanding Concurrency (UG), 2016–2020
  • Website Construction & Management (UG), 2016–2017

All positions at Newcastle University