Mini Course: Graph Theory

Graph theory provides mathematical tools for building and analysing structures commonly referred to as networks or graphs - structures with nodes/vertices and connections/edges. Examples include social networks, food webs, neural networks, biochemical systems, logistics operations, and many more.

By understanding some of the basic notation, facts, and algorithms used in graph theory, you will be able to quickly apply these concepts to real-world data to gain intuitive and often a very visual insights.

In this mini course you will be introduced to graph theory from the ground up - there are no mathematical prerequisites! Each session will be half theory and half application. Tutors will encourage and support you to analyse your own data from a graph theory perspective. We will be teaching using the Python programming language in the course, and only a basic understanding of programming is expected (e.g., variables, loops, functions, installing/importing a package, and loading data files).

Target audience

This course is suitable for anyone.


The teachers will be Yuka Suzuki, Tom Burns, Maki Thomas, Otis Brunner and Lakshmipriya Swaminathan (PhD Students).


The mini course is broken down into four sessions of two hours each (1 hour theory, 1 hour practice):

Date Time Topic Lead Teacher
Tuesday, March 2 1PM - 3PM Introduction: graph theory concepts and notation. Link to the Google Colab. Yuka
Thursday, March 4 1PM - 3PM Partitioning: how graphs can be broken down into and understood as compositions of smaller graphs. Link to the Google Colab. Otis
Tuesday, March 9 1PM - 3PM Flow: how graphs can model the movement of information, material, or organisms in a physical or abstract environment. Link to the Google Colab. Tom & Maki
Thursday, March 11 1PM - 3PM Dynamics: how graphs can be supplemented with dynamics or build by dynamics for study of phenomena that change over time. Link to the Google Colab. Lakshmi

You will find all the material used for this course here.

The course was recorded, here are session 123 and 4.

More information

  • Location: B701, Lab 3.
  • Zoom link: if you prefer joining remotely, or if B701 exceeds 50% capacity, you can join using this link. Unfortunately, we won't be able to provide much help with the hands-on part via Zoom. 
  • What to bring: a laptop with the following prepared:
    • (optional) working Python 3 local environment
  • Recording: this course might be recorded and uploaded online, only the teacher will be seen. Contact Jeremie Gillet if you have reservations about this.
  • Drinks: There will be free coffee and tea, bring your cup!

If you are interested in the course but cannot participate to this particular event, let us know and we will contact you for any later occurrence of the course.

Thank you very much for your interest.

1 Start 2 Complete
On a scale of 1 (beginner) to 5 (expert) how would you rate your knowledge of graph theory?
On a scale of 1 (beginner) to 5 (expert) how would you rate your programming abilities in Python?
Why are you interested in this course? Is there a particular thing you would like to learn?