Below you will find core and elective classes offered by our Computation faculty in the AutumnWinter, and Spring quarters. We will continue to add relevant course descriptions for the 2022-2023 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.


Autumn Quarter 2022


MACS 30000 - Perspectives on Computational Analysis

Jon Clindaniel, Sanja Miklin, Shilin Jia, Pedro Arroyo

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 30111 - Principles of Computing 1: Computational Thinking for Social Scientists

Zhao Wang

This course is the first in a three-quarter sequence that teaches fundamentals of computational thinking to students in the social science. Lectures in the class will cover topics such as functions, data structures, as well as classes and objects. Assignments will give students the opportunity to practice these basic computing concepts using the Python programming language and get familiar with computational logic in real-world tasks.

This course is intended for those who placed into it via MACS 30120 "Computing Fundamentals Boot Camp" or for those who are not otherwise prepared to independently and fluently write code using any programming language (e.g., R, Python, C, C++, Java). Note that this is the introductory version of MACS 30121. We will provide several test questions to help students better identify the suitability of this course at the beginning of the quarter.


MACS 30121 - Computer Science with Social Science Applications 1

Zhao Wang

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.

At least one completed programming course and the ability to fluently and independently write code using any programming language (e.g., R, Python, C, C++, Java). Note that this is the accelerated version of MACS 30111. We will post several test questions to help students better identify the suitability at the beginning of the quarter.


MACS 30500 - Computing for the Social Sciences

Sabrina Nardin

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.


MACS 40400 - Computation and the Identification of Cultural Patterns

Jon Clindaniel

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 predict emerging cultural movements using social media data, identify the latest fashion trends, and even decipher ancient symbols using archaeological databases.


MACS 41500 - MA Research Methods

Marc Berman

This in-person course will foster the development of the students’ scholarship through regular interaction with their preceptors. In this course, students will work with preceptors to both synthesize the individualized coursework into a cohesive curriculum and to plan and execute the MA thesis, from choosing research questions, selecting an appropriate research design, elaborating their chosen methodology, conducting research, and writing up their results.


MACS 50000 - Computational Social Science Workshop

Marc Berman

High performance and cloud computing, massive digital traces of human behavior from ubiquitous sensors, and a growing suite of efficient model estimation, machine learning and simulation tools are not just extending classical social science inquiry, but transforming it to pose novel questions at larger and smaller scales. The Computational Social Science (CSS) Workshop is a weekly event that features this work, highlights associated skills and data, and explores the use of CSS in the world. The CSS Workshop alternates weekly between research workshops and professional workshops. The research workshops feature new CSS work from top faculty and advanced graduate students from UChicago and around the world, while professional workshops highlight useful skills and data (e.g., machine learning with Python’s scikit-learn; the Twitter firehose API) and showcase practitioners using CSS in the government, industry and nonprofit sectors. Each quarter, the CSS Workshop also hosts a distinguished lecture, debate and dinner, and a student conference.


MACS 35000 - MA Research Commitment

Marc Berman

Student Initiated research and writing for the MA research component. Open only to MACSS students. Second-year MACSS students can take the course only once in their second year.

Back to Top


Winter Quarter 2022  


MACS 30100 - Perspectives on Computational Modeling

Zhao Wang

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 30112 - Principles of Computing 2: Data Management for Social Scientists

Sabrina Nardin

This course is the second in a three-quarter sequence that teaches computational thinking and programming skills to students in the social sciences. Specifically, this course equips students with a fundamental toolkit for working with social science data. Students will learn the basics of web-scraping, relational databases, record linkage, data cleaning, modeling, visualization, and data structures. The programming language of the course is Python.


MACS 30122 - Computer Science with Social Science Applications 2

Sabrina Nardin

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 41500 - MA Research Methods

Marc Berman

This in-person course will foster the development of the students’ scholarship through regular interaction with their preceptors. In this course, students will work with preceptors to both synthesize the individualized coursework into a cohesive curriculum and to plan and execute the MA thesis, from choosing research questions, selecting an appropriate research design, elaborating their chosen methodology, conducting research, and writing up their results.


MACS 50000 - Computational Social Science Workshop

Marc Berman

High performance and cloud computing, massive digital traces of human behavior from ubiquitous sensors, and a growing suite of efficient model estimation, machine learning and simulation tools are not just extending classical social science inquiry, but transforming it to pose novel questions at larger and smaller scales. The Computational Social Science (CSS) Workshop is a weekly event that features this work, highlights associated skills and data, and explores the use of CSS in the world. The CSS Workshop alternates weekly between research workshops and professional workshops. The research workshops feature new CSS work from top faculty and advanced graduate students from UChicago and around the world, while professional workshops highlight useful skills and data (e.g., machine learning with Python’s scikit-learn; the Twitter firehose API) and showcase practitioners using CSS in the government, industry and nonprofit sectors. Each quarter, the CSS Workshop also hosts a distinguished lecture, debate and dinner, and a student conference.


MACS 35000 - MA Research Commitment

Marc Berman

Student Initiated research and writing for the MA research component. Open only to MACSS students. Second-year MACSS students can take the course only once in their second year.


Back to Top


Spring Quarter 2022 


MACS 30113 - Principles of Computing 3: Big Data and High Performance Computing for Social Scientists

Jon Clindaniel

Computational social scientists increasingly need to grapple with data that is too big and code that is too resource intensive to run on a local machine. Using Python, students in this course will learn how to effectively scale their computational methods beyond their local machines -- optimizing and parallelizing their code across clusters of CPUs and GPUs, both on-premises and in the cloud. The focus of the course will be on social scientific applications, such as: accelerating social simulations by several orders of magnitude, processing large amounts of social media data in real-time, and training machine learning models on economic datasets that are too large for an average laptop to handle.


MACS 30123 - Large-Scale Computing for the Social Sciences

Jon Clindaniel

Computational social scientists increasingly need to grapple with data that is either too big for a single machine and/or code that is too resource intensive to process on a single machine. In this course, students will learn how to effectively scale their computational methods beyond their local machines. The focus of the course will be social scientific applications, ranging from training machine learning models on large economic time series to processing and analyzing social media data in real-time. Students will be introduced to several large-scale computing frameworks such as MPI, MapReduce, Spark, and OpenCL, with a special emphasis on employing these frameworks using cloud resources and the Python programming language.


MACS 33002 - Introduction to Machine Learning

Zhao Wang

This course will train students to gain the fundamental skills of machine learning. It will cover everything needed for getting up and running with computational research projects from a machine learning perspective, including the key techniques used in standard machine learning pipelines: data processing (e.g., data cleaning, feature selection, feature engineering), classification models (e.g., logistic regression, decision trees, naive bayes), regression models (e.g., linear regression, polynomial regression), parameter tuning(e.g., grid-search), model evaluation (e.g., cross-validation, confusion matrix, precision, recall, and f1 for classification models; RMSE and Pearson correlation for regression models), and error analysis (e.g., data imbalance, bias-variance tradeoff). Students will learn simple and efficient machine learning algorithms for predictive data analysis as well as gain hands-on experience by applying machine learning algorithms in social science tasks. The ultimate goal of this course is to prepare students with essential machine learning skills that are in demand both in research and industry.


MACS 41500 - MA Research Methods

Marc Berman

This in-person course will foster the development of the students’ scholarship through regular interaction with their preceptors. In this course, students will work with preceptors to both synthesize the individualized coursework into a cohesive curriculum and to plan and execute the MA thesis, from choosing research questions, selecting an appropriate research design, elaborating their chosen methodology, conducting research, and writing up their results.


MACS 50000 - Computational Social Science Workshop

Marc Berman

High performance and cloud computing, massive digital traces of human behavior from ubiquitous sensors, and a growing suite of efficient model estimation, machine learning and simulation tools are not just extending classical social science inquiry, but transforming it to pose novel questions at larger and smaller scales. The Computational Social Science (CSS) Workshop is a weekly event that features this work, highlights associated skills and data, and explores the use of CSS in the world. The CSS Workshop alternates weekly between research workshops and professional workshops. The research workshops feature new CSS work from top faculty and advanced graduate students from UChicago and around the world, while professional workshops highlight useful skills and data (e.g., machine learning with Python’s scikit-learn; the Twitter firehose API) and showcase practitioners using CSS in the government, industry and nonprofit sectors. Each quarter, the CSS Workshop also hosts a distinguished lecture, debate and dinner, and a student conference.


MACS 35000 - MA Research Commitment

Marc Berman

Student Initiated research and writing for the MA research component. Open only to MACSS students. Second-year MACSS students can take the course only once in their second year.


MACS 95000 - Computation MA Internship

Marc Berman

All MACSS students who have completed three academic quarters of full-time course work in our MA program are eligible to participate in the Computational Social Science Internship Program. Any interested persons must speak with Career Services, have an approved external employer, complete a petition from our Student Affairs Administrator, and enroll in this non-credit field research course. The course will appear on your transcript, and will be evaluated on a pass/fail basis, in consultation with the employer. Note that MACS 95000 does not count against your other curricular requirements.