Teaching Statement:

My pedagogical approach integrates problem-based, active, and constructivist learning frameworks. I structure my curriculum by introducing foundational problems that require intuitive solutions, progressively scaling complexity as students build confidence. By blending informative content with interactive elements, I cultivate an engaging classroom environment that prioritises student participation. I frame my lectures as an interesting story to maintain student interest and improve retention. I utilise a multi-modal toolkit including digital presentations, whiteboarding, and interactive Python notebooks.

Furthermore, I am a proponent of open-source education, maintaining tutorials on GitHub and YouTube, as well as a dedicated wiki for self-directed study.

Recently, I collaborated across departments to develop an interdisciplinary AI introductory course that focuses on the technical capabilities, practical applications, and ethical implications of artificial intelligence.

During the 2010-2012 period, I maintained a full-time equivalent workload across three universities. By synchronising curricula for core CS courses (Programming, AI, Algorithms), I delivered 27+ contact hours per week while ensuring consistent assessment standards across all campuses.

List of taught courses: