I teach both undergraduate and postgraduate courses in introductory computer science, programming, programming languages, language design and implementation (“compilers”), and object-oriented development, as well as research seminars.