EES 4760/5760

Course Description

Printable syllabus

Course Description

Basic Info:

Professor

Jonathan Gilligan (they/them/theirs)
Office: SC 5735
Email: jonathan.gilligan@vanderbilt.edu
Office Hours: M 10:00–11:00, T 11:00–12:00, or by appointment

Schedule

Class meetings: MW 8:40–9:55, SC 2200

Catalog Description

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. [3] (MNS)

Prerequisites

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.

Narrative Description

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 a wide range of things, such as people, animals, plants, cars, robots, or packets of information in a communications network) that make simple decisions or execute simple behaviors, 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.

Goals for the Course

My goals for this course are that at the end of the semester:

  • You will understand what scientific modeling is, including mathematical and computational modeling.
  • You will become skilled with the NetLogo programming language and be able to use it for coding complete agent-based models.
  • You will be able to use the ODD (Overview, Design concepts, and Details) method to document your own agent-based models and to understand how other people’s models work.
  • You will be able to use computational models scientifically, performing experiments and interpreting their results in order to learn about the causes and mechanisms of complex systems phenomena in the real world.
  • You will understand the Pattern Oriented Modeling methodology and be able to use it to design, conduct, and interpret experiments with agent-based 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.

Reading Material

There is one required textbook and one optional one, which I recommend primarily to students who are interested in social-science applications of agent-based modeling. From time to time during the term, I will assign supplementary reading on the Internet or in handouts that I will post to the class web site.

Textbooks

Additional Resources

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 Brightspace, 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.

Computer Software

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.4.0 from https://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.

Optionally, you may want to install R statistical software, which can help with analyzing data from NetLogo computational experiments. There is more information bout downloading and installing R on the Tools page on the class website .

Assignments

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.

Graded Work

Homework

Homework must be turned in electronically to Brightspace by 11:59 pm on the day it is due.

Projects

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

Class participation 5%
Homework 30%
Team Project 25%
Research Project 40%

Final Note:

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.