- University of Aberdeen
- JC1001 Python Programming Foundation (Course Lead)
- JC1503 Object-Oriented Programming (Course Lead)
- JC2001 Introduction to Software Engineering (Group project supervision)
- JC3510 Intelligent Software Implementation (Group project supervision)
- JC4004 Natural Language Processing (Course Lead)
- JC4500 Undergraduate Thesis Supervision
- University of Sheffield (TA)
- COM6115 Text Processing
- COM4513 Natural Language Processing
- University of Aberdeen (TA)
- CS5062 Machine Learning
- CS4025 Natural Language Processing
- CS551G Data Mining and Visualisation