Embedded EthiCS @ Harvard Bringing ethical reasoning into the computer science curriculum

We Value Your Feedback! Help us improve by sharing your thoughts in a brief survey. Your input makes a difference—thank you!

Introduction to Algorithms and their Limitations (CS 120) – Fall 2023

First time reviewing a module? Click here.

Click  to access marginalia information, such as reflections from the module designer, pedagogical decisions, and additional sources.

Click “Download full module write-up” to download a copy of this module and all marginalia information available.

Module Topic: Matching Algorithms for Ethical Organ Distribution
Module Author: Camila Hernandez Flowerman (modified from Megan Entwistle’s Fall 2022 module)

Course Level: Upper-level undergraduate
AY: 2023-2024

Course Description: “An introductory course in theoretical computer science, aimed at giving students the power of using mathematical abstraction and rigorous proof to understand computation. Thus equipped, students will be able to design and use algorithms that apply to a wide variety of computational problems, with confidence about their correctness and efficiency, as well as recognize when a problem may have no algorithmic solution. At the same time, they will gain an appreciation for the beautiful mathematical theory of computation that is independent of (indeed, predates) the technology on which it is implemented.” (CS 120 Harvard Catalog)

Semesters Taught: Fall 2022, Fall 2023

    Tags

  • algorithms [CS]
  • algorithmic design [CS]
  • maximum matching algorithms [CS]
  • fairness [phil]
  • maximization [phil]
  • utilitarianism[phil]
  • maximin [phil]

Module Overview

In this module students are asked to consider the use of algorithms for decision-making about resource distribution under conditions of scarcity. In particular, students consider the use of matching algorithms to match kidney donors to kidney recipients, given that there are far more people in need of kidneys than there are available kidney donors. The module presents them with two or three different ethical principles on which the matching algorithm might be based, and asks the students to weigh the ethical pros and cons of each principle.

    Connection to Course Technical Material

This module is a good fit because it connects directly with the technical material but expands on it in a way that is interesting and captures the attention of the student.

The lecture before the module runs, the students learn about matching algorithms from a technical standpoint. The focus in that class period is to discuss how these algorithms work, what the limitations are for efficient algorithms, and so on. This module therefore represents a clear, real life application of these matching algorithms. Because there may be multiple ways to maximize matches based on compatibility alone, this leaves an open question about which of the available matches to prioritize. The students are thus able to see that in some cases, merely answering the technical questions about how to maximize matches is not sufficient for addressing ethical questions in real life decision-making.

Goals

Module Goals

  1. Identify the ethical principles underlying different ways of optimizing matching in a real-world example, in this case optimizing patients and donors for kidney donation.
  2. Use careful reasoning to apply the ethical principles in the kidney donation case, and assess the implications for potential kidney recipients. 
  3. Participate in productive discussions with peers in order to weigh the benefits and costs of these different ethical principles.

Key Philosophical Questions

  1. How should we optimize the distribution of resources under conditions of scarcity?
  2. What ethical considerations are relevant for determining which resource recipients should be prioritized?

Materials

    Key Philosophical Concepts

The module introduces the problem of welfare maximization and resource distribution under conditions of scarcity as the motivating problem. Then, utilitarianism, maximin, and prioritarianism are introduced as possible resolutions to that problem, though all are problematized in some way over the course of the module.

  • Welfare maximization 
  • Resource distribution
  • Fairness
  • Utilitarianism
  • Maximin
  • Prioritarianism

Assigned Readings

None

Implementation

    Class Agenda

The last agenda item, which introduces prioritarianism as another potential solution, is time dependent. If the rest of the module has run on time, then this is a nice way to sum things up.

  1. Introduction
  2. Background on kidney donation
  3. Maximization
  4. Maximin
  5. Class activity and vote
  6. Prioritarianism

    Sample Class Activity

The class discussion allowed students to come up with arguments for a particular position while not having to decide for themselves, yet, what their actual position on the problem is. When the students do the anonymous vote, it’s possible that having come up with arguments for only one principle (as opposed to both) may have skewed their feelings about which principle was better, since the results of the vote ended up being almost exactly split 50/50 between maximization and maximin.

This module was run in a larger lecture hall with roughly one hundred students in attendance. The students were asked to discuss various questions with the people sitting next to them throughout the lecture. After both the maximization and maximin principles were presented, the classroom was divided in half. Groups in one half of the room were asked to come up with arguments in favor of the maximization principle, and groups in the other half were asked to come up with arguments in favor of maximin. This was then used as a launching point for a whole class discussion, with arguments being offered from groups on both sides of the room. Further, after this the students participated in an anonymous vote through their course platform. The class was almost perfectly divided between maximization and maximin.

    Module Assignment

This assignment was worth 1 point on the student’s problem set for that week.

Students were asked to respond to the following question on their homework set for the week:

“Suppose there are two patients in need of an immediate kidney transplant, but only one donor is currently available. The donor’s kidney is compatible with both patients. Patient A starts at 30 QALYs and is expected to live 6 additional years as a result of the transplant. Patient B starts at 45 QALYs, and is expected to live 10 additional years as a result of the transplant. All else being equal, which patient should the kidney go to, and why? Your response should take the form of a short paragraph (3-4 sentence)reflection. In explaining your ethical reasoning about the case, be sure to draw on at least one concept discussed in class.”

Lessons Learned

Overall, students seemed very engaged by the module. Participation levels were high throughout, especially at the end during the class activity. Some possible modifications include changing the names of Maximin and Maximization to ensure they’re distinct enough for students, and also re-working the module to exclude considerations of QALYs. It may be that the introduction of QALYs adds layers of complication that are not necessary for the module to work.

Except where otherwise noted, content on this site is licensed under a Creative Commons Attribution 4.0 International License.

Embedded EthiCS is a trademark of President and Fellows of Harvard College | Contact us