Lent Term 2010

This is the webpage for a 16-lecture course in Algorithms that was given to undergraduate mathematicians at Cambridge in early 2010. The aim was to give a broad outline of the subject, as well as to illustrate the techniques that are used in designing algorithms. Here are examples of the types of things that were covered in the course:

For a more detailed syllabus, see the course schedule: pdf, html.

The lectures were videoed and also supplemented by example sheets, supervisions, challenges and an online system with programming exercises. Many of these things would not have materialised were it not for the generous assistance of Freddie Manners and Ludwig Schmidt, and I am very grateful for their help. I would also like to thank Jacob Davis for kindly proofreading all the lectures and making many useful suggestions, as well as Carl Turner and Matvey Soloviev for taking the time to type up notes for the course and offering to make their work freely available.


Full lecture notes by Carl Turner: pdf

Videos of the lectures

Handout 1: Graph Terminology (pdf)
Handout 2: Dijkstra with Heaps (pdf)

Lecture feedback

Example Sheets and Challenges

Example sheet 1: pdf
Example sheet 2: pdf
Example sheet 3: pdf

Course leaderboard and challenges

Related courses

Algorithms - Data Structures and Computational Complexity, a sequel given in Lent 2011.

Contact details

E-mail: tucac2010 AT