Teaching

Artificial Intelligence

Undergraduate and Postgraduate course, University of East Anglia, School of Computing Science, 2019

A module focused on AI and Machine Learning. Topics covered include state space representation and search algorithms, knowledge representation, natural language processing, chatbot, expert systems, Bayesian networks, Markov models, neural networks, and deep learning.

Architectures and Operating Systems

Undergraduate course, University of East Anglia, School of Computing Science, 2019

Topics covered include the organisation of system software and the underlying hardware architecture in modern computer systems, cover ARM Assembly language and C programming for OS scheduling and memory management.

Ubiquitous Computing

Undergraduate and Postgraduate course, University of East Anglia, School of Computing Science, 2019

A module focused on taking computing power away from the desktop. Topics covered include Signal Processing, Machine Learning, Human Computer Interaction, Internet of Things, Networks, and the use of hardware.

Data Structures and Algorithms

Undergraduate course, University of East Anglia, School of Computing Science, 2022

Topics covered include design, analysis and implementation of algorithms and in the efficient implementation of a wide range of important data structures.

Programming 1

Undergraduate course, University of East Anglia, School of Computing Science, 2022

This module introduces essential features of object-oriented programming usinig Java as well as an introduction to Python.