This is an introduction to probabilistic programming for people from across the broad spectrum of backgrounds at the workshop, so it starts with the absolute basics. In particular, I find that most introductions to PPL are written for and by machine-learning and statistics experts. (Here's an exception from Michael Hicks at the Programming Languages Enthusiast blog.) I'm a programming-languages person, so these notes start from the opposite perspective.
The notes originated as an overview lecture at the November, 2015 Dagstuhl seminar on approximate and probabilistic computing. I'm currently using them as the foundation of an "advanced topic" lecture in CS 4110 at Cornell. View the current version published from this repository.
By Adrian Sampson. The content is available under the Creative Commons Attribution license.