Probabilistic Programming


  • Sriram Sankaranarayanan (srirams@….)

  • Office Hours: By Appointment

Course Syllabus

This is a graduate course on probabilistic programming, an exciting area that combines ideas from statistics, AI, programming languages, and control theory. The course is intended for PhD students and advanced MS students in these areas. It will be a seminar-style class focused on reading textbooks, PhD theses and research papers in this field.


Wish List of Topics:

  • Probabilistic Programming Fundamentals.

    • Measure, Probability and conditional Probabilities.

    • Bayesian Statistics (Prior, Posterior, Likelihood and MAP).

    • Bayes Nets, Dynamic Bayes Nets, and Kalman Filters.

  • Exact and Approximate Inference.

    • Message Passing.

    • Markov-Chain Monte-Carlo.

    • Sequential Monte-Carlo.

    • Variational Inference.

  • Probabilistic Programming Language Design.

    • Semantics of Probabilistic Programs.

    • Continuation Passing Style.

    • Symbolic Approaches.

  • Applications

    • Computer Vision

    • Natural Language Processing

    • Autonomous Systems

  • Advanced Topics (Depending on Available Time).

    • Neural Networks and Probabilistic Programs.

    • Imprecise Probabilities:

      • Dempster-Shafer Structures,

      • p-Boxes, Prob. Affine Forms.

      • Choquet Capacities.

    • From Models to Decisions.

      • Utility Models.

      • Chance Constrained Optimization Problems.


ID Date Topics Covered Resources
1 Tu, 8/28 Probabilistic Programs: an introduction through WebPPL. WebPPL Online Book
2 Th, 8/30 Bayes rule, prior, posterior and likelihood.
3 Tu, 9/4 Continuation Passing Style and Executing Probabilistic Programs
4 Th, 9/6 Particle Filters: Brief overview
5 Tu, 9/11 Metropolis Hastings Algorithm (Chou Yi)
6 Th, 9/13 Gibbs sampler and its applications
7 Tu, 9/18 Sequential Monte Carlo (Saeid Tizpaz Niari)
8 Th, 9/20 Sequential Monte Carlo
9 Tu, 9/25 Implementing MCMC on probabilistic programs.
10 Th, 9/27 Incrementalizing MCMC algorithms

Course Work

The main course work is reading papers, coming prepared to class, and presenting papers on topics in front of the class. Students will be expected to work on a project that employs the ideas in this class to problems encountered in their research.

Standard Course Policies

Honor Code

All students enrolled in a University of Colorado Boulder course are responsible for knowing and adhering to the academic integrity policy of the institution. Violations of the policy may include: plagiarism, cheating, fabrication, lying, bribery, threat, unauthorized access, clicker fraud, resubmission, and aiding academic dishonesty. All incidents of academic misconduct will be reported to the Honor Code Council (; 303-735-2273). Students who are found responsible for violating the academic integrity policy will be subject to nonacademic sanctions from the Honor Code Council as well as academic sanctions from the faculty member. Additional information regarding the academic integrity policy can be found at

Disability Accommodations

If you qualify for accommodations because of a disability, please submit your accommodation letter from Disability Services to your faculty member in a timely manner (for exam accommodations provide your letter at least two weeks prior to the exam) so that your needs can be addressed. Disability Services determines accommodations based on documented disabilities in the academic environment. Information on requesting accommodations is located on the Disability Services website. Contact Disability Services at 303-492-8671 or for further assistance. If you have a temporary medical condition or injury, see Temporary Medical Conditions under the Students tab on the Disability Services website and discuss your needs with your professor.

Religious Observances

Campus policy regarding religious observances requires that faculty make every effort to deal reasonably and fairly with all students who, because of religious obligations, have conflicts with scheduled exams, assignments, or required attendance. If you have an exam or assignment conflict due to a religious observance please notify your instructor in a timely manner. See the campus policy regarding religious observances for full details.

Classroom Behavior

Students and faculty each have responsibility for maintaining an appropriate learning environment. Those who fail to adhere to such behavioral standards may be subject to discipline. Professional courtesy and sensitivity are especially important with respect to individuals and topics dealing with race, color, national origin, sex, pregnancy, age, disability, creed, religion, sexual orientation, gender identity, gender expression, veteran status, political affiliation or political philosophy. Class rosters are provided to the instructor with the student's legal name. We will gladly honor your request to address you by an alternate name or gender pronoun. Please advise me of this preference early in the semester so that I may make appropriate changes to my records. For more information, see the policies on classroom behavior and the Student Code of Conduct.

Sexual Misconduct, Discrimination, Harassment and/or Related Retaliation

The University of Colorado Boulder (CU Boulder) is committed to maintaining a positive learning, working, and living environment. CU Boulder will not tolerate acts of sexual misconduct, discrimination, harassment or related retaliation against or by any employee or student. CU's Sexual Misconduct Policy prohibits sexual assault, sexual exploitation, sexual harassment, intimate partner abuse (dating or domestic violence), stalking or related retaliation. CU Boulder's Discrimination and Harassment Policy prohibits discrimination, harassment or related retaliation based on race, color, national origin, sex, pregnancy, age, disability, creed, religion, sexual orientation, gender identity, gender expression, veteran status, political affiliation or political philosophy. Individuals who believe they have been subject to misconduct under either policy should contact the Office of Institutional Equity and Compliance (OIEC) at 303-492-2127. Information about the OIEC, the above referenced policies, and the campus resources available to assist individuals regarding sexual misconduct, discrimination, harassment or related retaliation can be found at the OIEC Website