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. Perspectives on Computational Modeling | MACS 30200. Perspectives of Computational Research |
MACS 30150. Perspectives on Computational Modeling for Economics | |||
MACS 30000. Introduction to Computational Social Science | |||
Core Programming | MACS 30111. Python Programming with Social Science Applications | MACS 30112. Principles of Computing 2: Data Management for Social Scientists | 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. Computer Science with Social Science Applications 2
| MACS 30123. Large-Scale Computing for the Social Sciences | |
Other | MACS 30500. Computing for the Social Sciences | MACS 30135. Interpretable Machine Learning | MACS 30755. Digital Experiments |
MACS 30455. Collective Intelligence | MACS 30205. Public Opinion | MACS 40550. Agent-Based Modeling | |
MACS 40101. Social Network Analysis: Theory and Applications in R. | MACS 33002. Introduction to Machine Learning | MACS 40800. Unsupervised Machine Learning | |
MACS 40123. Large-Scale Data Mining for Social and Cultural Knowledge Discovery | MACS 37000. Thinking with Deep Learning for Complex Social & Cultural Data Analysis | ||
MACS 40700. Data Visualization | |||
MACS. Computational International Politics | |||
MACS. Digital Peacebuilding | |||
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 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. Perspectives on Computational Analysis.
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. Perspectives on Computational Modeling.
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. TBD. Winter.
Cross-listings: MACS 10150
MACS 30112. Principles of Computing 2: Data Management for Social Scientists.
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. Computer Science with Social Science Applications 2.
This course is 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 30135. Interpretable Machine Learning
ML is already ubiquitous, revolutionizing our lives in all domains. Precisely because of this, its new frontier is occupied with finding ways to ensure that we truly understand and exert control over how our techniques predict what they predict, and generate the results that they generate. This movement beyond being satisfied with just the accuracy of results is critical for a couple of reasons. First, as the wise say, with great power comes great responsibility - since our revolutionary ML techniques only learn from what we feed them, they reproduce (and even exacerbate) biases present in our data. To counter this, we need to be able to interpret and then intervene in how Machine Learning learners are learning what they learn. Second, by being able to interpret, explain and modify how algorithms learn what they learn from our datasets (not merely how algorithms mechanically work), we can uncover relevant latent knowledge hidden in such data. In this course, we start by discussing what Interpretable or Explainable ML even means to different audiences. Next, students will be introduced to several types of state-of-the-art techniques that have been proposed to increase the interpretability/explainability of ML models. Along the way, students will be presented to the discussion on how interpretable or explainable models can help fight biases, improve the fairness, trustworthiness or reliability of predictions, and ensure the ethical use of ML as it continues to change our lives. J. Clipperton. Winter.
MACS 30205. Public Opinion
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 33002. Introduction to Machine Learning.
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 37000. Thinking with Deep Learning for Complex Social & Cultural Data Analysis
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). J. Evans. Winter.
Cross-listings: MACS 27000, SOCI 30332, DATA 30332
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. Computational International Politics
D. Peterson. Winter.
MACS. Digital Peacebuilding
A. Sanaei. Winter.
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