I have lectured mathematics courses at the following institutions:

  • University of Auckland
  • Northern Illinois University
  • University of Montana

and computer science/software engineering courses at University of Auckland. My CS teaching has all been for courses on algorithms and data structures, or discrete mathematics.

At Auckland, I was¬†involved in curriculum development via the departmental Academic Committee, and also had some influence over grades as the examinations coordinator. More recently I have been involved in major redevelopment of the course COMPSCI220 (focusing on analysis of algorithms), including “flipping the classroom”, co-writing a textbook and a coursebook, and producing over 20 video lectures (these resources are freely available via the links). I am also involved in a formal study of the effectiveness of the changes we are making.


(for students)

(for colleagues)