Teaching
QMUL (2007-present)
- Spring 2009: Extremal Combinatorics. An extremal result is one which determines the extreme value of some parameter over a class of combinatorial structures. A classical example is Mantel's theorem which answers the question: how many edges can a graph have without it containing a triangle. Another instance is the Erdos-Ko-Rado theorem which answers the question: how large can a family of r-subsets of an n-set be if any two of them have non-empty intersection. This module will cover results of this flavour on both graphs and set systems. There will be an emphasis on techniques as well as results, including the use of linear algebra, probabilistic methods and compressions.
- Spring 2009: Algorithmic Graph Theory. This module uses an
algorithmic approach to introduce basic concepts and results on graphs
and networks. It also shows how fundamental optimisation problems on
graphs and networks, such as finding shortest paths or maximum flows,
can be solved efficiently. Key objectives for the course are to be able
to describe and implement the following algorithms, to be able to
estimate their complexity, and to understand the theoretical results on
which they are based.
- Finding the components of a graph and the strongly connected components of a digraph.
- Constructing breadth first search and depth first search spanning trees of a connected graph.
- Minimum weight spanning trees in a connected graph (Prim and Kruskal algorithms).
- Dijkstra's algorithm to find a shortest path spanning tree in a graph or digraph.
- The max flow/min cut algorithm for finding a maximum (s,t)-flow in a network.
- Finding a maximum matching and a maximum weight matching in a bipartite graph.
- Euler trails in a graph or digraph and the Chinese Postman Problem.
- Spring 2008: Algorithmic Graph Theory. (As above.)
- Spring 2008: Cryptography (course co-organiser). This module gives a mathematical introduction to the classical topic of making and breaking codes, including a practical project, the "cipher challenge". Topics covered are:
- History and basic concepts: substitution and other traditional ciphers; plaintext, ciphertext, key; statistical attack on ciphers.
- One-time pad and stream ciphers: Shannon's Theorem; one-time pad; simulating a one-time pad; stream ciphers, shift registers.
- Public-key cryptography: basic principles, including brief discussion of complexity issues; knapsack cipher; RSA cipher; digital signatures.
- Optional topics: secret sharing, quantum cryptography, the Enigma cipher
Caltech (2004-2007)
- Spring 2007: Ma 3 - Number Theory for Beginners. The theory of numbers is one of the most important and accessible topics in mathematics, and has exercised human curiosity since the time when ancient civilizations needed an understanding of simple arithmetic. This course will give an introduction to elementary Number Theory, discussing various classical topics in Higher Arithmetic, including Euclid's algorithm, congruences, Diophantine equations, quadratic reciprocity, Fermat's Little Theorem and applications such as RSA public key cryptography.
- Fall 2006: Ma 121a - Combinatorial Analysis. Ma 121abc is the advanced undergraduate and/or introductory graduate course in combinatorial mathematics. The emphasis this term (Ma 121a) will be on the foundations of combinatorics, including background material from graph theory, extremal set theory, partially ordered sets, enumeration, partitions and combinatorial optimization.
- Spring 2006: Ma 194c - Combinatorial Number Theory. In recent years, there has been much progress in understanding the combinatorial structures arising from arithmetic operations, using techniques from many branches of mathematics, including probability, Fourier analysis, and ergodic theory. Highlights are proofs of Freiman's structure theorem and Szemeredi's theorem on arithmetic progressions that are considerably shorter and easier to understand than the originals. In this class we will work through some of the current research in this field, culminating with the recent result of Green and Tao showing that the primes contain arbitrarily long arithmetic progressions.
- Winter 2006: Ma 121b - Combinatorial Analysis. Ma 121 is the advanced undergraduate/introductory graduate course in combinatorics. In the second term we will concentrate on two powerful techniques for solving combinatorial problems: the linear algebra method and the probabilistic method. Topics covered will include classical results of extremal set theory, designs and codes from the algebraic perspective, together with sieves and random walks from the probabilistic perspective. We will also explore some connections with theoretical computer science, such as computational complexity and derandomisation.
- Fall 2005: Ma/CS 6a - Introduction to Discrete Mathematics. This is the first term of a three quarter survey course on Discrete Mathematics. The main topics will be enumeration and graph theory, with additional material on probability, number theory, geometry, codes, complexity and cryptography.
- Spring 2005: Ma 121c - Combinatorial Analysis. Ma 121 is the advanced undergraduate/introductory graduate course in combinatorics. The third term will concentrate on the probabilistic method, which is a powerful tool premised on the following basic idea. In order to prove existence of a combinatorial structure with certain properties, we construct an appropriate probability space, and show that a randomly chosen element of this space has the desired property, with positive probability. Topics covered will include the second moment method, the local lemma, martingales, correlation and large deviation inequalities, Poisson approximation and pseudo-randomness.
- Fall 2004: Ma 121a - Combinatorial Analysis. Ma 121abc is the advanced undergraduate and/or introductory graduate course in combinatorial mathematics. The emphasis this term (Ma 121a) will be on the foundations of combinatorics, including background material from graph theory, extremal set theory, partially ordered sets, enumeration, partitions and combinatorial optimization.