Course Meetings
Lectures meet at 2:30 PM on Tuesdays.
The location can be found on Quest.
Course Overview
This course takes the form of a research seminar.
The focus of this offering of CS 842 is probabilistic programming languages (PPLs).
PPLs are powerful tools for probabilistic modeling and probabilistic inference.
In a PPL, programs are probabilistic models describing inference problems,
and the language implementation is responsible for solving the inference problems.
This course examines the state of the art in PPL research.
Differentiable languages are also of interest in this course.
Prerequisites
Some familiarity with the formal semantics of programming languages is assumed.
CS 442 or CS 444 should be an adequate background for this course.
Please discuss with the instructor if you are unsure about your background.
Undergraduate students looking for challenges are welcome.
Coursework
Breakdown of Marks
Class participation |
15% |
Paper presentations |
25% |
Research project |
60% |
Total |
100% |
Participation
Students are expected to attend all lectures and participate in discussions.
Paper Reviews and Presentations
Students will read and discuss topical research papers.
In the lead-up to a paper-discussion session, each student is expected to
share their thoughts on the papers to be discussed,
by posting on HotCRP their reviews of the papers and
optionally respond to others' reviews.
Each student is expected to lead (or co-lead) the discussion of a subset of the
papers. How papers are assigned is based on students' academic backgrounds and
the number of students enrolled. Students responsible for leading a discussion
will write the review of the work at least one
week prior to the discussion.
A review should comprise the following points:
- For a fresh CS graduate to understand the papers, what extra background knowledge would they need?
- A summary of the work in one's own words
- A detailed critique of the work, discussing contributions, limitations, and where it is situated in the broader research backdrop
- Half-baked ideas about future research
- Questions to kick-start the discussion
Research Project
Each student will design and complete a small project in the area of PPLs.
This involves proposing a project,
accommodating feedback from the instructor,
giving a presentation about the project,
submitting a final report,
and participating in the peer review of others' projects.
Each student is expected to undertake an individual project. Collaboration in
pairs is permitted, but projects involving partnerships will be held to higher
expectations. The primary objective of the project is not to produce a
publishable piece of research; however, a well-executed project should serve as
a promising initial step toward that goal.
The topic of the project is up to each student but should be related to the
design, implementation, or semantics of probabilistic languages.
Merely using probabilistic languages to implement applications is not
sufficient.
Please discuss with the instructor if you are unsure about your project topic or
need help finding a topic.
By June 21, email the instructor a 1-page proposal addressing the following:
- Motivation (explain why the proposed research is interesting)
- Related Work (discuss how the proposed research relates to prior published research and provide citations)
- Execution plan (explain what concretely you plan to do to complete the project)
By August 11, submit the final report to HotCRP.
By August 16, submit reviews of assigned reports to HotCRP.
The proposal and the final report should be in the form of
PDF files typeset with the acmart format
and the acmsmall subformat.
All submissions are due at 11:59 PM Eastern Time on the due date.
Course Staff
Other Notices