Below you will find core and elective classes offered by our Computation faculty in the Autumn, Winter, and Spring quarters. We will continue to add relevant course descriptions for the 2019-2020 academic year as they are made available. Please note that course offerings, instructors, dates, and times are all subject to change.
Students are also welcome to pursue graduate courses in the Toyota Technological Institute, the Department of Computer Science, the Booth School of Business, the Harris School of Public Policy, the Committee on Computational Neuroscience, and elsewhere in the Division of Social Sciences, if they meet the relevant prerequisites, and after assuring that all curricular requirements in our Computation program are met.
CAPP 30121 - Computer Science with Applications 1
This course is the first in a three-quarter sequence that teaches computational thinking and skills. The course will cover abstraction and decomposition, simple modeling, basic algorithms, and programming in Python. Applications from a wide variety of fields serve both as examples in lectures and as the basis for programming assignments. In recent offerings, students have written programs to simulate a model of housing segregation, determine the number of machines needed at a polling place, and analyze tweets from presidential debates.
MACS 30000 - Perspectives on Computational Analysis
Section 1 - Benjamin Soltoff
Section 2 - Jon Clindaniel
Massive digital traces of human behavior and ubiquitous computation have both extended and altered classical social science inquiry. This course surveys successful social science applications of computational approaches to the representation of complex data, information visualization, and model construction and estimation. We will reexamine the scientific method in the social sciences in context of both theory development and testing, exploring how computation and digital data enables new answers to classic investigations, the posing of novel questions, and new ethical challenges and opportunities. Students will review fundamental research designs such as observational studies and experiments, statistical summaries, visualization of data, and how computational opportunities can enhance them. The focus of the course is on exploring the wide range of contemporary approaches to computational social science, with practical programming assignments to train with these approaches.
MACS 30500 - Computing for the Social Sciences
This is an applied course for social scientists with little-to-no programming experience who wish to harness growing digital and computational resources. The focus of the course is on generating reproducible research through the use of programming languages and version control software. Major emphasis is placed on a pragmatic understanding of core principles of programming and packaged implementations of methods. Students will leave the course with basic computational skills implemented through many computational methods and approaches to social science; while students will not become expert programmers, they will gain the knowledge of how to adapt and expand these skills as they are presented with new questions, methods, and data. More information can be found at https://cfss.uchicago.edu.
MACS 30301 - Introduction to Bayesian Statistics
The goal of this course is to give students an overview of the theory and methods for data analyses using the Bayesian paradigm. Topics include: (1) foundations of Bayesian inference, (2) development of Bayesian models and prior choices (3) analytical and simulation techniques for posterior estimation (4) model choice and diagnostics (5) sensitivity analysis, (6) an introduction to Monte Carlo Markov Chain (MCMC) simulations (7) intro to commonly used Bayesian estimation packages (R/JAGS/Bugs) (8) application of Bayesian analysis in real world and Political Science problems.
MACS 40400 - Computation and the Identification of Cultural Patterns
Culture is increasingly becoming digital, making it more and more necessary for those in both academia and industry to use computational strategies to effectively identify, understand, and (in the case of industry) capitalize on emerging cultural patterns. In this course, students will explore interdisciplinary approaches for defining and mobilizing the concept of “culture” in their computational analyses, drawing on relevant literature from the fields of Anthropology, Psychology and Sociology. Additionally, they will receive hands-on experience applying computational approaches to identify and analyze a wide range of cultural patterns using the Python programming language. For instance, students will learn to identify emerging social movements using social media data, predict the next fashion trends, and even decipher ancient symbols using archaeological databases.
MACS 40800 - Unsupervised Machine Learning
Though armed with rich datasets, many researchers are confronted with a lack of understanding of the structure of their data. Unsupervised machine learning offers researchers a suite of computational tools for uncovering the underlying, non-random structure that is assumed to exist in feature space. This course will cover prominent unsupervised machine learning techniques such as clustering, item response theory (IRT) models, multidimensional scaling, factor analysis, and other dimension reduction techniques. Further, mechanics involved in unsupervised machine learning will also be covered, such as diagnosing clusterability of a feature space (visually and mathematically), measures of distance and distance matrices, different algorithms based on data size (k-medoids/k-means vs. PAM vs. CLARA), visualizing patterns, and methods of validation (e.g., internal vs. external validation).
MACS 40500 - Computational Methods for American Politics
In this class, students will be introduced to several computational techniques aimed at exploring, understanding, and diagnosing substantive American political phenomena. Rather than focus on derivations and proofs of models, the main focus of the course will be applying and diagnosing model fit, along with computation and application in R. The goal of the class is twofold: first, to offer students a methodological toolbox to tackle complex questions of interest in the social sciences. The second goal, then, is to prepare students for applied quantitative research, offering modern data science techniques and computational training in the service of understanding and predicting American political behavior in a range of contexts. The course will be a combination seminar/applied, where we will read and discuss the latest developments as well as classical works related to a week’s topic, but also apply the concepts in R.
MACS 54000 - Introduction to Spatial Data Science
Luc Anselin, Marynia Kolak
Spatial data science consists of a collection of concepts and methods drawn from both statistics and computer science that deal with accessing, manipulating, visualizing, exploring and reasoning about geographical data. The course introduces the types of spatial data relevant in social science inquiry and reviews a range of methods to explore these data. Topics covered include formal spatial data structures, geovisualization and visual analytics, rate smoothing, spatial autocorrelation, cluster detection and spatial data mining. An important aspect of the course is to learn and apply open source software tools, including R and GeoDa.
CAPP 30122 - Computer Science with Applications 2
This course is the second in a three-quarter sequence that teaches computational thinking and skills to students from a wide-variety of fields. Lectures cover topics in (1) data representation, (2) relational databases, (3) data cleaning and presentation, (4) shell scripting, (5) data structures, such as graphs, hash tables, and heaps, and (6) recursion. Applications and datasets from a wide variety of fields serve both as examples in lectures and as the basis for programming assignments. In recent offerings, students have written a course search engine and a system to do speaker identification.
Students will program in Python and do a group programming project.
MACS 30100 - Perspectives on Computational Modeling
Students are often well trained in the details of specific models relevant to their respective fields. This course presents a generic definition of a model in the social sciences as well as a taxonomy of the wide range of different types of models used. We then cover principles of model building, including static versus dynamic models, linear versus nonlinear, simple versus complicated, and identification versus overfitting. Major types of models implemented in this course include linear and nonlinear regression, machine learning (e.g., parametric, Bayesian and nonparametric), agent-based and structural models. We will also explore the wide range of computational strategies used to estimate models from data and make statistical and causal inference. Students will study both good examples and bad examples of modeling and estimation and will have the opportunity to build their own model in their field of interest.
MACS 30150 - Perspectives on Computational Modeling for Economics
Students are often well trained in the details of specific models relevant to their respective fields. This course presents a generic definition of a model in the social sciences as well as a taxonomy of the wide range of different types of models used. We then cover principles of model building, including static versus dynamic models, linear versus nonlinear, simple versus complicated, and identification versus overfitting. Major types of models implemented in this course include linear and nonlinear regression, machine learning (e.g., parametric, Bayesian and nonparametric), agent-based and structural models.We will also explore the wide range of computational strategies used to estimate models from data and make statistical and causal inference. Students will study both good examples and bad examples of modeling and estimation and will have the opportunity to build their own model in their field of interest. This course will be specifically tailored to students concentrating in Economics.
MACS 40200 - Structural Estimation
Structural estimation refers to the estimation of model parameters by taking a theoretical model directly to the data. (This is in contrast to reduced form estimation, which often entails estimating a linear model that is either explicitly or implicitly a simplified, linear version of a related theoretical model). This class will survey a range of structural models, then teach students estimation approaches including the generalized method of moments approach and maximum likelihood estimation. We will then examine the strengths and weaknesses of both approaches in a series of examples from the fields of economics, political science, and sociology. We will also learn the simulated method of moments approach. We will explore applications across the social sciences.
MACS 30501 - Computational Anthropology
This course exposes students to the methods and data of Computational Anthropology—the systematic, computational study of the human species, past and present. Such methods have been essential in recent years for simulating human behavior in different cultures and economic systems, uncovering ancient demographic changes that still have an influence into the present day, preserving cultural heritage, and much more. Anthropological data allows social science researchers to evaluate long term trends in the human condition, across a variety of cultures, with a unique combination of material, textual, and structured database data. Students will have the opportunity to evaluate state of the art approaches in computational anthropology and learn how to apply these methods to their own social scientific research agendas using open anthropological datasets and the Python programming language.
MACS 33002 - Introduction to Machine Learning
This course will introduce students to the foundations of machine learning. Building on a mathematical foundation, we will cover everything needed for getting up and running with any computational research project from a machine learning perspective, including: the basics and mechanics of a model, sampling methods, training, testing and tuning, comparing supervised vs. unsupervised learning, regularization techniques, decision trees, neural networks (artificial and convolutional), and various other models and algorithms contributing to a solid foundation of machine learning. Prerequisites: prior statistical training (through regression, though ideally MLE/GLM); statistical computing (at least basic proficiency in R).
MACS 50100 - Introduction to Causal Inference
Guanglei Hong, Kazuo Yamaguchi
This course is designed for graduate students and advanced undergraduate students from the social sciences, education, public health science, public policy, social service administration, and statistics who are involved in quantitative research and are interested in studying causality. The goal of this course is to equip students with basic knowledge of and analytic skills in causal inference. Topics for the course will include the potential outcomes framework for causal inference; experimental and observational studies; identification assumptions for causal parameters; potential pitfalls of using ANCOVA to estimate a causal effect; propensity score based methods including matching, stratification, inverse-probability-of-treatment-weighting (IPTW), marginal mean weighting through stratification (MMWS), and doubly robust estimation; the instrumental variable (IV) method; regression discontinuity design (RDD) including sharp RDD and fuzzy RDD; difference in difference (DID) and generalized DID methods for cross-section and panel data, and fixed effects model. Intermediate Statistics or equivalent such as STAT 224/PBHS 324, PP 31301, BUS 41100, or SOC 30005 is a prerequisite. This course is a prerequisite for "Advanced Topics in Causal Inference" and "Mediation, moderation, and spillover effects."
MACS 60000 - Computational Content Analysis
A vast expanse of information about what people do, know, think, and feel lies embedded in text, and more of the contemporary social world lives natively within electronic text than ever before. These textual traces range from collective activity on the web, social media, instant messaging and automatically transcribed YouTube videos to online transactions, medical records, digitized libraries and government intelligence. This supply of text has elicited demand for natural language processing and machine learning tools to filter, search, and translate text into valuable data. The course will survey and practically apply many of the most exciting computational approaches to text analysis, highlighting both supervised methods that extend old theories to new data and unsupervised techniques that discover hidden regularities worth theorizing. These will be examined and evaluated on their own merits, and relative to the validity and reliability concerns of classical content analysis, the interpretive concerns of qualitative content analysis, and the interactional concerns of conversation analysis. We will also consider how these approaches can be adapted to content beyond text, including audio, images, and video. We will simultaneously review recent research that uses these approaches to develop social insight by exploring (a) collective attention and reasoning through the content of communication; (b) social relationships through the process of communication; and (c) social states, roles, and moves identified through heterogeneous signals within communication. The course is structured around gaining understanding and experimenting with text analytical tools, deploying those tools and interpreting their output in the context of individual research projects, and assessment of contemporary research within this domain. Class discussion and assignments will focus on how to use, interpret, and combine computational techniques in the context of compelling social science research investigations.