Algorithms for Democracy
This course provides students with a rigorous perspective on, and a technical toolbox for, the design of democratic processes, treated through the lens of algorithmic analysis. The course exposes students to a range of such democratic algorithms and of algorithmic settings arising in democracy, including ranked choice voting, approval-based multi-winner elections, participatory budgeting, and apportionment. On a technical level, the course illustrates to students the richness of possible algorithmic approaches to a societal phenomenon, and it trains students in the rigorous application of techniques in this domain, including the axiomatic method, notions of fairness and proportionality, mathematical programming, social welfare functions, measures of power in weighted voting games, and measuring the quality of voting rules through competitive analysis (distortion). The course draws on classic and recent results in computational social choice.
Topics
- Evaluate democratic processes following the axiomatic method.
- Derive optimal democratic processes based on optimization and statistical models.
- Discuss impossibilities in the requirements on democratic processes and their consequences.
Official roster learning outcomes
Prerequisites & course information
background equivalent to: ENGRD 2700 and MATH 3040.
Sources
- Course catalogue ↗2026-2027