At University of Auckland I taught courses on Algorithms and Data Structures: COMPSCI 220, COMPSCI 320, COMPSCI 720, SOFTENG 250. I also taught COMPSCI 225 and SOFTENG 211, courses in discrete mathematics.

**Resources**

- With Michael Dinneen and Georgy Gimel’farb I wrote a textbook on data structure and algorithms (and formal languages) suitable for the first few semesters of university.
- Lecture notes on sequences and generating functions for COMPSCI 720 at University of Auckland
- Lecture notes on computational social choice for COMPSCI 720 at University of Auckland
- Lecture notes on allocation algorithms for COMPSCI 720 at University of Auckland
- Some recommended reading on generating functions and analysis of algorithms:
- The book generatingfunctionology by H. Wilf.
- The book Foundations of Applied Combinatorics by E. Bender and S. G. Williamson.
- The book Introduction to Analysis of Algorithms, by R. Sedgewick and P. Flajolet.
- The more advanced book Analytic Combinatorics by P. Flajolet and R. Sedgewick
- The book Concrete Mathematics by R. Graham, D. Knuth and O. Patashnik is available from most university libraries. Here is a page containing a list of errata and other information about the book.