Teaching
Machine Learning
This course provides an introduction to the world of machine learning. By the end of this course students will have a sound understanding of the key concepts of machine learning, the ability to analyze data using some of its main methods, and a solid foundation for more advanced or more specialized study. The course covers standard topics in supervised and unsupervised learning, including the most common learning algorithms for regression, classification and clustering, but also touches on advanced topics in machine learning particularly important for public policy, such as uncertainty quantification. Students will learn the fundamental concepts underlying machine learning algorithms as well as the practical use of machine learning algorithms using open-source frameworks.
Students learn the theory of how and why machine learning works, gain fluency with a variety of ML tools, and get hands-on experience with the model-building, iteration and evaluation process.
Data Structures & Algorithms
This course begins with an introduction to fundamental programming concepts and presents important concepts in data structures and algorithms. Students will learn how to design and how to analyze efficient algorithms as well as how to write efficient code using established software engineering practices and paradigms. This combination of the theoretical and the practical will position students well to have confidence in undertaking substantial software engineering projects.
Students learn the fundamental building blocks of modern computation, how to build meaningful software, and the theory behind the design and analysis of algorithms.
AI Evaluations
This course teaches students to design, pre-register, execute and describe rigorous evaluations of AI systems, drawing on the methodology of experimentation and measurement theory from the social sciences. AI systems are tools humans use to accomplish tasks; evaluating them is therefore fundamentally a question about joint human-AI performance on real tasks, not about the abstract model capabilities that static benchmarks measure. The course is structured around team projects carried through the full arc of design and execution: roughly the first two-thirds of the term is spent designing and pre-registering an evaluation, and the last third is spent running it, dealing with the inevitable surprises, and writing it up. Teams choose between two design archetypes (a human-subjects experiment with some form of AI as the intervention, or a model-only evaluation grounded in a real human task) and pursue a question of their own choosing. Teams are provided resources for accessing AI APIs and real human subjects. Students leave with one executed evaluation written up as a short technical report and a working understanding of the methodological landscape of AI evaluation.
Students leave able to treat AI evaluation as a measurement problem: designing, pre-registering and executing an evaluation of their own; critically reading benchmarks, leaderboards and audit reports; recognizing and defending against common threats to validity; and reporting results honestly, including what went wrong along the way.
Causal Machine Learning
This course is an introduction and survey of Causal Machine Learning. It examines a wide variety of these approaches and how they can be used in the course of doing causal research in the social sciences. It presumes an existing knowledge of both causal inference and of machine learning. We will read a selection of papers introducing and implementing techniques and research designs, with applications to the social and health sciences and public policy. We will discuss what these new methods are able to offer, and where they may have limitations. The course will be oriented around class discussion and student presentations on the readings. Students will further gain the ability to critically evaluate methodologies through the use of Monte Carlo simulations.
Students learn to use Monte Carlo simulations to understand the mechanics of an estimator, and to apply machine learning methods to causal questions in the social sciences. The course is oriented around class discussion and student presentations, so students are expected to take an active role.