CS 6182

CS 6182

Course information provided by the Courses of Study 2021-2022.

Probabilistic programming languages are a powerful tool to express randomized computations and model uncertain behavior. This seminar surveys recent research on such languages, from the perspective of programming languages, logic, and verification. The topic naturally divides into three sections. The first part of the course covers the semantics of probabilistic programming languages: what do such programs mean mathematically, especially when the languages are extended with operators for conditioning and inference? The second part of the course covers verification: what does it mean for probabilistic programs to be correct, and how can we formally verify correctness? Finally, the last part of the course covers applications of probabilistic programs.

When Offered Fall.

Permission Note Enrollment limited to: graduate students or permission of instructor.
Prerequisites/Corequisites Prerequisite: CS 4110 or CS 5110 or CS 6110 or permission of instructor.

Comments Students will be able to determine how to apply probabilistic programming to various application domains." 

Outcomes
  • Students will be able to mathematically formalize and rigorously analyze state-of-the-art probabilistic programming languages.
  • Students can verify practically important properties of probabilistic programs.
  • Students will be able to determine how to apply probabilistic programming to various application domains.

View Enrollment Information

Syllabi:
  •   Regular Academic Session. 

  • 4 Credits Stdnt Opt

  • 18188 CS 6182   LEC 001

  • Instruction Mode: In Person
    Seats are reserved for graduate students. Professional and undergraduate students should add themselves to the waitlist during add/drop. See enrollment page for more details: https://www.cs.cornell.edu/courseinfo/enrollment/cs-6000-level-courses