Courses

Planned Course Offerings for 2024-2025

Please consult the Schedule of Classes for the current quarter's schedule. Class offerings are subject to change.

Course Schedule

(Course Descriptions Below)

 Autumn 2023Winter 2025Spring 2025
Perspectives SequenceMACS 30000. Perspectives on Computational AnalysisMACS 30100. Perspectives on Computational ModelingMACS 30200. Perspectives on Computational Research
 MACS 30150. Perspectives on Computational Modeling for Economists 
 MACS 30000. Perspectives on Computational Analysis 
Core ProgrammingMACS 30111. Principles of Computing 1: Computational Thinking for Social ScientistsMACS 30112. Principles of Computing 2: Data Management for Social ScientistsMACS 30113. Principles of Computing 3: Big Data and High Performance Computing for Social Scientists
MACS 30121. Computer Science with Social Science Applications 1MACS 30122. Computer Science with Social Science Applications 2MACS 30123. Large-Scale Computing for the Social Sciences
OtherMACS 30500. Computing for the Social SciencesMACS 60000. Computational Content AnalysisMACS. Interpretable Machine Learning
MACS 30205. Public OpinionMACS 40700. Data VisualizationMACS 33002. Introduction to Machine Learning
MACS 40101. Social Network AnalysisMACS. Collective IntelligenceMACS. Deep Learning
MACS 40123. Large-Scale Data Mining for Social and Cultural Knowledge Discovery MACS 40550. Agent-Based Modeling
  MACS. Unsupervised Machine Learning
  MACS. Large-Scale Digital Experiments
Our non-Credit Workshop (more info here)MACS 50000. Computational Social Science Workshop

 

Course Descriptions

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. H. Dambanemuya, D.Peterson, F.Vasselai, A. Sanaei . Autumn. Note: Consent required for non MACSS students.

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

MACS 30121. Computer Science with Social Science Applications 1. 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 30205. Public Opinion (MAPS 30205). 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. Autumn.

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.

MACS 40101. Social Network Analysis. (SOCI 40248). 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. S. Nardin. Autumn

MACS 40123. Large-Scale Data Mining for Social and Cultural Knowledge Discovery. J. Clindaniel & Z.Wang, Autumn.

MACS. People Analytics.  J. Bruce. Autumn.

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

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.

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. Salas. Winter.

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.

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 40700. Data Visualization. (MACS 20700).  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.  

MACS 60000. Content Analysis. (SOCI 40133). 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. J. Evans. Winter.

MACS. Collective Intelligence. H. Dambanemuya. 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. D. Peterson, F. Vasselai, H. Dambanemuya. Spring.

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.

MACS 30123. Large Scale Computing. 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, F. Vasselai. Spring. Note: MACS students have priority. Prerequisites: MACS 30121 and MACS 30122, or equivalent.

MACS 33002. Introduction to Machine Learning. (MAPS 33002, PLSC 43505). 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. Spring.  Prerequisites: Python programming experience.

MACS 40550. Agent-Based Modeling. (MACS 20550). 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. D. Peterson. Spring.  Prerequisites: Must have completed MACS 30111 or equivalent. Consent required for all undergads not meeting prerequisites and all non-MACSS students.

MACS 40800. Unsupervised Machine Learning. A full understanding of data structure is not always possible, nor are tidy labeled data always available to researchers. With an applied focus, this course will cover prominent unsupervised machine learning techniques such as clustering, partitioning, dimension reduction, and deep learning for discovering latent, non-random structure in data. Further, mechanics involved in unsupervised machine learning will also be covered, such as measuring distance, visualization, and methods of validation. Where appropriate, we will also cover best practices in functional programming. A. Sanaei. Spring

MACS. Deep Learning. J. Evans. Spring

MACS.  Large Scale Digital Experiments. H. Dambanemuya. Spring.