Event Details


Agent-based Modeling with NetLogo: An Introduction (short course)


Gianluca Manzo


Room 801 IAB


9:00 am - 5:00 pm


This is a two day short course sponsored by the Robert Wood Johnson Health and Society Scholars Program at Columbia University.  Students will be required to attend both days. On Monday, the course will be from 9-4:45, with a lunch break between 1:15-2:45.  Tuesday the course will be from 10-4, with a lunch break from 12-2. 



The course is an intensive applications-oriented introduction to NetLogo (release 5.0), a flexible programming suite to design, simulate, and study agent-based models. A hands-on approach will be used throughout the course wherein the instructor will explain each programming building blocks and then the participants will immediately see their computational translation by means of code examples. The main goals of the course are to make participants autonomous in programming and studying their first agent-based model, and, on the other hand, to provide them with the capacity to benefit from NetLogo features that cannot be presented during the class. 


The first session will present the basic concepts behind computational modeling; it locates NetLogo within the larger range of the available programming tools to design and to simulate agent-based models; and it discusses the architecture of Netlogo. The second session introduces the main data structures of NetLogo (unidimensional vectors, lists, arrays, and tables); it explains how to declare, to initialize, and to manipulate them by creating user-defined procedures and functions ; it presents NetLogo main control structures (branching points and loops). The third session moves to the object-oriented side of Netlogo: it explains how to create Netlogo objects (patches, turtles, and links) and how to invoke them by using “agentsets”. Especial attention will be devoted to built-in and used-defined procedures usable to embed artificial agents in spatial and relation neighborhoods. By implementing step by step specific sociological theoretical models, the two last sessions provide concrete examples of how to assembly all the programming structures presented in the three first lectures. These sessions will also introduce NetLogo built-in facilities to study the behaviour of the model at hand and to draw inferences from it.


Participants may benefit from reading the following papers before the class (in the listed order):


Tisue, S. and Wilensky, U. (2004), "NetLogo: Design and implementation of a multi-agent modeling environment" (available at: http://ccl.northwestern.edu/papers/). 


Sklar, E. (2007), "Software Review: NetLogo, a Multi-agent Simulation Environment", Artificial Life, 13, 3, pp. 303-311.


Lytinen, S. L. and S. F. Railsback (2012), "The Evolution of Agent-based Simulation Platforms: A Review of NetLogo 5.0 and ReLogo" (available at: http://www.swarm.org/index.php/Software_Reviews)


For those who have more time, I would also advise a chapter pathway (namely chs. 1, 2, 4, 6, 8, 9, 13, 14, 15, 20, 22 and 23) from:


Railsback S. F. and V. Grimm, (2011), Agent-based and Individual-Based Modeling: A Practical Introduction, Princeton, Princeton University Press. 


Additional references will be indicated at the beginning of the course. NetLogo codes (with the instructor's line-by-line comments) on which each session is based will be made available to the participants at the end of course.



All participants will need to bring laptops and will need to have installed NetLogo on their computer before the first day.