How can computation help us approach one of the most fundamental challenges facing every society or community: collective decision-making? This course will explore the varied ways that computation interacts with democratic processes. Emphasis will be on the computational and mathematical tools needed to both implement and analyze these processes. Students will develop skills to characterize the benefits and drawbacks of different voting rules, design faster algorithms for computing election winners, quantify famously unquantifiable problems like partisan gerrymandering, and more. Topics will include: introductory social choice theory, committee selection, participatory budgeting, visualizing electoral data, liquid democracy, political redistricting/gerrymandering, approval voting, ranked voting, fair allocation, preference elicitation, and algorithmic fairness.

Units: 1

Max Enrollment: 18

Prerequisites: One of (CS 111, CS 111M, CS 111X, or CS 112) and any 200-level MATH course.

Distribution Requirements: MM - Mathematical Modeling and Problem Solving

Typical Periods Offered: Every other year

Semesters Offered this Academic Year: Fall; Spring