Programming Languages

Probabilistic Programming (Praktikum)

The world is full of randomness and uncertainty. Modeling random processes helps us make better decisions, but it is not always intuitive how to work with these models. Probabilistic programming languages enable us to describe complicated probability models and obtain properties relevant for decision making through the power of modern computers. In this module, we learn the basics of probabilistic programming using the language WebPPL.


We work with the book Probabilistic Models of Cognition. We meet every week. Each meeting is about a chapter of the book. All of you will have read that chapter and done the exercises. One of you will present the chapter and their solution to the exercises during the meeting. Active participation in the discussion is expected. Over the course of the semester we will decide upon an individual probabilistic programming project that you will have time to complete until the end of the semester. You will not have to present the project, only hand it in in the form of code and documentation. Your grade will be based on the presentation of the chapter and the project you handed in, weighted equally.

Entry in the Campus system: Link

First Meeting

We will have our first meeting on Monday April 15 at 14:00 in room A104, Sand 1.

Next Meetings

We meet once a week. Please fill in your availability in this doodle poll until Friday, April 19. The next meeting will be in the week starting from Monday, April 29.


To participate in this course, send an email containing your name, Matrikelnummer and Studiengang to Philipp Schuster.


If you want to get an impression of what probabilistic programming is you can check out Making Money Using Math by Erik Meijer.



Knowledge in probability theory is helpful but not required.