Courses taught

Courses I am teaching or have taught previously:

Most of the notes, assigmnents and reading material can be found on the Makerere University E-Learning Environment.

Graph Theory files

(Gnucleus peer network; human neuron connections; Tokyo subway map)

This is a short course introducing the basic concepts in graph theory, with an emphasis on algorithms and practical techniques for solving combinatorical problems.

Outline lecture notes
Week 1 notes: Introduction to graph theory
Week 2 notes: Trees, minimum spanning trees
Week 3 notes: Connectivity
Week 4 notes: Euler tours
Week 5 notes: Matchings and coverings
Week 6 notes: Colourings
Week 7 notes: Directed graphs
Week 8 notes: Network flow
Week 9 notes: Message passing in graphs

Practical files (requiring Python/Matplotlib/NetworkX):
Network flow example:
Matching example:
List of pairs for connectivity practical: pairs.txt
Shortest path example:
Sudoku solver with brute force search:
Sudoku solver with generate and test:
Sudoku solver with arc consistency: sudoku_Arc_Consistency .py