Teaching & Supervision

I am accepting students. If you would like to work with me in projects involving Applied Category Theory, Graph Theory, Logic or Computational Complexity Theory, feel free to get in touch by email. I’ll be happy to discuss project ideas with you and find a topic that fits our joint interests.

Teaching Statemement


Teaching is giving opportunity to the students to discover things by themselves” (Póyla) – these words fundamentally inform my approach. Teaching should be purposeful, challenging and empowering. For this reason when I teach I always try to be a guide rather than a lecturer: I carefully select questions, problems and exercises that lead the students — just as Pólya would advocate — to discover the subject on their own. To facilitate deep understanding and retention of mathematical concepts, I employ active learning strategies, collaborative problem-solving, and real-world applications in my courses. I encourage students to ask questions, explore mathematical ideas, and make connections between theory and practice. By engaging students in discussions, problem sessions and group activities I aim to cultivate their problem-solving skills and help them appreciate the relevance of the topics within the broader fabric of mathematics and in their lives.

The CSA Africa workshops. I have put this teaching philosophy into practice many times both at my home institutions and abroad, both in university lecture halls and in the many outreach activities I have participated in. One such experience which was particularly transformative was PWSAfrica (now known as the Computer Sience Academy Africa (CSA Africa)”). To do it justice, though, I should think back to February 2018 when my then PhD office-mate Sofiat Olaosebikan approached me with the idea of going to her home country of Nigeria to teach scientific computing to mathematics students. This harmless conversation during an office coffee break culminated in the birth of CSA Africa, an international outreach initiative of the University of Glasgow aiming to provide young Africans in STEM with access to quality computer science education. I was among the five founding members. We found independent funding to provide laptops for students who did not have their own and I organized and taught the 2018 (Ibadan, Nigeria) and 2019 (Kigali, Rwanda) iterations of the program.

A unique experience as a course coordinator. Since the CSA Africa workshops only last two weeks and it is difficult to provide support from seven thousand kilometers away, the goal of CSA Africa is to empower students with the ability to learn whatever programming paradigm they might need on their own and to do so quickly. The unique background of the students as well as the constraints in regards to time and access to resources, required a flexible learning materials that students of many different backgrounds could learn from effectively. My role as course coordinator was to develop the curriculum and course notes for the intense two week all-day workshop. To no one’s surprise I chose to present the material in a problem-based style. Both in Nigeria and in Rwanda we chose a concrete overarching project which we expected the students to be able to tackle by the end of the workshop. The project was very ambitious: we were expecting the students (some of whom had no programming experience whatsoever before the start of the class) to write a language interpreter for the esoteric programming language “Brainfuck” after only two weeks or learning. Nevertheless, the workshop was an overwhelming success and many of our students pursued PhDs; masters in data science, machine learning; and careers in the tech industry by leveraging the skills they learned in our course. I believe that I owe this success to my fantastic colleagues and the keen students we taught, but I also owe it to the teaching method itself and to the enthusiastically inclusive environment we fostered during the workshop.

How I learn from my teaching. This experience, along with many others at the Universities of Glasgow, Eindhoven and Florida, taught me the importance of meticulous, almost chirurgical planning of course materials which I develop as a series of questions and written solutions for the students to refer back to. Having well-written course notes keeps conversations and discussions we have during class more focused and ensures that we can all put our best effort into learning challenging material without unnecessary frustration. My teaching experiences also instilled in me the deep belief that students will raise to a challenge if it is posed clearly along with a transparent set of expectations both for me and the rest of the class. I tell my students that the material will be challenging and I explain to them what kind of work this will entail on their part. But I also tell them even more clearly that my job is to give them ample support through the entire process. I am committed to providing mentorship and support to my students both inside and outside the classroom. I believe in the importance of one-on-one interactions to address individual needs, clarify doubts, and guide students in their academic and career paths. I actively seek opportunities to connect with students and provide guidance on research projects, career goals, and personal development.

Accessibility and inclusiveness. Being often self taught, I am passionate about removing barriers to areas of mathematics that can appear inaccessible or hard to grasp. Being at the forefront of a new field, I see myself in the perfect position to transform the teaching of algorithmics, category theory and the discrete mathematics. Category Theory in particualr has always had an unfair reputation for being `abstract nonesense’ only available to the initiated few. For this reason I was overjoyed when I had the opportunity to co-teach a special topics course in Category Theory run by Dana Bartosova at the University of Florida.

I took this course as an opportunity to diligently craft a space for students to discover the material for themselves. My goal was to demonstrate very quickly why the material is interesting and most importantly how this course would change their thinking. Once again this was a success: within the first two lectures of the course we were able to eventually `guess‘ what the definition of a category should be. I achieved this through a series of targeted questions which got the students to make the followign three seemingly simple, but fascinating observations about products:

1. many mathematical structures (sets, monoids, groups, graphs, etc.) come equipped with a notion a product,
2. all of these notions are intuitively related, but it is hard to formally pin down how and
3. many of these definitions, despite being obvious, suffer serious flaws; they are not associative!

By guiding the students to these observations, I was able to capture their interest and convince them that there was some missing meta-mathematical structure that needed to be explored. This brought us to eventually guessing the categorical, isomorphism-invariant definition of a product which we used to reverse-engineer the definition of a category. Students were then shocked to discover that, although they had started by studying products, they ended up discovering coproducts entirely through categorical duality and through much of their own effort. It is a huge teaching achievement be able to guide the students to discover the usefulness and the depth of a renownedly abstract branch of mathematics within two hours of class and I am proud of it.


In conclusion, I am deeply committed to the advancement of mathematics education, and I am excited about the opportunity to make a lasting impact on students and mathematics education itself. I am confident that my teaching philosophy, active learning strategies and dedication to inclusivity and diversity will contribute immensely to the learning experience of my students.