Teaching

Learn by building, testing and asking why

I teach computing as a technical discipline and a way of understanding real needs, constraints and consequences.

01

ICT for Development

Connecting technical decisions to development contexts, participation and sustainability.

02

Human-Computer Interaction

Understanding people, tasks and contexts through research, design and evaluation.

03

Data Science

Building sound analytical practice from data preparation through interpretation.

04

Programming & software development

Learning through implementation, testing and reflection on real system constraints.

05

Parallel & Distributed Computing

Concepts and practical work in CSC 403, as recorded in the supplied teaching context.

06

Computer Security

Security principles and applied reasoning in CSC 411, as recorded in the supplied teaching context.

Teaching approach

Students need the confidence to implement systems and the judgement to examine whether those systems work for people. I use practical work to connect concepts with design decisions, evaluation and communication.

Course offerings change over time. The areas above describe established teaching experience rather than claiming that every course is running in the same semester. Public teaching resources will appear here only when they are approved for open sharing.