Seminar Probabilistic Programming

Seminar in Theoretical CS, Winter Semester 2022/23


  • 02.06.2022: We are online!

Introduction and Assignment of Topics

  • Slides of introduction (TBA)

Dates & Deadlines

TBATopic preferences due
TBADetailed outline due
TBAFull report due
TBAPresentation slides due
TBASeminar talks
TBAFinal revision of report

Note that the full versions of your report and your slides should be your final submission and the camera-ready versions should differ only with regard to minor remarks, comments, and corrections by your supervisor. Please feel free, however, to talk to your supervisor about submitting preliminary versions before the due dates.


This seminar covers a variety of topics in the field of probabilistic programs. Roughly speaking, probabilistic programs are like ordinary programs, with an extra feature: the ability to make some sort of probabilistic choice. Here we show how one can exploit this feature to model, for instance, a duel between two cowboys. Describing randomized algorithms has been the classical application of these programs. Applications in biology, machine learning, quantum computing, security, and so on, have led to a rapidly growing interest in probabilistic programs in the last decade. For almost all programming languages, such as C, C#, Prolog, Haskell, Scala, LISP, a probabilistic variant does exist; and even a variant of Microsoft’s Excel has been developed – see the corresponding Wikipedia entry.


Basic knowledge in the following areas is expected:

  • Probability theory
  • Automata theory
  • Mathematical logic




Registration to the seminar is handled via the SuPra system.

Grading Scheme

You can access the grading scheme here:

Additional Material


Thomas Noll