Office: SC 5735 and on Zoom (details on Brightspace)
Office Hours: Tues. 4:00–5:00 pm, Wed. 7:00–8:00 pm (on Zoom, contact details on Brightspace), or by appointment
Graduate Teaching Assistant
Katherine “Kat” Turk
Office: SC 5743
Office Hours: Tues. 10:00–11:00 am, Wed. 11:00 am–12:00 pm, or by appointment.
Class meetings: TR 11:10–12:25, SC 2200
EES 4760/5760 Agent- and Individual-Based Computational Modeling Applications in natural, social, and behavioral sciences and engineering. Designing, programming, and documenting models. Using models for experiments. Examples from environmental science, ecology, economics, urban planning, and medicine. Familiarity with basic statistics and proficiency in algebra are expected.  (MNS)
You should be generally numerically literate and I will assume that you are familiar and comfortable with basic algebra and statistics. Prior programming experience is not required. Students with significant experience in programming and statistical analysis should find themselves well prepared but should find plenty still to learn throughout the semester.
Agent-based and individual-based modeling has become a powerful tool for research in many fields, including anthropology, civil engineering, computer science, ecology, economics, epidemiology, marketing, medicine, political science, public policy, robotics, sociology, transportation, and urban planning.
Agent-based modeling is used to study how individual agents (which can represent people, animals, plants, cars, robots, or packets of information in a communications network) making simple decisions can produce complex and unexpected collective behavior through their interactions. Agent-based models have been used to investigate racial segregation in American cities, traffic jams, adaptation to global warming, disease outbreaks, inflammatory response to wound infections, ecosystem dynamics, impacts of changing land-use on tropical rain forests, political instability, and market penetration of home solar-energy systems.
This course will provide an introduction to agent and individual-based modeling. You will learn how to design, program, and document agent-based computational models using the free open-source NetLogo environment. You will use these models scientifically to perform computational experiments and interpret the results.
You do not need to have any prior knowledge of computer programming, but I do expect that you are familiar with basic statistics and algebra. We will use the NetLogo environment for writing and running agent-based models. NetLogo is a widely used system that is both powerful and easy to learn, so you can quickly start to program your own models.
Structure of the Course:
I divide the semester into three parts:
Introduction to Agent-Based Models and NetLogo: The first part of the course introduces the basic concepts of computer modeling, what agent-based models are, and how to use the NetLogo environment to write and run simple agent based models. I do not assume any prior experience with programming or computer modeling, so this part of the course will give you everything you need to get started.
Designing Agent-Based Models: Next, we study the essential components of agent-based models and develop a systematic approach to designing and implementing agent-based models that will be suitable for doing real science. This section will use examples of real agent-based models that have been used for published research.
Using Models for Serious Research: After mastering the components that good models should have, we step back from the details and work at a more strategic level to consider how we can design and use models to answer research questions in social and natural sciences.
There is one required textbook. Supplementary reading on the Internet or in handouts will also be assigned during the term.
Steven F. Railsback and Volker Grimm, Agent-Based and Individual-Based Modeling: A Practical Introduction (Princeton University Press, 2012). ISBN: 978-0-691-13674-5
There is a companion web site to the book, http://railsback-grimm-abm-book.com/ where you can find errata in the textbook and download supporting data files and NetLogo models for some of the exercises.
This course only scratches the surface of what is possible with agent-based models, and what researchers are doing with them. I have prepared a separate handout on additional reading and computational resources for doing research with agent-based models. This handout lists a number of helpful books, journals, web sites, and software tools that you may find useful or interesting if your want to learn more.
Class Web Site
In addition to the Blackboard web site, I have set up a server at https://ees4760.jgilligan.org , where I post the web versions of class slides and interactive web-based applications to that can be useful for working with data output from agent-based modeling experiments.
For this class, we will write and execute agent-based models using the NetLogo modeling system. NetLogo is free software developed at Northwestern University. You can download it from https://ccl.northwestern.edu/netlogo/ . NetLogo is available for Windows, Mac OS X, and Linux. I have chosen it for this course because it is free, it runs on all the major operating systems, its programming language is very easy to learn; and it allows you to easily create a visual representation of your model.
You should download NetLogo version 6.2.0 from http://ccl.northwestern.edu/netlogo/download.shtml and install it on your computer.
NetLogo has been used widely both for education and also for research-grade modeling. However, no computer software is perfect and for some large or complicated models, NetLogo may be inadequate. There are a number of open-source agent-based modeling systems that are more powerful than NetLogo and are better suited for large and complex models. However, these systems are much harder to learn and much harder for even experts to write models in. My experience is that for most modeling projects, you can get more done in a week with NetLogo than in a month or more with the other systems I know of.
Overview of reading assignments
I will give out detailed reading that give specific pages to read for each class and notes on important things you should understand. I expect you to complete the reading before you come to class on the day for which the reading is assigned, so you can participate in discussions of the assigned material and ask questions if there are things you don’t understand.
Homework must be turned in electronically to Brightspace by 11:59 pm on the day it is due.
You will do one assigned team project and one research project. On the team project you will work with a partner to program and work with a model from the textbook, run experiments with the model, write up the results, and make a short presentation to the class.
For your research project, you will study an existing model, adapt it to investigate a new research question, run and analyze experiments using the model, write up the results, and make a presentation to the class.
Note: Graduate student research projects will involve additional requirements and a longer final report than undergraduate projects, and graduate students will be assigned more homework exercises.
Tests and Examinations
There will not be any tests or examinations in this course. Your grade will be based on class participation, homework, modeling projects, and in-class presentations.
Basis for Grading
I have made every effort to plan a busy, exciting, and instructive semester. I may find during the term that I need to revise the syllabus to give more time to some subjects or to pass more quickly over others rather than covering them in depth. Thus, while I will attempt to follow this syllabus as closely as I can, you should realize that it is subject to change during the semester.