Ethics of Algorithms for Resource Allocation


Third-Year Algorithms

Class Time:

One 2-hour class

Last Modified:

Wed 08 December 2021

Distributive Justice

This module gives computer science students some philosophical tools to help them to evaluate whether solutions to optimization problems are ethical. The module is organized around a scenario in which an intern is tasked with determining how to distribute vaccines from warehouses to different countries. Students first formulate and solve the vaccine distribution problem as a maximum flow problem, subject to certain constraints. Students then discuss whether the constraints on the maximum flow problem were appropriate, and whether their solution reflected the legitimate claims of each party involved. In the process, students learn stakeholder analysis, philosophical theories of fairness, as well as the broadly applicable lesson that the formulation of problems is as important for ethical computing as the solution of those problems. The module concludes with a reflection exercise that asks students to apply stakeholder analysis to an entirely new scenario.

This module was developed by Steven Coyne, Deepanshu Kush, and Nisarg Shah, with contributions from Emma McClure. Diane Horton, David Liu, and Sheila McIlraith provided feedback on this module.


Module materials coming soon.