15-819 Special Topic: Probabilistic Programming Languages
12 units, Carnegie Mellon University
Probabilistic programs are traditional computer programs that are augmented with the ability to make and constrain random choices. These techniques form the basis of Monte Carlo simulation, randomized algorithms, and statistical inference in probabilistic models from machine learning and artificial intelligence. What are the principles for developing probabilistic programming systems, and how can we use them in practice? This course provides a first introduction to probabilistic programming from theoretical and applied perspectives. The first part of the course covers foundational concepts in probabilistic language design and semantics. The second part covers algorithms and programmatic interfaces for inference, learning, and reasoning with probabilistic programs. Applications will be given in topics that range from program analysis to data science.
Prerequisites: none listed
Offered: Spring 2026
Courseweave needs JavaScript to show sections, workloads and planning tools.