Ohad's Research - Teaching


I currently do not teach any courses, but I do supervise Honours (UG4/MInf) and MSc projects.

I’m developing a lecture course on type-driven probabilistic modelling. Having offered it at advanced and introductory, and at undergraduate level, I hope to soon offer regularly. If you are an undergraduate, especially in Edinburgh, and would have liked to see it on offer, please get in touch.

I strive to use my teaching roles to tie cutting-edge research to the broader computer science subject, and to make this material accessible and interesting for students.

Past Courses

While in Cambridge, I was involved with teaching the following courses:


Part III/MPhil/MSc

I also supervised (Cambridge terminology) and tutored (Oxford and Edinburgh terminology) undergraduate courses across the Computer Science curriculum: Cambridge:

  • Part IB/UG3, Semantics and the corresponding Language semantics and implementation.
  • Part II, Types.
  • Oxford Computer Science and Joint Schools
    • Prelims (UG1):
      • Functional Programming
      • Design & Analysis of Algorithms
      • Imperative Programming Parts 1, 2 and 3
      • Discrete Mathematics
      • Linear Algebra
    • Part A (UG2):
      • Compilers
      • Algorithms and Data Structures
      • Models of Computation


In 2014, I organised a reading group on recursive domain equations (following these notes) with: * Alex Chadwic * Adam Ścibior

Surprisingly, while reading we found something new about ω-colimits of embedding-projection pairs, which was presented at the 11th international workshop on domain theory and applications.

Adam and I have had a fruitful collaboration later about the semantics and implementation of probabilistic programming languages.