Teaching


Details of duties performed during my tenure as an academic. Module descriptions are available from the respective University’s course catalogues.

University of Strathclyde

I teach on topics relating to functional programming, formal verification, and Cyber Security. Specifically, I teach on the following Masters level modules:

  • CS813: Advanced Information Security
  • CS886: Advanced Security-by-Design

I also supervise undergraduate and masters projects. Specifically, I supervise students taking:

  • CS408 Individual Project (BSc (Hons) Final Year Dissertation)
  • CS958 Individual Project (MSc Dissertation Project)
  • CS811 Dissertation (MSc GA Cyber Dissertation Project)

University of Glasgow

At Glasgow I am involved with a variety of teaching duties at Level 4, MSci, and Masters Level.

2022-2023

  • CS4025P: Individual Project

    • Supervisor to one Level 4 student.
  • CS50xxx: Individual Project

    • Supervisor to one Level 5 student.

2021-2022

  • MSc Project
    • Supervisor to three MSc students.

2020-2021

  • CS4025P: Individual Project
    • Supervisor to two Level 4 Student.

2019-2020

  • CS4025P: Individual Project
    • Supervisor to one Level 4 Student.

2018-2019

  • CS4025P: Individual Project
    • Supervisor to two Level 4 Students.
  • CS4021: Functional Programming with Haskell
    • Co-Lecturer, and tutor on course’s corresponding MOOC.

2017-2018

  • CS4021: Functional Programming with Haskell
    • Co-Lecturer, and tutor on course’s corresponding MOOC.
  • CS4062: Cyber Security Fundamentals
    • Co-Lecturer

University of St Andrews

At St Andrews I performed teaching duties either as a teaching assitant or teaching fellow. I worked on various Undergraduate and Postgraduate courses.

2016-2017

  • CS5032: Critical Systems Engineering
    • Guest Lecturer

2015-2016

  • CS4103 Distributed Systems
    • Lecturer
  • CS4203 Computer Security
    • Guest Lecturer
  • CS1002 Computer Science
    • Tutor
  • CS2002 Advanced Computer Science
    • Tutor
  • Sub-Hons Lab Demonstrator
    • Lab demonstrator for sub-honours courses: CS1002, CS1006, and CS2001.

2014-2015

  • IS5104 Information Security Management
    • Guest Lecturer (Information Assurance)
  • Sub-Hons Lab Demonstrator
    • Lab demonstrator for sub-honours courses: CS1002, CS1006, CS2001, CS1004, CS2002, and CS2003.
  • CS4203 Computer Security
    • Guest Lecturer
  • CS1002 Computer Science
    • Tutor

2013-2014

  • CS4203 Computer Security
    • Guest Lecturer
  • CS1002 Computer Science
    • Tutor
  • IS5104 Information Security Management
    • Guest Lecturer (Information Assurance)
  • CS4203 Computer Security
    • Guest Lecturer
  • Sub-Hons Lab Demonstrator
    • Lab demonstrator for sub-honours courses: CS1002, CS1006, CS2001, CS1004, CS2002, and CS2003.

2012-2013

  • IS5104 Information Security Management
    • Guest Lecturer (Information Assurance)
  • CS1002 Computer Science
    • Exercise class demonstrator
  • Sub-Hons Lab Demonstrator
    • Lab demonstrator for sub-honours courses: CS1002, CS1006, CS2001, CS1004, CS2002, and CS2003.
  • CS4203 Computer Security
    • Guest Lecturer
  • CS1004 Internet Computer Science
    • Tutor

2011-2012

  • CS1002 Computer Science
    • Exercise class demonstrator
  • Sub-Hons Lab Demonstrator
    • Lab demonstrator for sub-honours courses: CS1002, CS1006, CS2001, CS1004, CS2002, and CS2003.
  • CS4203 Computer Security
    • Guest Lecturer. Lecture entitled: Introduction to Predicate Based Encryption Systems.
  • IS5104 Information Security Management
    • Lab demonstrator and Guest Lecturer (Legal Compliance and ISMS)