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 2021-2022 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 2021


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.


MACS 30000 - Perspectives on Computational Analysis

Benjamin Soltoff

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 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 30500 - Computing for the Social Sciences

Benjamin Soltoff

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 30124 - Computational Analysis of Social Processes

Jon Clindaniel

How does the human social and cultural world develop and change? The focus of this course is on introducing computational methods for studying the evolution of phenomena over time, alongside relevant theories for interpreting these processes from fields such as History, Anthropology, and Sociology. Students will gain hands-on experience using the Python programming language to harness a diverse set of digital data sources, ranging from satellite images to social media posts. Additionally, they will learn to employ computational approaches, such as simulation and dynamic topic modeling, to study social processes over a variety of different time scales: from the short term (changes in social media network structures over the course of the past week), to longer term (the evolution of English language discourse over the past 100 years), to deep time scales (long-term settlement pattern dynamics over the past 10,000 years).


MACS 40101 - Social Network Analysis

Sabrina Nardin

This course introduces students to concepts and techniques of Social Network Analysis (“SNA”). Social Network Analysis is a theoretical approach and a set of methods to study the structure of relationships among entities (e.g., people, organizations, ideas, words, etc.). Students will learn concepts and tools to identify network nodes, groups, and structures in different types of networks. Specifically, the class will focus on a number of social network concepts, such as social capital, homophily, contagion, etc., and on how to operationalize them using network measures, such as centrality, structural holes, and others. 


MACS 35000 - MA Research Commitment

James Evans

Student Initiated research and writing for the MA research component. Open only to MACSS students.

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 30122 - Computier 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 30500 - Computing for the Social Sciences

Benjamin Soltoff

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 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 35000 - MA Research Commitment

James Evans

Student Initiated research and writing for the MA research component. Open only to MACSS students.


MACS 40400 - Computation and the Identificaiton 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 40900 - Studying 'Social Problems:' Theory and Method

Sonja Miklin

What does it mean for something to be a ‘social problem?’ How do particular ‘social problems’ emerge and how do they stop being ‘problems’? This course answers these questions from the perspective of the sociology of social problems, and introduces students to variety of tools and data sources they can use to better understand a social problem—or a variety of other phenomena—that they might be interested in. In the first part of the course, we will cover sociological theories of ‘social problems’ and read a selection of case-studies. In the second part of the course, we will survey different kinds of data sources—twitter feeds, newspaper and congressional records, article databases, various publicly available datasets etc.—and discuss how you can best leverage them to study specific ‘social problems.’ 

By the end of the class, each student will have produced an extensive report on a topic of interest. As such, the class is particularly well-suited for students doing independent research, such as working on their BA or MA.

The course does not assume any previous knowledge, beyond basic proficiency with the Internet and software such as Excel. However, I will also orient parts of the class towards students who have some programming background, in order to emphasize the utility of computational approaches. I will run a short option ‘Intro to R’ lab at the beginning of the course for interested students.


MACS 60000 - Computational Content Analysis

James Evans

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 state.

Back to Top


Spring Quarter 2022 


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 30150 - Perspectives on Computational Modeling for Economics

Christopher Dobronyi

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 30200 - Perspectives on Computational Research

Jon Clindaniel,  Sabrina Nardin & Sanja Miklin

This course focuses on applying computational methods to conducting social scientific research through a student-developed research project. Students will identify a research question of their own interest that involves a direct reference to social scientific theory, use of data, and a significant computational component. The students will collect data, develop, apply, and interpret statistical learning models, and generate a fully reproducible research paper. We will identify how computational methods can be used throughout the research process, from data collection and tidying, to exploration, visualization and modeling, to the final communication of results. The course will include modules on theoretical and practical considerations, including topics such as epistemological questions about research design, writing and critiquing papers, and additional computational tools for analysis.


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 36000 - Computational Research Using Social Media Data

Zhao Wang

This course will discuss a broad range of computational social science topics that leverage large-scale data from online communication platforms to gain insights into social issues. We will start from collecting and processing data from social media platforms (e.g., Twitter, IMDB, Airbnb, Yelp), and then introduce computational research topics that include but are not limited to: sentiment analysis, deceptive marketing, recommendation system, fake news detection, spam detection, bot detection, demographic inference, public health, political attitude analysis, personality and behavior analysis, and cyberbullying. We will use version control techniques (e.g., git, github) to keep track of the class projects. The ultimate goal of this course is to provide a broad introduction of computational social science research areas and train students to be familiar with the pipelines of doing computational research.


MACS 31300 - AI Applications in the Social Sciences

Staff

Artificial Intelligence (AI) describes algorithms constructed to reason in uncertain environments. This course provides an introduction to AI applications in the social sciences. Driven by the rapid increase in accessible big data documenting social behavior, AI has been applied to: increase effective diagnosis and prediction under different conditions, improve our understanding of human interaction, and increase the effectiveness of data management in different social and human services. Random forests and neural networks are among the most frequent AI methods used for prediction, while natural language processing and computer vision contribute to understanding decision-making and improving service provision. We begin with careful consideration for what AI can achieve and where current limitations exist by looking at a variety of real-world applications. We will focus on three core sections: search, representation, and uncertainty. In each section, we will explore major approaches, representational techniques and core algorithms. We will examine the trade-offs between model structure and the algorithmic constraints that this structure implies. The course is driven by hands-on exercises with AI algorithms written in Python. At the end of the term, you should be able to apply and tweak these algorithms to accommodate your own data and research interests.


MACS 35000 - MA Research Commitment

James Evans

Student Initiated research and writing for the MA research component. Open only to MACSS students.


MACS 37000 - Thinking with Deep Learning for Complex Social & Cultural Data Analysis

James Evans

A deluge of digital content is generated daily by web-based platforms and sensors that capture digital traces of human communication and connection, and complex states of society, culture, economy, and the world. Emerging deep learning methods enable the integration of these complex data into unified social and cultural "spaces" that enable new answers to classic social and cultural questions, and also pose novel questions. From the perspective of deep learning, everything can be viewed as data-novels, field notes, photographs, lists of transactions, networks of interaction, theories, epistemic styles-and our treatment examines how to configure deep learning architectures and multi-modal data pipelines to improve the capacity of representations, the accuracy of complex predictions, and the relevance of insights to substantial social and cultural questions. This class is for anyone wishing to analyse textual, network, image or arbitrary structured and unstructured data, especially in concert with one another to solve complex social and cultural analysis problems (e.g., characterize a culture; predict next year's ideology).


MACS 40101 - Social Network Analysis

Sabrina Nardin

This course introduces students to concepts and techniques of Social Network Analysis (“SNA”). Social Network Analysis is a theoretical approach and a set of methods to study the structure of relationships among entities (e.g., people, organizations, ideas, words, etc.). Students will learn concepts and tools to identify network nodes, groups, and structures in different types of networks. Specifically, the class will focus on a number of social network concepts, such as social capital, homophily, contagion, etc., and on how to operationalize them using network measures, such as centrality, structural holes, and others.


MACS 40700 - Data Visualization

Benjamin Soltoff

Social scientists frequently wish to convey information to a broader audience in a cohesive and interpretable manner. Visualizations are an excellent method to summarize information and report analysis and conclusions in a compelling format. This course introduces the theory and applications of data visualization. Students will learn about theory of cognition and perception in order to understand how humans process and synthesize information in a visual medium, while also developing techniques and methods for generating rich, informative, and interactive visualizations for both data exploration and explanation. These techniques will be developed using software implementations in R.


MACS 41500 - MA Research Methods

James Evans

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 30300 -  Civic Data & Technology Clinic

David Uminsky

The Clinic is an experiential project-based course in which students work in teams as data scientists with real-world clients under the supervision of instructors. Read more here: https://capp.uchicago.edu/civic-data-and-technology-clinic/

Students must apply to participate in this class. The application for Spring 2022 clinic will be available in late February. Please attend the Spring Info Session before submitting your application. We ask applicants to select 10 projects of interest. Students selecting projects that require an interview (some of our company partners) will be notified for interview scheduling. Applicants will be informed about their acceptance to clinic and the project team assignment; only after acceptance to clinic are students allowed to enroll in the course. 

Please attend the Spring Quarter Clinic Info Session on Tuesday, February 22, from 5-pm in John Crerar Library (JCL) room 390. The application will become available after the info session. 


MACS 50000 - Computational Social Science Workshop

James Evans

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 51100 - Computational Social Science Skills Workshop

Benjamin Soltoff

Modern social scientific research designs often require individuals to have advanced computational skills and the ability to write programs that implement the research tasks. This workshop teaches participants a range of computational tools and methods within open-source programming languages (e.g. R, Python, Julia). Workshop topics will vary throughout the quarter and have differing prerequisites (purely introductory, intermediate, advanced training, etc.).


MACS 95000 - Computation MA Internship

James Evans

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.