This course is discontinued

SOS9018 – Agent-based Modeling in the Social Sciences

Schedule, syllabus and examination date

Choose semester

Course content

Computational agent-based models (ABM) have become increasingly popular in the social sciences. The purpose of an ABM is to simulate the emergence of macro-level social phenomena based on the interaction of individuals.

Course leader: Nils B. Weidmann, Peace Research Institute Oslo

Learning outcome

This course provides a comprehensive introduction to ABM, drawing on examples across political science, sociology and economics. Using the free NetLogo software, students learn how to design agent-based simulation models from scratch and evaluate their output. The course starts with a discussion of ABM principles, and proceeds with a step-by-step introduction of essential ABM building blocks and their corresponding implementation in NetLogo. We also cover the integration of empirical data and the automatic execution of multiple simulation ("batch") runs. In supervised lab sessions, students develop their own implementation of an ABM. The exercises are based on the simple NetLogo programming language, and no prior experience in programming is required.

General Readings
Non-technical introductions to complexity and computational modeling:

  • Epstein, Joshua M. 2006. Generative Social Science: Studies in Agent-based Computational Modeling. Princeton: Princeton University Press.
  • Gilbert, Nigel and Klaus G. Troitzsch. 2005. Simulation for the Social Scientist. 2nd ed.Open University Press.
  • Gilbert, Nigel. 2007. Agent-based Models. London: Sage.

A technical introduction to ABM using NetLogo, using examples from biology:

  • Railsback, Steven F. and Volker Grimm. 2011. Agent-based and Individual-based Modelng: A Practical Introduction. Princeton, NJ: Princeton University Press.


PhD students at the Department of Sociology and Human Geography register for the course in StudentWeb by August 20th, 2012.

Other interested participants can send an email to lixian.cheng(at)


Formal prerequisite knowledge

Open for all interested PhD students.


The course relies on the NetLogo language, which is a simple programming language to create agent-based models. Prior programming experience is helpful but not required. When we analyze output from our experiments with ABMs, it is useful for students to have some experience with a statistical toolkit of their choice (SPSS, Stata, R). In particular, we will compute summary statistics and simple OLS regression models. Alternatively, it is possible to use MS Excel for these tasks.

The course relies entirely on NetLogo, a free software platform for agent-based modeling. Net-Logo is written in Java, and thus available for all major platforms (Windows, Mac, Linux). It can be downloaded here. In addition, students will use their favorite statistical package (SPSS, Stata, or R) to process and analyze data from ABM experiments. These analyses can also be performed in a spreadsheet software such as MS Excel or OpenOce Calc.

The exercises consist of small programming exercises as well as replications of existing agent-based models. Solutions for the exercises are provided along with the questions. NB: I strongly encourage you not work on the solutions directly! Learning to program involves a lot of trial and error, so you give it a shot without using the provided solutions! The exercises are ordered by complexity. While I recommend that you roughly follow the order given, it is not necessary to complete all of the exercises. Feel free to pick and choose. If you intend to develop your own model during this course, you should obviously complete the "Project Work" section at the end of each exercise.

All days from 09.00-16.00

Day 1
Location: 09.00-12.00: Harriet Holters hus room 221
12.00-16.00: Eilert Sundts hus room 447
Introduction and logistics. History of simulation in the social sciences. Principles of ABM. Implementing ABMs. The NetLogo interface. NetLogo concepts. Basic command line operations.

Day 2
Location: Eilert Sundts hus room 447
Compiled vs. interpreted computer programs. NetLogo scripts. Variables and data structures. Program flow.
Model of the Day: Schelling's segregation model: Schelling, Thomas C. 1978. Micromotives
and Macrobehavior. New York: Norton. Chapters 1, 4.

Day 3
Location: Eilert Sundts hus room 447
Graphs and charts. Scheduling and activation regimes. Random numbers. Computational experiments.
Model of the Day: The Ethnocentrism model: Hammond, Ross and Robert Axelrod. 2006. "The Evolution of Ethnocentrism." Journal of Conict Resolution 50(6):926936.

Day 4
Location: 09.00-12.00: Harriet Holters hus room 221
12.00-16.00: Eilert Sundts hus room 447
Interaction topologies. (Short) introduction to graph theory. Network models in NetLogo. Agent Breeds. Computational models and empirical data. Generating and processing input and output files. Creating supplementary material.
Model of the Day: Siegel's network model of collective action: Siegel, David A. 2009: "SocialNetworks and Collective Action." American Journal of Political Science 53(1):122138.


Students can obtain 5 credit points, provided that they (i) attend the lectures, lab sessions and complete the readings, and (ii) submit a research paper within six weeks after the end of the course. The paper must describe an agent-based model developed by the student on a topic of his/her choosing (no replications of existing work). The format of the paper is 15-20 pages (plus appendix) in double-spaced 12pt font, with standard 2.5cm margins. It should be written in the structure of an academic article, and at a minimum, must (i) motivate the modeling project and the specific research question, (ii) review the relevant literature, (iii) describe the model and its elements and dynamics, and (iv) present one or more interesting experiments conducted with the model that address the research question.

Facts about this course






Autumn 2012

August 27-30 2012, 09:00-16:00 all four days.


Autumn 2012

Teaching language