ICPSR Complex Systems Computer Lab

Day 1: Introduction, contents of the course, some history of agent-based models and demonstrations of Schelling's segregation model and Conway's Game of Life. The slides are available as a pdf by clicking this -> Day 1 Presentation Slides


Day 2: Various kinds of agent-based models and their properties. Comparison of different agent-based modeling platforms/software packages. Hands on running and analyzing the Rabbits/Grass/Weeds model. The slides are available as a pdf by clicking this -> Day 2 Presentation Slides


Day 3: Components of agent-based models and how to decide what is appropriate for your problem. Benefits and limitations of agent-based modeling. Hands on running and analyzing the Rabbits/Grass/Weeds model. Tinkering with the Cooperation model to generate desired behavior. The slides are available as a pdf by clicking this -> Day 3 Presentation Slides


Day 4: How to analysze agents based models from contingent behavior. Hands on running and analyzing the Rabbits/Grass/Weeds model. Tinkering with the Cooperation model to generate desired behavior. Details of the Netlogo inferface (buttons, plots, resolution, etc.) Considerations for using Netlogo and where to get help. The slides are available as a pdf by clicking this -> Day 4 Presentation Slides


Day 5: Take a look at some student's Segregation variations, show some tricks, and then spend some time creating the camouflage for the contest. Walk through creating a model from scratch to demonstrate writing code, conventions, and how easy it is. Introduce the Hatfield and McCoy project if time permits. The slides are available as a pdf by clicking this -> Day 5 Presentation Slides

Download the Fish and Butterflies Model that we created from scratch in class (you may need to right-click and select "save link as" to download the file).


Day 6: Introduce the Hatfield and McCoy project. Show how it builds from known knowledge and briefly discuss some new features that will help write the code. If you want to take the fast track (to be able to code your own model for presenting at the end of the course) then I highly recommend working on this model over the weekend. You can only learn modeling by doing it! The slides are available as a pdf by clicking this -> Day 6 Presentation Slides


Hatfields and McCoys Basic:Here is a very rough version of the project outlined in the slides of day 6. It doesn't work right because there are several strategically placed errors in the code. If you've built a model (or partially built one) from scratch then you can use this one as a comparison. Remember that some parts of the code are not right (in addition to being ugly and kludgy). After I cover several of the relevant helping codes in the third week and I will post an advanced version (v03) of the model that does work (again for comparison of code and technique). Download the Hatfields and McCoys Basic model (you may need to right-click and select "save link as" to download the file because it might come up as text in your browser).


Day 7: Continue the Hatfield and McCoy project. I will present certain bits of code that are helpful and non-obvious: creating turtles and breeds, refering to independent procedures, ifelse clauses, getting properties of turtles, local variables, etc. Some from the code examples provided by Netlogo, and others from the basic and refined Hatfield and McCoy implementations. The slides are available as a pdf by clicking this -> Day 7 Presentation Slides (Note slight differences in code from the version 3 slides to the current version 4 format.)


Hatfields and McCoys Refined:Here is an expanded version of the model that includes many more parameters to mess around with. The code is still inelegant and done with brute force so you can get experience fixing it (e.g. by using symmetries in the agent properties). It's still selectively broken in some respcts and fails to include many coding practices I taught you. Fixing this and making it beautiful is great exercise for modeling. Download the Hatfields and McCoys Refined model (you may need to right-click and select "save link as" to download the file because it might come up as text in your browser).


Day 8: A few more useful code bits for loops and model interaction. Then time to work on a model (whether your own or the Hatfield and McCoy) with my help. Or if people want, I'll give more cool and helpful examples. The slides are available as a pdf by clicking this -> Day 8 Presentation Slides


Day 9: Introduction to network theory and network models. Key words and measures are introduced so you can understand what is likely to appear in the literature. Some history including the origin and the rise (and fall) of scale-free and small-world network analysis. The lesson rounds up with a look at some Netlogo network models and capabilities. Day 9 Presentation Slides


Hatfields and McCoys v03: This model has the code streamlined and has made use of symmetry in agent properties to minimized code and rules for behavior. The model also demonstrates the proper use of stand-alone methods and local variables. This is a good reference for how code should be written, but there is still room for improvement: something is wrong in assigning shapes by sex to children. Download the Hatfields and McCoys v03 model (you may need to right-click and select "save link as" to download the file because it might come up as text in your browser).


Day 10: Advanced features of Netlogo. I will describe and demonstrate some of the more advanced things that Netlogo can do. I will cover the BehaviorSpace for sweeping parameters, the Systems Dynamics Modeler, Shapes Editor, Hubnet capabilities, Netlogo 3D, and a few more. There should be time to receive help on your model if you need it. Day 10 Presentation Slides


Day 11: Netlogo 3D and other cool models. I will continue where I left off on yesterday's slides. I will discuss 3D models and why you might care to use them. I will also then highlight some especially cool models in 2D and 3D to act as springboards for your future work. Then we can discuss some issues in agent-based modeling and I can help any student with questions from their projects if there are any. No new slides.




Helpful Links
Netlogo Documents Page
Netlogo Community Models
Yahoo Netlogo User Group
TurtleZero Model Library
GIS Extension for Netlogo
David McAvity Netlogo Models
Jose Vidal's Netlogo Models


This little thing marks the end of the page.