Materials created for an upper level ABM course. Prerequisite: Students have taken either (a) another modeling course, or (b) the introductory computer science sequence.
Listed in Teaching Materials
These materials are the projects created for an upper-level ABM course at Rhodes College. The class is typically taken by math and biomath majors as an elective. It is sometimes taken by biology and cs students. The course makes use of the Railsback & Grimm (R&G) textbook (Chapters 1-9); some reading and homework exercises are assigned from this book. Like the R&G book, this course uses NetLogo as a programming interface for creating ABMs. Additionally, since it is becoming more common to see flow diagrams of model subroutines in published ABM papers, I also teach students who to construct flow diagrams. We use the free draw.io applet for constructing flow diagrams. Once the students learn how to construct flow diagrams, they are required to make them for at least the main procedure (and often one or more subprocedures) for every subsequent assignment.
- Project 1: Assigned at the beginning of the semester to help students learn the NetLogo programming language.
- Project 2: As a class, we work through the construction of the Butterfly Hilltopping model in R&G. Once the students have solid understanding of that model, this project is assign to extend what they have done so far.
- Project 3: To motive a discussion about emergent properties of ABMs we examine the Fire.nlogo model (in the NetLogo model library). After reviewing this model in class and having a thorough discussion of emergent properties, the students work in groups on this project which adds to the existing Fire model. Note: you sometimes have to reign students in with what they want to add to the model. I make the groups stick to adding only one feature.
- Project 4 & In Class Firefly Assignment: After several in-class discussion about how we can program NetLogo to "observe" patterns that our eyes easily pick up on, these two assignments are given.
Final project: About half way through the semester, the students are asked to start brain storming something that they would like to model with an ABM and what question they might address with their model. The assignment is scaffold to be submitted in stages. Below is what I post on the course website for the final project.
Submit a Word or PDF document with the names of the collaborators on this project, a paragraph roughly describing what will be modeled and what question you hope to answer with the model. A list of the entities of the model indicating whether they are patches, agents, or link. If space is not explicitly used in the model, you need not include patches (e.g. network models often do not make use of patches).
- Analysis Check-in
I will check in with each individual or group to see that you have completed the model and are working on the model analysis portion of the project. These means you should be in the process or have completed running simulations in Behavior Space. If you simulations are complete, you should be working on creating graphs which summarize the results of your simulations.
- Presentations of Model & Analysis
Each individual or group will give a 5-7 minute presentation on their project. Please put together a few slides to assist you in describing to the class what you have modeled, some of the interesting elements of your model, what you chose to observe, what model parameters you varied in your analysis, and some of your results. Please upload your slides (and your NetLogo file if you want to show your model in action) to the Final Presentation subfolder of the Submission folder on Box prior to class.
- Final Project
For the final project you need to submit two items:
- NetLogo code of you project and any associated files that are read in to the NetLogo file when running a simulation. Also make sure that when I open Behavior Space, I can see all the different experiments you ran.
- A document containing the ODD description with flow diagrams for the GO procedure and at least two other procedures (more is fine if it aids in your description of the model), and a description of the model analysis and results. In the description of your model analysis you should describe what you observed and why, what model parameters your varied in your analysis. In you description of the results, describe what trends the graphs you created show and interpret them in terms of the biology, epidemiology, or economics of the physical system you are modeling. This document should be typed and presented in a professional manner. Please make it easy to navigate by using sections, subsections, and subsubsections (if needed). Also, please number all of your figures so that you may easily refer to them within the text.
- Fire neighbors4.csv(CSV | 13 KB)
- Fire neighbors8.csv(CSV | 13 KB)
- Fire--v2.nlogo(NLOGO | 15 KB)
- Fire.nlogo(NLOGO | 14 KB)
- FireAnalysis.nb(NB | 425 KB)
- In Class Assigment - Fireflies.pdf(PDF | 151 KB)
- Project1.pdf(PDF | 452 KB)
- Project2.pdf(PDF | 139 KB)
- Project3.pdf(PDF | 135 KB)
- Project4.pdf(PDF | 168 KB)
- Rabbits.nlogo(NLOGO | 16 KB)
- Agent-based and Individual-based Modeling: A Practical Introduction
- Flowchart Maker & Online Diagram Software
- License terms
Cite this work
Researchers should cite this work as follows: