I have given lectures, classes, and tutorials for the following courses:

** Lectures **

- Probability and Computing
- Mathematics for Computer Scientists 2 (Warwick)
- Algorithms for Constraint Satisfaction Problems (Algorithmic Winter School)
- Complexity of and Algorithms for Valued Constraint Satisfaction Problems (QuantLA)

**Classes**

- Probability and Computing
- Computational Complexity
- Automata and Formal Languages (Warwick)
- Advanced Data Structures and Algorithms
- Theory of Data and Knowledge Bases
- Randomised Algorithms
- Data Structures and Algorithms
- Functional Programming
- Introduction to Programming (Charles University)

**Tutorials**

- Models of Computation
- Design and Analysis of Algorithms
- Advanced Data Structures and Algorithms
- Linear Algebra
- Logic and Proof
- Discrete Mathematics
- Imperative Programming 1
- Imperative Programming 2
- Introduction to Formal Proof
- Object Oriented Programming
- Digital Systems
- Concurrency