Fall 2026
  • Piazza
  • Slack
  • Syllabus
  • Labs
  • Project

Syllabus

Course Description

Responsible Machine Learning is the science and practice of designing algorithms and deploying AI systems in ways that are socially sustainable. This course introduces students to core technical and socio-technical objectives in responsible AI, with an emphasis on algorithmic fairness, transparency and interpretability, differential privacy, and bias and risk factors for large language models.

This course is sociotechnically grounded. Students will examine how and why machine learning systems can produce harmful or inequitable outcomes, and how different stakeholders (impacted communities, developers, institutions, and regulators) define “responsible” in ways that are sometimes in conflict. Students will learn to evaluate these trade-offs, while thinking carefully about mitigation techniques. There will be a focus on communicating technical results clearly.

The course integrates both conceptual frameworks (ethics, governance, legal and policy constraints) and technical solutions (models with fairness and privacy constraints, explainability toolkits, and more). Students will work in Python to analyze datasets and write models, apply bias mitigation methods, generate explanations for model decisions, and explore privacy-preserving data releases. Students will also work on some problems requiring mathematical proofs and prerequisite knowledge of probability and statistics. Students will be assessed on their ability to present their work coherently and demonstrate mastery of the material.

Learning Goals

By the end of this course, students will:

  1. Understand the motivations and stakes of responsible machine learning, including the historical and ongoing harms caused by poorly designed systems, and why sociotechnical perspectives are essential to addressing them.
  2. Develop fluency with the major tools and frameworks the RML community has produced over the past two decades, including fairness metrics and constraints, interpretability and explainability methods, differential privacy, and LLM risk evaluation.
  3. Gain hands-on experience applying this toolkit to hard, open-ended problems through structured lab work and an original research project.

Course Content and Discussion Norms

Responsible ML is not an abstract subject. To study it honestly we have to look closely at systems that caused real harm, so over the semester we will work with material on criminal recidivism prediction, hiring and lending discrimination, and predictive policing, among other things. Some of that material is genuinely unpleasant, and some of it will sit closer to home for some of you than for others. That said, you cannot evaluate a fairness intervention without understanding the harm it is meant to address.

A few norms: (1) disagreement is expected, but please be courteous in voicing your opinion, (2) assume a range of experience in the room (what is abstract to one person may be concrete to another), (3) you don’t have to stay if something is making you uncomfortable, and relatedly, (4) please let me know (over Slack, anonymously on Piazza, or in office hours) if you think material should be addressed differently in the future. I welcome the feedback!

Logistics

Prerequisites: CSCI 270 (Foundations of Artificial Intelligence) and/or upper-level mathematics coursework: MATH 200 (Discrete Mathematics), MATH/STAT 341 (Probability), STAT 201 (Statistics and Data Analysis), or the equivalent. If you have comparable background from elsewhere, come talk to me.

Structure: Lecture meets Mondays and Thursdays, 1:10-2:25pm in [ROOM]. Lab meets Mondays, 2:30-4:00pm in [LAB_ROOM].

Office Hours: All office hours are held in my office, TCL 308, and come in two forms:

  • Drop-in (Wednesdays, 1:30-2:30pm). No appointment needed. I will be in my office for the whole block; just stop by.
  • By appointment (Mondays 4:00-5:00pm and Thursdays 2:30-3:30pm). These follow lab and lecture respectively. Book a 15-minute slot, or two consecutive slots if you need longer, at least one day in advance. Outside of booked appointments I will not be in my office during these blocks, so please do not drop in on Mondays or Thursdays without a booking!

Appointments are booked through a Google appointment schedule. The link will be posted on Canvas and in Slack rather than on this public page. Because there are many of these slots and they are always available, please do not message me asking for additional meeting times; book a slot instead. I may also hold additional office hours around the midterm and the final, at my discretion, announced on Piazza and Slack.

Open door policy: Outside of the hours above, my door tells you whether I am available. If I am in my office and the door is open, you are welcome to stop by and chat. If the door is closed, I am either not there or would rather not be disturbed. Of course, if you just want to chat or just say hi as you see me around campus, please feel free! This is more applicable to questions that would otherwise be answered during office hours.

Resources: There is no required textbook. The following are free online and were either resources used as this course was developed or good for review:

  • Fairness and Machine Learning (Online Textbook), Barocas, Hardt, and Narayanan. A big reference for the fairness module.
  • CS 860: Algorithms for Private Data Analysis (Course), Gautam Kamath. An excellent course on differential privacy; a big reference for the privacy module.
  • DS-GA 1017: RDS (Course). Julia Stoyanovich. Great RDS course offered at NYU, a big reference for the interpretability module and model for this course.
  • Review of Probability Theory (Notes), Stanford CS229. A short refresher if your probability is rusty.

Electronic Devices: Phones and computers are distracting to you and your peers. Please do not use them during class. This includes laptops for note taking, unless you have an accommodation that requires one. If that is a genuine problem for you, or if you just need a notebook and a pen, come talk to me and we will figure something out.

Communication: This course uses two main forms of communicating.

Piazza: content. Use Piazza for anything technical: lecture material, problem sets, labs, or the project. Piazza handles code blocks and formal mathematical notation properly, which makes it much better suited to these questions than chat or email. Questions that are only loosely related to the course are welcome as well. Piazza also supports genuinely anonymous posting, so please use that if it makes a question easier to ask.

Slack: casual/coordination. Slack is the place for informal course questions, for discussion among yourselves, for setting up project team channels, for posting memes, and for coordinating study groups ahead of the midterm and final.

A few things to know about how I will use Piazza and Slack:

  1. I will monitor Piazza, alongside the Slack #general, #random, and my direct messages. I will not read other channels, so please do not assume that a message posted in a project or study channel will reach me.
  2. I will check Piazza and my direct messages once per day, and I will not check them on weekends or during breaks. Please plan accordingly, particularly near deadlines.
  3. I will try my best to respond within 24 hours to messages / questions, except on weekends and during breaks, when my responses may be heavily delayed. I will always try to respond sooner near a deadline.
  4. A direct message through Slack is my strongly preferred method of 1:1 communication in this course, in place of emails.

One practical consequence of the above: homework is due at 5:00pm on a Friday, and I do not check messages over the weekend. I make no promises about questions sent after Thursday evening on a Friday-due assignment. If you want a reliable answer, ask by Thursday afternoon.

Please do not email me if any of the above methods of communication would suffice, which they should for the majority of matters (an example of an appropriate email topic: “This is my accommodation letter…”).

Grading

Component Weight
Quizzes 10%
Midterm 15%
Final Exam 20%
Labs 20%
Research Project 20%
Homework 15%
Total 100%


Labs (20%):

Lab sections alternate between problem weeks and presentation weeks. See the Labs page for full details. Student demonstrated effort during lab sessions is the main factor in their lab grade. Lab credit is additive, but all students start with 2 points, the equivalent of one lab session. Thus, a student may miss one lab session per semester, no questions asked, and still receive all 20 points. Students cannot exceed the 20 points of full credit. Note that missing additional lab sessions outside the “freebie” will result in a deduction of 2 points per missed session. Exceptions will only be granted under extreme circumstances. Additionally, a student that misses more than half of the lab sections (so, 5 or more sessions) unexcused will automatically receive a half-letter grade deduction on top of the points deductions for the missed labs.

As lab directly follows lecture, students will receive a short additional break between the two (labs will begin at 2:40 instead of 2:30). However, this means that students are expected to be on time for the later start, and stay for the entire lab section unless otherwise released by the instructor. Leaving early or arriving late may result in a deduction of points for that lab session, at my discretion.

Quizzes (10%):

Short quizzes (~10 minutes), consisting of multiple-choice and true/false questions, will be held on Mondays and will cover lecture content from the preceding week OR a recent HW assignment. Students will vote at the start of the semester on their preferred timing within the lecture period: beginning, middle, or end.

Quizzes work the same way as labs. Each quiz is worth 1 point and quiz credit is additive: points simply accumulate across the semester. There are 10 quizzes, and every student starts with 1 point already banked, which amounts to a free pass on one quiz. Full credit requires 10 points, and students cannot exceed full credit. A student may therefore miss one quiz entirely, no questions asked, and still receive full credit. For this reason, make-up quizzes will only be given under extreme circumstances.

Midterm and Final Exam (35%):

The midterm and final exams share a consistent format: a section of multiple-choice and true/false questions (similar in style to the weekly quizzes) and a section of lab-style problems (but easier). Students may also be asked to write some free-responses. The best preparation is a thorough understanding of all quiz questions and lab problems encountered throughout the semester.

The midterm is held in class on Thursday, October 15, the first meeting after the fall reading period.

The timing of the final is up to the class. On the first day we will vote on two options: sit the final during the official December exam period, or sit it in class during the last lecture block on Thursday, December 10.

Make-up exams will ONLY be given under extreme or extenuating circumstances. See the Accommodations section below for some more information.

Research Project (20%):

Students work in groups of two on a semester-long research project applying RAI techniques to an original research question. Deliverables include a GitHub repository, a workshop-style paper, and a class presentation.

Project credit is additive, out of 20 points: 2 points for coming properly prepared to the ideation meeting, 6 for coming properly prepared to the results meeting, 6 for the final presentation, and 6 for the final paper. The two meeting scores reward preparation rather than correctness, but note that they are not free points: if it is clear at the ideation meeting that you have not thought seriously about the project, expect a 1 out of 2 or even a 0. See the Research Project page for full details and milestones.

Homework (15%):

Homeworks will include interactive problems and leverage python / python packages, designed to build intuition. Grading emphasizes completion over correctness, in order to incentivize authentic engagement. Each homework will have a slightly different grading structure, but all homeworks will be worth the same percent of the total grade (5% each).

Students who invest genuinely in the homework will be better prepared for quizzes/exams. In particular, certain quizzes will solely focus on a recently turned in homework; for those quizzes, the best (potentially only) preparation will be to have actively completed the homework. Students who do not spend time on homeworks are likely to find the course more difficult as a whole.

Each homework is released at the end of the Monday lecture in the week it comes out, and is due at 5:00pm on the Friday of the week it is due. Because homeworks run long, a new one will typically be released a few days before the previous one is due; that overlap is deliberate, and is not a reason to leave the earlier one until the last minute.

Every student gets 2 floating late days for the semester, to spend however they like: both on a single homework, or one each on two different homeworks. No request or explanation is needed; just use them. Note that lateness is counted in whole days, so an assignment handed in ten minutes past the deadline costs a full late day, the same as one handed in twenty hours late. Due to the flexibility of this policy, I will be very unlikely to grant additional late days beyond these 2.

Course Policies

Late Policy:

There are not many opportunities to be late in this course. Labs and quizzes give you one free pass. Homework gives you 2 floating late days, and there are only 3 homeworks.

Because of all this built-in slack, I will generally not grant one-off extensions or provide other opportunities to take quizzes unless you have accommodations or extenuating circumstances. If something serious is going on, come talk to me as early as you can, ideally before the deadline rather than after, so that we can plan accordingly.

There are no extensions available for project milestones. The project runs on a fixed schedule with meetings attached to it, and a late milestone knocks the rest of the timeline out of alignment for both you and your partner, which isn’t very fair to them.

Homework handed in after your 2 late days are used up can receive at most 50% credit, and I may not grade it until the end of the semester, so do not count on timely feedback for it. Quizzes, labs, and exams missed without an excused absence receive no credit: there is no partial credit and no make-up for these outside of the accommodations and extenuating circumstances described above.

Canvas:

Canvas serves exactly three functions in this course: posting grades, releasing homework, and posting lab problem set solutions after each presentation week. Your grades and completion credit for every assignment, including labs, quizzes, homework, exams, and the project, will appear there. They may appear other places (i.e. Gradescope) as well, but they will appear collectively on canvas.

Note that the lab problem sets themselves are paper handouts only, given out in lab and not posted anywhere. Only the solutions go up on Canvas, and only after the presentation week for that set.

I will not maintain the Canvas calendar, so please do not rely on it for dates. The schedule on the course home page is the only one you need to pay attention to.

Course Materials:

Lecture slides are posted to the course home page after each lecture, linked from the schedule table.

Quiz solutions may be provided at my discretion ahead of the midterm and the final, during office hours. They will not be posted online.

Grades and Regrade Requests:

I will return grades as quickly as I can, and in any case within one week of the work being turned in. Please do not ask me about a grade inside that window.

Every homework will have a rubric attached to it. You will submit through Gradescope and receive your feedback there, and your midterm and final will be scanned into Gradescope and graded there as well.

Gradescope makes regrade requests easy, and you are welcome to file one whenever you think something has been misgraded. I want to set expectations honestly, though: I am unlikely to give credit back. Homework rubrics are written to be quite giving already. Students will not receive credit back on quizzes or labs unless I have made a mistake in writing the question, in which case message me via slack or call it out on Piazza, and everyone will receive credit back. If a student does find a mistake I’ve made in any course material, thank you! To encourage calling it out, that student will receive a small amount of bonus credit on their final grade.

To be clear: please file a regrade request if e.g. I seemingly misread an answer or applied the rubric incorrectly. Please do not file one simply because you would like a higher score. Regrade requests on the midterm and final follow the same procedure and the same expectations.

Regrade requests must be filed within one week of grades being released for that assignment. After that week the grade is final.

Academic Honesty and Collaboration:

You are encouraged to discuss course material with your classmates. Talking through a concept at a whiteboard/blackboard or comparing intuitions about a problem is a great way to learn!

Homework, however, is individual work. You may not work through homework together beyond that kind of discussion, and what you submit, including all of your code, must be distinctly your own. A reasonable test: if you cannot reconstruct and explain every line of what you handed in, it is not yours.

Violations of this policy, or of the language model policy below, are handled through the Williams Honor Code and referred to the College’s Committee on Academic Integrity.

Language Models:

The official policy of this course is a prohibition on LLM usage, with very specific exceptions, as it gets in the way of learning the material. For example, students who rely on language models for homework assignments may find themselves at a disadvantage when assessments arrive, as exams and quizzes are designed to test understanding, and there will be no technology available when taking them.

Additionally, written portions of the project should reflect the students own scholarly writing and the joint work of both project partners. Thus, students should not use LLMs for technical writing of their final article, beyond an allowed exception for grammatical checks and cleaning up language.

The only exception in this course is that students may use LLMs to assist in programming for their research project. Students will be asked to opt-in or opt-out of this policy during their first project ideation meeting, and I will adjust expectations for the scope of their experiments accordingly. You may reverse that choice once, in either direction, at the results meeting. After the results meeting the choice is fixed for the rest of the project, including everything due at the end.

The project is designed to focus your efforts, and I will be able to tell during the first check-in meeting and during the presentation if you have leaned too heavily on the tools and do not understand your project. You will be penalized if you do not understand your experiments or the code used to produce them. Additionally, if you opted out of usage but then used LLMs anyway to assist in your project code, I reserve the right to construe this as cheating.

Finally: I understand that some students use LLMs as learning aids. I have found them useful in that respect myself! If you are using an LLM to help you prepare for a quiz or one of the exams, or just to help you understand the course material better, I will not stop you from good-faith usage of that kind. I only ask that you refrain from pasting course problems (lab problems, quiz questions, and so on) into these tools verbatim. If you decide to ignore this request, shame on you, but please at least configure your memory and data settings so that the models do not train on it. Thank you.

Engagement:

Please attend and engage during lectures and labs! In labs this is a significant part of your grade.

Outside of excused absences, which you should arrange over Slack and use sparingly, each student gets one “freebie” lecture absence. You do not need to explain it and I will not ask about it. Things come up in life. I may just check in to confirm that you have used your “freebie.”

That said, the freebie does not change how quizzes work: if your absence lands on a Monday quiz lecture, you have missed that quiz. Using your lecture freebie does not entitle you to a quiz retake (you already have an extra quiz point to cover missing one!). Second, if you miss more than one session I will definitely ask you about it, and if you miss many I reserve the right to reduce your overall grade, on top of whatever points you lose through missed quizzes and labs.

Expected Workload:

This is a rough estimate so that you can plan accordingly

  • Homework: very roughly 5 to 15 hours each, but spread out and there are only 3!
  • Labs: session attendance, plus roughly 1 to 2 hours meeting with your group during presentation weeks to prepare, and perhaps 1 to 2 more hours working through the problem set on your own as needed.
  • Lectures/Quizzes: if you felt lost during a lecture, spending an hour or so going back over that week’s slides on your own, or stopping by office hours, will help you succeed on a quiz.
  • Exams: I will release a study guide before the midterm and before the final, expect to spend some time with it to be best prepared.

Weather and Cancellations:

If class is canceled or delayed because of weather, I will announce it on Piazza and Slack as soon as I can.

Academic Accommodations

If you already have a Letter of Accommodation, please reach out to me at the very beginning of the semester. I mean this sincerely and not as a formality: this course has a fair amount of structure to it, including timed in-class quizzes, in-lab problem sessions with no technology, and two exams. Knowing early gives me the time to work out how to structure those things properly for you, rather than improvising the week before an assessment.

If you do not have a Letter of Accommodation and you believe you may be eligible, you can start the process through the Williams accommodation request form.

Campus Resources

Williams has tons of support to help you succeed. Take advantage of it!

Academic support

  • Peer Academic Support coordinates peer tutoring across the curriculum.
  • Quantitative Skills Programs run the Math and Science Resource Center and related drop-in tutoring. If the math or proof-writing in this course is giving you trouble, you can be matched with a quantitative tutor, and I will help you set that up. Please ask early rather than late, and remember this is a completely normal thing to do and can only serve to benefit you!
  • The Rice Center for Teaching supports the tutoring programs above.
  • The Office of Accessible Education arranges accommodations, as described in the section above.

Wellbeing and support

  • Dean of the College. Your class dean is the right first stop when something outside of class is affecting your work.
  • Student Health and Wellness Services for medical and mental health care.
  • The CARE Team, a cross-office group that coordinates support for students who are struggling. These folks are a great resource if you’re having a tough time for any reason!
  • The Davis Center for programming and support around identity, history, and culture on campus. Another amazing resource for building community and finding peers you can relate to!

Reporting and advocacy

  • Title IX Office for sex- and gender-based discrimination, harassment, and misconduct.
  • The PEACe Office, the Office of Intimate Violence Prevention and Response, for confidential advocacy and support.

This syllabus may be updated during the semester. Any change will be announced on Slack and Piazza before it takes effect, and the course home page will always reflect the current version.