UROP Openings

Have a UROP opening you would like to submit?

Please fill out the form.

Submit your UROP opening

Causal and Probabilistic Programming for Political Economy Modelling




6: Electrical Engineering and Computer Science

Faculty Supervisor:

Armando Solar Lezama

Faculty email:


Apply by:



Zenna Tavares: zenna@csail.mit.edu

Project Description

This UROP position involves developing richer models of both human behavior and institutions to answer novel questions within the emerging field of political economy of institutions and development. In our lab we have developed causal probabilistic programming languages: languages that (i) allow scientists to express arbitrary complex probabilistic models as programs, and (ii) can automatically compute the answers to both probabilistic and causal inference problems. This project is about applying these tools to build economic models that capture parts of the real world that are difficult to capture with more conventional economic modelling and analysis. Specifically, we will focus on models in the domain of political economy of institutions and development, as covered for example in 14.773 Political Economy https://economics.mit.edu/files/19001, including labor coercion, dynamic voting, and institutional change. This UROP will roughly involve three parts: - First, we will implement existing economic models within our framework - Second, we will extend these models, specifically with more realistic models of agents - Third, we will build new models, focusing on democratic systems and mechanism design We think this is an exciting and under explored area and encourage undergraduates with interest or expertise in probabilistic modelling and/or economic modelling to apply.


We will consider all applications., but the greater the fraction of the following bullets apply. the better: - Proficient Programmer - Familiarity with Bayesian inference - Familiarity with structural causal models - Familiarity with game theory - Familiarity with sampling methods - Familiarity with the Julia programming language - Familiarity with model based and/or model free planning and reinforcement learning - Familiarity with program synthesis