Each student will choose one topic from the list below. There are more topics than students and hence not all will be covered. To guarantee sufficient coverage of the different aspects some topics are written in boldface -- all of these should be chosen by someone. The topics written in italics require knowledge of somewhat more specialized (and perhaps difficult) concepts, such as computability or probability theory -- you should only pick such a topic if you feel conformtable reading the papers and understand them well enough.
The topics are split into four categories. The first category is about fundamentals of probabilistic programming, the second covers individual languages and approaches, and the third category lists topics presented more from a statistical perspective instead of computer science. Finally, the fourth category covers applications of probabilistic programming.
Each topic lists one or two papers and is coupled with some keywords for quick screening of interesting topics. The papers linked here are good starting points for covering the topic, but typically the presentation will cover also other material. For some of the topics (for example, Church) there exists massive amount of material so selecting what to cover is important part of the seminar work.
Foundations
1. Semantics of probabilistic programming
Keywords: semantics, theory
2. Program analysis
Keywords: program analysis, importance sampling, inference efficiency
3. Automatic differentiation
Keywords: Automatic differentiation, gradient-based optimization
4. Computability of probabilistic programs
Keywords: measure theory, probability theory
5. Probabilistic logic
Keywords: logic, exact inference, model counting/SAT, MCMC
Languages
6. Probabilistic C
Keywords: C, POSIX, sequential Monte Carlo
7. Church
Keywords: Scheme/Lisp
8. Venture
Keywords: Scheme/Lisp
9. BLOG
Keywords: first-order logic
10. Anglican
Keywords: Scheme, sequential Monte Carlo, Venture
11. Tabular
Keywords: databases, graphical models, factor graphs
12. Picture
Keywords: graphics, rendering, MCMC
13. Figaro
Keywords: Scala, object-oriented programming, MCMC
14. FACTORIE
Keywords: Scala, undirected graphical models, MCMC
15. BayesDB
Keywords: SQL, Monte Carlo, universal models, CRP
16. QUERY
Keywords: Turing machine, inductive reasoning, cognitive science, probability theory
Statistics approaches
17. Statistical software for probabilistic programming
Keywords: HMC, generative models, statistics
18. Bayesian optimization
Keywords: Gaussian processes
Applications
19. Probabilistic program induction
Keywords: human learning, cognitive science
20. Gaussian process memoization
Keywords: Gaussian processes, Venture
21. Automatic statistician
Keywords: Data science, probabilistic modelling