Syllabus
This is the syllabus for CS4973/6984. Please read the syllabus in its entirety.
1 Logistics
Input/Output: Important messages will be sent as Canvas announcements. You are responsible for ensuring that you receive these messages. All graded work will be submitted to GradeScope. A course code for joining the GradeScope is on Canvas.
You are expected to attend all sessions in-person. If you cannot attend, email the instructor in advance.
2 Course description
Foundations of probabilistic programming. Our main goal in this module is to build familiarity with probabilistic programming languages as a programming paradigm and modeling tool. After this module you will be able to: (1) translate a written problem statement into a probabilistic program in order to get an answer; (2) run a probabilistic program by hand and explain its semantics; (3) follow a specification to implement a simple discrete probabilistic programming language.
Probabilistic inference. Our main goal in this module is to develop the algorithmic foundations of scalable probabilistic reasoning. After this module you will be able to: (1) select an appropriate inference algorithm for a particular task; (2) compare the performance of inference algorithms based on their worst-case algorithmic complexity; (3) implement inference algorithms.
Topics. This module will explore the broader landscape of probabilistic programming languages, and will be student-driven. We will collaboratively select topics to explore.
3 Course Materials
The course will have a mixture of selected readings and course notes from the instructor. All course materials will be available on this webpage. This course has no textbook, but here are some references that I will be using over the course of designing this class:
4 Coursework and Grading Policies
Participation (30%). This will be a highly interactive course format. Participation will take the form of (1) attendance; (2) participation in discussion; (3) reflection cards. Some lectures may involve pre-reading; there will be participation points associated with performing this pre-reading. Email the instructor if you cannot attend a session in-person to find an accommodation.
Final project. (50%) The course will have a final project that involves either (1) using a probabilistic programming language to model an interesting problem of your choosing; or (2) implementing a probabilistic programming language and benchmarking its performance on example tasks. The syllabus and rubric for this final project is on this course webpage.
Assignments (20%). The course will have minor take-home assignments that involve implementation and/or modeling exercises. These assignments will be available on this course webpage.
At the end of each session, students will hand-write a reflection card to turn in to the instructor. The reflection card will contain (1) a brief summary of what they learned during this session; (2) a question they have about the session; (3) something they wanted to learn more about.
Grades are allocated by points, and the percentage is determined by the percentage of total points within each category.
4.1 Late work policy
Late work will not be accepted without a pre-arranged accommodation from the instructor. Please email the instructor if you think you will not be able to turn in any course material on time.
4.2 Grading thresholds
Letter grades will be assigned according to a standard grading threshold based on percentage of total points:
Score range | Letter grade |
>93 | A |
≥90 | A- |
≥87 | B+ |
≥83 | B |
≥80 | B- |
≥77 | C+ |
≥73 | C |
≥70 | C- |
≥67 | D+ |
≥63 | D |
≥60 | D- |
<60 | F |
5 Academic Honesty
Cheating and other acts of academic dishonesty will be referred to Khoury College. There are very serious penalties here, so please do not take any chances by copying any material from the Internet or from other past or present students of this course or related courses. In particular, when completing the programming assignments, it is important that you do not refer to any completed solutions that you find on the Internet. When in doubt, ask the instructor or consult the Northeastern academic honesty page here.
LLM usage. LLMs like ChatGPT and Claude are widely available. You are welcome to use these tools as you see fit throughout the course. If you do, you should include an AI Usage Statement on any graded material clearly explaining how AI was used. I will expect you to defend anything that is produced: this may involve answering questions about material during class sessions or giving a brief presentation. The instructor will not use LLMs in the preparation of any written course material.
Remote policy The instructor will follow university policies on whether or not the course is to be taught in-person. The class is assumed by default to be in-person: the instructor will make an announcement if it will not be in-person. If the class is to be remote, it will be taught online using Zoom, and a link will be available in Canvas under the Zoom tab. Lectures may be recorded under certain circumstances. Please feel free to contact the instructor if you have any questions.
5.1 Title IX
Title IX of the Education Amendments of 1972 protects individuals from sex or gender-based discrimination, including discrimination based on gender-identity, in educational programs and activities that receive federal financial assistance.
Northeastern’s Title IX Policy prohibits Prohibited Offenses, which are defined as sexual harassment, sexual assault, relationship or domestic violence, and stalking. The Title IX Policy applies to the entire community, including male, female, transgender students, faculty and staff.
If you or someone you know has been a survivor of a Prohibited Offense, confidential support and guidance can be found through University Health and Counseling Services staff (https://www.northeastern.edu/uhcs/) and the Center for Spiritual Dialogue and Service clergy members (https://www.northeastern.edu/spirituallife/). By law, those employees are not required to report allegations of sex or gender-based discrimination to the University.
Alleged violations can be reported non-confidentially to the Title IX Coordinator within The Office for Gender Equity and Compliance at: mailto:titleix@northeastern.edu and/or through NUPD (Emergency 617.373.3333; Non-Emergency 617.373.2121). Reporting Prohibited Offenses to NUPD does NOT commit the victim/affected party to future legal action.
Faculty members are considered "responsible employees" at Northeastern University, meaning they are required to report all allegations of sex or gender-based discrimination to the Title IX Coordinator.
In case of an emergency, please call 911.
Please visit https://www.northeastern.edu/titleix for a complete list of reporting options and resources both on- and off-campus.
5.2 Students With Disabilities
Students who have disabilities who wish to receive academic services and/or accommodations should visit the Disability Access Services at 20 Dodge Hall or call (617) 373-2675. If you have already done so, please provide your letter from the DRC to me early in the semester so that I can arrange those accommodations.