Darren Schreiber’s research centers on emergence and complexity in political systems. In his first career as an attorney, Darren specialized in federal litigation and had his first federal jury trial at age 23. While earning his Ph.D. in Political Science at UCLA, Darren developed an agent-based computer simulation of the formation and dynamics of political parties. He has pioneered the subfield of neuropolitics with the first use of functional brain imaging (fMRI) to study the neural foundations of politics. He is currently a Senior Lecturer in Politics at the University of Exeter, his previous appointments were at Central European University in Budapest, Hungary; University of California, San Diego; and the University of Pennsylvania.

Course Content
Though models sit at the center of lines of social inquiry as diverse as game theory, statistical analysis, qualitative analysis, and political philosophy, all involve an attempt to describe core elements of the world in a way that helps us to understand, value, and predict that world. With Agent Based Models, computer simulations of the behaviors of many agents work deductively from simplified assumptions to creates dynamic interactions that can be examined over a range of conditions to make inductive arguments about the nature of the world. In this generative reasoning approach, agents with very simple micromotives can lead to complex adaptive systems in which qualitatively different macrobehaviors emerge. How do very simple assumptions about drivers, city dwellers, and voters lead to complex emergent phenomena like traffic jams, housing segregation, and party realignment? In this course, we will answer these questions by building models of these problems and beginning to develop our own agent based models.

Course Objectives
By the end of this course, students will learn to turn a rough idea about a social science phenomenon into an account of the agents, behaviors, environments, and their interactions that can then be modeled in NetLogo. In addition to learning about modeling, students will be capable of using concepts and code from existing models, of turning their concepts into code, and of analyzing and evaluating the models that they create. NetLogo is designed as a low threshold framework that is easy to begin working with and has a high ceiling with extensive capabilities for sophisticated modeling.

Course Prerequisites
This is an introductory course with no prerequisites. The programming language Logo was developed to teach young children a simple way to write code. This course will use its descendant NetLogo to create agent-based models and there is no need for any familiarity with programming or anything beyond basic computer using skills.

Background reading
Bonabeau, E. (2002). Agent-based modeling: Methods and techniques for simulating human systems. Proceedings of the National Academy of Sciences of the United States of America, 99(Supplement 3), 7280–7287. http://doi.org/10.1016/S1389-1286(00)00026-8

Marshall, B. D. L., & Galea, S. (2014). Formalizing the Role of Agent-Based Modeling in Causal Inference and Epidemiology. American Journal of Epidemiology, 181(2), 92–99. http://doi.org/10.1056/NEJMsa066082

Books/Software
NetLogo User Manual 6.01 (434 pages)

Wilensky, U. (1999). NetLogo. http://ccl.northwestern.edu/netlogo/. Center for Connected Learning and Computer-Based Modeling, Northwestern University, Evanston, IL.

Wilensky, U. and Rand, W. (2015) An Introduction to Agent-Based Modeling: Modeling Natural, Social, and Engineered Complex Systems with NetLogo. The MIT Press.

Day 1 — Foundations What is an Agent Based Model? Why Agent Based Models? Introduction to Emergence and Complexity Introduction to NetLogo Simple Models John Conway’s Game of Life Simple Economy Introduction to designing your own social science models.

Day 2 — Building a Simple Model Modelling principles The Cocktail Party Model The Schelling Segregation Model.

Day 3 — Extending Models Schelling Segregation Model Extended Multiple Ethnicities Diverse preferences Individuals who prefer diversity.

Day 4 — Creating Your Own Model Agents’ Properties and Behaviors Environments Interactions Scheduling.

Day 5 — Understanding Your Model Analyzing Agent-Based Models Trace analysis Statistical analysis Verification, Validation, and Replication