Teaching

Assistaint Instructional Professor, Harris School of Public Policy, 2023

I am passionate about teaching good data and programming skills to researchers. Many programs in the social sciences teach multiple semesters of statistcs or econometrics while paying scant attention to dealing with data in a rigorous way, despite the fact that successful research requires both. This has become my niche at the Harris School, where I designed and regularly teach three of the core courses in the Certificate in Data Analytics program for MPP students.

University of Chicago, Harris School of Public Policy

PPHA 30537: Data and Programming for Public Policy I (Python)

The first course in the Harris School Certificate in Data Analytics sequence, PPHA 30537 is intended for students with experience using “legacy” research platforms (e.g. Stata) but no background in rigorous coding. The student taking this course will develop in three technical and three non-technical areas:

  • Learn to write basic Python and apply the PEP8 style guide
  • Gain a deeper understanding of how Python works, including functions and classes
  • Learn the tools of data analysis in Python, including GitHub, Pandas, MatPlotLib, and BeautifulSoup

  • Practice good programming and data principles that will benefit the student when working in any platform, including R, Stata, and SAS
  • Understand how good programming relates to reproducible research
  • Develop skills that apply directly to summer internships or entry-level research assistaint positions

This course is required in order to take PPHA 30538 in the autumn, and is also available at Harris in R (PPHA 30535).
Quarters taught: Spring 2019-2024, Summer 2020
Next taught: Currently

PPHA 30538/30536: Data and Programming for Public Policy II (Python/R)

This course will build directly on the material covered in PPHA 30537 (or 30535 in R). We will assume a grasp of the Python (R) skills from the previous class at the start, so that we can focus on practical applications to research. Whereas the goal of the first class was to introduce Python (R) as a tool for data analysis, and to prepare students for internship-level policy research positions, the goals of this course will be to:

  • Go from simply applying Python (R) to solve research questions, to applying Python (R) professionally, in a way that supports code maintenance, collaboration, efficiency, and readability
  • Deepen existing skills; for example, we will go from learning to create basic plots to discussing the principles of creating good plots
  • Broaden into new skills that require a higher level of Python (R) proficiency
  • Prepare for the post-graduation job market

This course is available in both Python and R, and requires either having taken the first course in the correct language, or instructor approval.
Quarters taught: Autumn 2019-2023 (Python), Autumn 2022 (R), Winter 2021 (R)
Next taught: Autumn 2024 (Python)

PPHA 52000: Individual Reading and Research

Exceptional students from PPHA 30538 and 30536 who have a well-thought-out research idea that they wish to develop further before graduation may request this independent study course. The course is tailored to each individual, and will be largely self-driven with regular meetings, similar to the way work on a PhD dissertation would proceed.
Quarters taught: Autumn 2023, Spring 2023, Spring 2021

PPHA 23400: Principles of Microeconomics and Public Policy II

This course is the second of a two-part sequence, preceded by Principles of Microeconomics and Public Policy I (PPHA 32300). We will build on the content of the first class, which focused on perfect competition, by studying the many ways markets fail to act perfectly competitive. Each section will combine the underlying theory with discussions of practical applications, culminating in a final project that uses published economic research on the topics studied. Over the quarter, students will learn:

  • Market structure alternatives to perfect competition, e.g. monopoly, oligopoly
  • Sources of and solutions to market failure, e.g. externalities, information asymmetry
  • The basics of applying game theory to the economy
  • Market simulations and modeling

This course is intended for students in the MSCAPP program, and will therefore introduce elements of programming to the curriculum. As such, a solid understanding of the Python programming language is required.
Quarters taught: Spring 2019-2020

University of Chicago, Harris School of Public Policy, Graduate Development Program

In the autumn of 2023 I was part of a Harris School program working with the Decision Support Center, a research center within the government of Saudi Arabia. The program trains top graduates from Saudi universities in rigorous policy understanding and analysis in preparation for entering public sector work. I developed and remotely taught one section on MATLAB in October, then traveled to Riyadh for two weeks in December to oversee the capstone projects and presentations for students in the Data Management track.

American University, Department of Economics

ECON 200: Principles of Microeconomics

  • Fall 2016

Teaching Assistant

  • Econ 672 (2016) International Economics: Finance
  • Econ 450 (2016) Growing Artificial Societies
  • Econ 332 (2015) Money, Banking and Finance
  • Econ 400 (2015) Introductory Microeconomics with Calculus
  • Econ 450 (2015) Growing Artificial Societies
  • Econ 632 (2015) Finance, Stability and Growth
  • Econ 346 (2015) Competition, Regulation and Business Strategy
  • Econ 100 (2014) Macroeconomics
  • Econ 200 (2014) Microeconomics
  • Econ 100 (2013) Macroeconomics
  • Econ 200 (2013) Microeconomics
  • Econ 200 (2012) Microeconomics

The Urban Institute

  • Python for Data Science (2017)