Courses
Planned Courses Offering for 2025-2026
Please consult the Schedule of Classes for the current quarter's schedule. Class offerings are subject to change.
(Course Descriptions Below)
| Course | Autumn 2025 | Winter 2026 | Spring 2026 |
|---|---|---|---|
| Perspectives Sequence | MACS 30000. Introduction to Computational Social Science | MACS 30100. Machine Learning for Computational Social Science | MACS 30200. Computational Research Design |
| MACS 30150. Perspectives on Computational Modeling for Economics | |||
| MACS 30000. Introduction to Computational Social Science | |||
| MACS 30200. Computational Research Design | |||
| Core Programming | MACS 30111. Python Programming with Social Science Applications | MACS 30112. Python Data Management with Social Science Application | MACS 30113. Principles of Computing 3: Big Data and High Performance Computing for Social Scientists |
| MACS 30121. Accelerated Python Programming with Social Science Applications | MACS 30122. Accelerated Python Data Management with Social Science Application | MACS 30123. Large-Scale Computing for the Social Sciences | |
| Other | MACS 30500. Computing for the Social Sciences | MACS 30300. Data Science Clinic | MACS 30755. Digital Experiments |
| MACS 30455. Collective Intelligence | MACS 30205. Public Opinion Research in Practice | MACS 40550. Agent-Based Modeling | |
| MACS 40101. Social Network Analysis: Theory and Applications in R. | MACS 33002. Introduction to Machine Learning: theory and application in social sciences | MACS 40800. Unsupervised Machine Learning | |
| MACS 40123. Large-Scale Data Mining for Social and Cultural Knowledge Discovery | MACS 37005. AI Agents for Social Science & Society | ||
| MACS 30267. Thinking like a Computational Social Scientist | MACS 40700. Data Visualization | ||
| MACS 30300. Data Science Clinic | MACS 30210. Computational International Politics | ||
| MACS 30519. Spatial Cluster Analysis | |||
| MACS 30550. Data to Manuscript in R | |||
| MACS 33050. Artificial Intelligence, Innovation, and Growth | |||
| Our non-Credit Workshop (more info here) | MACS 50000. Computational Social Science Workshop | ||
MACS 30000. Introduction to Computational Social Science.
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. D. Peterson, A. Sanaei. Autumn.
Note: Consent required for non MACSS students.
Cross-listings: MACS 10000
MACS 30111. Python Programming with Social Science Applications
This course is the first in a three-quarter sequence that teaches fundamentals of computational thinking to students in the social sciences. 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. J. Clipperton. Autumn.
Note: MACS students have priority.
Cross-listings: MACS 10111
MACS 30121: Accelerated Python Programming with Social Science Applications
This course is the first in a three-quarter sequence that teaches computational thinking and essential skills to students in the social sciences. Lectures in the class will cover topics such as functions, data structures, classes and objects, as well as recursion. Assignments will give students the opportunity to practice these computing concepts using the Python programming language and apply the computational logic in a wide variety of social science applications. Previous example assignments include modeling epidemics, modeling language shifts, analyzing candidate tweets from presidential debates, determining the number of machines needed at a polling place, predicting housing price with linear regression models. Z. Wang. Autumn.
Note: MACS students have priority.
MACS 30300. Data Science Clinic
In order to enroll in this class, students must first submit an application and be matched with a project. Visit the Data Science Clinic site for application deadlines, how to apply, and information session details: https://github.com/dsi-clinic/the-clinic. The Data Science Clinic partners with public interest organizations to leverage data science research and technology to address pressing social and environmental challenges. The Clinic also provides students with exposure to real-world projects and problems that transcend the conventional classroom experience including: working with imperfect datasets, applying models and algorithms to real-world data, navigating security and privacy issues, communicating results to a diverse set of stakeholders (e.g., industry, public interest, government agencies), and translating information into actionable insights, policy briefs and software prototypes. The Clinic is an experiential project-based course where students work in teams as data scientists with real-world clients under the supervision of instructors. Students will be tasked with producing key deliverables, such as data analysis, open source software, as well as final client presentations, and reports. N. Ross. Autumn.
Note: Prerequisites and permission from the instructor.
MACS 30500. Computing for the Social Sciences. (CHDV 30511, ENST 20550, MAPS 30500, PLSC 30235, PSYC 30510, SOCI 20278, SOCI 40176, SOSC 26032).
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 learning the basics of programming and on generating reproducible research. Topics include coding concepts (e.g., data structures, control structures, functions, etc.), data visualization, data wrangling and cleaning, version control software, exploratory data analysis, etc. Students will leave the course with basic computational skills implemented through many 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. The course will be taught in R. S. Nardin, Autumn.
Note: MACS students have priority.
Cross-listings: SOCI 40176, PLSC 30235, MAPS 30500, SOCI 20278, ENST 20550, CHDV 30511, SOSC 26032, PSYC 30510, MACS 20500
MACS 30455. Collective Intelligence
An impactful discovery in human decision-making has been "crowd wisdom,'" or the ability of crowds to make better decisions than individuals. Classic wisdom of crowds theory is based on evidence gathered from studying large groups of diverse and independent decision-makers. Yet, most human decisions are reached in online settings of interconnected, like-minded people who challenge these criteria. In this course, students will engage with general science literature drawn from diverse disciplines (e.g., computer science, business, psychology, behavioral economics, political science, etc.) to gain a better understanding of collective intelligence and how it emerges (i.e., principles and mechanisms) in diverse contexts, both online and offline. For instance, students will learn the theoretical background underpinning the wisdom of crowds, aggregation methods & techniques for pooling individual estimates in collective settings, network dynamics of collective intelligence, and applications of collective intelligence in society, business, and teams. Most class time will be spent discussing the assigned readings. In most weeks, students will write a short response memo to the assigned readings. By the end of the course, students will synthesize their knowledge to develop a term paper or research proposal that aims to advance some theoretical, methodological, or computational aspects of collective intelligence. H. Dambanemuya, Autumn.
MACS 40101. Social Network Analysis: Theory and Applications in R.
This course introduces students to Social Network Analysis (SNA) as a theoretical and methodological approach to studying the structure of relationships among entities (people, organizations, etc.). By the end of the course, students will be able to apply and interpret the most important measures and methods to study social networks from a social science perspective. Topics of this course include fundamental network measures (density, paths, centrality, etc.) and fundamental concepts (structural holes, homophily, etc.); research design; cohesive subgroups; ego networks; affiliation networks; and statistical models. The course is taught in R. Requirements: At least one prior introductory programming or statistics course in Python or R. If you are unsure, please check with the instructor to see if the course is a good fit. S. Nardin, Autumn.
Cross-listings: SOCI 40248, MACS 20101
MACS 40123. Large-Scale Data Mining for Social and Cultural Knowledge Discovery
Are you prepared to deepen your knowledge of large-scale computational modeling and pioneer new frontiers in social scientific research? This course will introduce fundamental data mining techniques for extracting insights from massive datasets, as well as the practical and theoretical implications of using these approaches to produce new knowledge about the social and cultural world. For instance, students will learn strategies for deciphering cultural logics at scale (e.g. association rule and frequent itemsets mining), revealing patterns in complex social networks (e.g. link analysis and graph neural networks), and discovering large-scale processes that shape our social and cultural world (e.g. recommender systems and causal rule mining). Through in-class discussions, as well as hands-on exercises using Python and large-scale computing frameworks like Spark, students will develop the mastery necessary to conduct large-scale data mining research. By the course's conclusion, students will synthesize their knowledge and skills into an original research project, geared toward publication in a relevant Computational Social Science journal or conference. Z. Wang, Autumn.
Cross-listings: MACS 20123
MACS 30000. Introduction to Computational Social Science.
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. D. Peterson. Winter.
Note: The Winter section of the course is intended for non-MACSS students.
Cross-listings: MACS 10000
MACS 30100. Machine Learning for Computational Social Science.
This is a core-course for the MACSS program, and it requires Python programming experience (for non-MACSS students, please email the instructor for consultation). This course will teach fundamental skills of applying statistical machine learning models in computational social science tasks. It will focus on understanding the strengths and weaknesses of modern machine learning algorithms as well as their applications in real-world tasks. Topics will include the key techniques in standard machine learning pipelines: data processing (e.g., data representation, feature selection), classification models (e.g., decision trees, logistic regression, naive bayes), regression models (e.g., linear regression), 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, interpret model performance). A. Sanaei, Z. Wang. Winter.
Note: Consent required for non MACSS students.
Cross-listings: MACS 10100
MACS 30150. Perspectives on Computational Modeling for Economists.
In this course students will learn several computational methodologies and tools to solve, simulate, and analyze models that are the backbone of current macroeconomic analysis. While learning the relevant computational methods is the main objective, the theoretical economic aspects of the model will be stressed, and the students will be required to apply their economic knowledge and skills to interpret and analyze the results. We will examine non-stochastic and stochastic general equilibrium models, both under local and global approximations. The main part of the course will deal with representative agent models, but a significant part will be devoted to introducing students to the solution of heterogeneous agent models as well. S. Landeau. Winter.
Cross-listings: MACS 10150
MACS 30112. Python Data Management with Social Science Applications.
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. S. Nardin. Winter.
Note: MACS students have priority. Prerequisites: MACS 30111 or equivalent.
Cross-listings: MACS 10112
MACS 30122. Accelerated Python Data Management with Social Science Applications.
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. This is an accelerated introductory course that is designed for advanced beginner programmers. S. Nardin. Winter.
Note: MACS students have priority. Prerequisites: MACS 30112 or equivalent.
MACS 30205. Public Opinion Research in Practice
This seminar provides an introduction to the evolving landscape of public opinion research in the digital age. It combines foundational theories and methods with an emphasis on how computational techniques have transformed the field. The goal is to equip students with a robust understanding of public opinion research, along with practical skills in data gathering, analysis, and interpretation, and insight into recent developments in data collection methodologies. We will focus on experimental methods, especially survey experiments, and on utilizing social media as a source of data and as a medium for recruiting respondents. Throughout the course, students will have the opportunity to produce an original public opinion research project, applying the techniques and methods discussed. A. Sanaei. Winter.
MACS 30210. Computational International Politics
Just as the rise of data collection and analysis changed the shape of research on international politics in the second half of the twentieth century, modern computational tools allow scholars to ask new questions and rethink old ones. This course will provide a survey of research substantively spanning international politics using modern computational methods. Substantively, we will cover topics including international security, cooperation, conflict, political history, and interpretive research. Methodologically, we will cover applications of agent-based modeling, network analysis, and text analysis, among others. The goal throughout is to show how new sets of methods can help us not only to test our theories more satisfyingly, but to theorize better in the first place. The class will include both discussions of relevant research and hands-on data analysis tasks. Students will be expected to perform original computational research on a subject related to international politics broadly. D. Peterson. Winter.
MACS 30519. Spatial Cluster Analysis.
This course provides an overview of methods to identify interesting patterns in geographic data, so-called spatial clusters. Cluster concepts come in many different forms and can generally be differentiated between the search for interesting locations and the grouping of similar locations. The first category consists of the identification of extreme concentrations of locations (events), such as hot spots of crime events, and the location of geographical concentrations of observations with similar values for one or more variables, such as areas with elevated disease incidence. The second group consists of the combination of spatial observations into larger (aggregate) areas such that internal similarity is maximized (regionalization). The methods covered come from the fields of spatial statistics as well as machine learning (unsupervised learning) and operations research. Topics include point pattern analysis, spatial scan statistics, local spatial autocorrelation, dimension reduction, as well as spatially explicit hierarchical, agglomerative and density-based clustering. Applications range from criminology and public health to politics and marketing. An important aspect of the course is the analysis of actual data sets by means of open source software, such as GeoDa, R or Python. P. Amaral. and L. Aunseline. Winter.
Cross-listings: SOCI 20519, SOCI 30519, GISC 20519, GISC 30519, MACS 20519, DATA 20519
MACS 30550. Data to Manuscripts in R
This is the first quarter of the 2-quarter sequence From Data to Manuscript in R. The sequence tackles the basic skills needed to build a research workflow with the R programming language to create reproducible, open-science friendly reports that can be easily updated with ongoing data collection or receiving comments from readers. In this quarter we focus on the "Data" side of the workflow, with topics including core R programming, data wrangling in the Tidyverse, using GitHub for version control, and simple data analysis and visualization. Data to Manuscript I is highly recommended, but not required, to take Data to Manuscript II, which integrates R with the Quarto publishing system to create reproducible analyses, publication-quality visualizations, and manuscripts with dynamic narrative text. No previous experience with R or programming is required. Best suited for students actively working on a quantitative research project like a BA or MA thesis. Consent required for undergraduates. N. Dowling. Winter.
Cross-listings: MAPS 30550,CHDV 20550,CHDV 30550,PSYC 30550,PSYC 20550
MACS 33002. Introduction to Machine Learning: theory and applications in social sciences.
This course requires Python programming experience. The course will train students to gain the fundamental skills of machine learning. It will cover knowledge and skills of of 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. Z. Wang. Winter.
Prerequisites: Python programming experience.
Cross-listings: MACS 23002, MAPS 33002, PLSC 43505
MACS 33050. Artificial Intelligence, Innovation, and Growth
Social and cultural innovation, alongside economic growth, are among the most compelling, critical and challenging phenomena in modern social science. Innovation has always been associated with unleashing transformative growth in art, science, and the economy, and in this class we explore these issues in the context of the contemporary emergence of Artificial Intelligence (AI). AI represents a novel source of innovation in economy and society, but also a powerful tool for understanding, modeling, and steering innovation in new ways. The primary purpose of this course is to enable students to understand innovation and growth in the age of AI, and with tools from AI alongside theoretical frameworks and methods from economics, sociology, evolution, and complex systems necessary for study them. The course strives to provide students with a background in dynamic analysis, data analysis, and modern AI requisite for studying innovation in the modern age. We will also consider a number of compelling theoretical and empirical challenges, ranging from the paradox of institutionalizing innovation to inequalities that emerging AI capacities could create or remove to advances it could unleash in science and technology to the spread of misinformation to consequences of AI tools and "agents" in all domains of modern life to existential risks associated with AI. We will cover theories and models at an abstract and advanced level. U. Akcigit and J. Evans. Winter.
Cross-listings: ECON 23050,ECMA 33050,SOCI 20620,SOCI 30620,MACS 23050
MACS 37005. AI Agents for Social Science & Society
This course takes the position that AI agents represent a fundamental transformation in both society and social science methodology: from cartoons of social life to another dimension of sociality, and from tools that merely process data to autonomous systems that can formulate hypotheses, conduct literature reviews, design studies, analyze complex multimedia data, engage in theoretical reasoning, simulate human behavior and social dynamics, and reveal their own behaviors that are playing an increasingly important role in the human social world. In this course, students will learn to understand and construct AI agents that serve as research assistants (automating data collection and analysis), research subjects (simulating human responses and social processes or revealing their own authentic behavior), research advisors (synthesizing literature and proposing theoretical frameworks), research scientists (generating and testing hypotheses), and workers within organizations, institutions, and societies for study, but also productive work and life. J. Evans. Winter.
Cross-listings: DATA 27005,DATA 37005,MACS 27005
MACS 40700. Data Visualization.
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 techniques and methods for developing rich, informative and interactive, web-facing visualizations based on principles from graphic design and perceptual psychology. Students will practice these techniques on many types of social science data, including multivariate, temporal, geospatial, text, hierarchical, and network data. These techniques will be developed using a variety of software implementations such as R, ggplot2, D3, and Tableau. J. Clipperton. Winter.
Cross-listings: MACS 20700, PLSC 20700, PLSC 40700
MACS 30200. Perspectives on Computational Research.
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. H. Dambanemuya. Spring.
Cross-listings: MACS 10200
MACS 30113. Principles of Computing 3: Big Data and High Performance Computing for Social Scientists.
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. J. Clindaniel. Spring.
Note: MACS students have priority. Prerequisites: MACS 30111 and MACS 30112, or equivalent.
Cross-listings: MACS 10113
MACS 30123. Large-Scale Computing for the Social Sciences
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. J. Clindaniel. Spring.
Note: MACS students have priority. Prerequisites: MACS 30121 and MACS 30122, or equivalent.
Cross-listings: MAPS 30123, PLSC 30123
MACS 30755. Digital Experiments
This course takes a hands-on approach to help students develop a deep understanding of the theoretical underpinnings, principles, and methodologies of digital experimentation. Students learn how to design robust and ethical digital experiments in various domains (e.g., online behavior, A/B testing, product design, etc.) while mastering tools and platforms for running digital experiments, such as survey platforms, online experiment frameworks, and analytics tools. Key concepts taught in this course include causal inference, experiment types and validity, factorial designs, sampling, blocking, random assignment, stimuli, mediators, moderators, and effect sizes. Class sessions alternate between lectures & workshops and the culmination of the course requires students to apply their newly acquired knowledge of digital experimental design to solve real-world research problems, e.g., in marketing, behavioral economics, and the social sciences more broadly. H. Dambanemuya. Spring.
MACS 40550. Agent-Based Modeling
Social science problems often have so many details and moving parts that it can be difficult for researchers to gain traction without models. In this course, we explore agent-based modeling approaches to understand these social science problems including cooperation and the development of culture. Agent-based models enable us to build an understanding from the bottom up, starting with simple assumptions and analyzing how patterns emerge at a larger scale. Through the term, we'll cover the fundamentals of modeling, including basic principles of model design, data extraction, and canonical examples like Conway's Game of Life, Schelling's segregation model, and Boids/flocking. The course is balanced between social science readings and applications and hands-on coding. It cumulates in a final project consisting of an agent-based model designed by students to apply to a social science phenomenon. TBD. Spring.
Cross-listings: MACS 20500
MACS 40800. Unsupervised Machine Learning
Unsupervised learning is how we make sense of a large portion of scientific data, which typically lacks specific labels. Instead of predicting or forecasting an outcome, we employ unsupervised learning for a diverse set of tasks that all, in one way or another, extract patterns and structures from the data. This course covers a wide range of techniques in unsupervised learning, with an emphasis on social science research applications. Topics include clustering methods, dimensionality reduction, latent variable models, and deep learning approaches for identifying latent, non-random structures. Throughout the course, students will gain hands-on experience through practical implementations of these techniques. Students are expected to complete a project that uses unsupervised learning on a topic of their choice. A. Sanaei. Spring.
Cross-listings: MAPS 40800, PLSC 20825, PLSC 40825, MACS 20800

