Introduction to Agent-Based Modeling
This workshop is designed to get individuals with no coding experience started in writing agent-based model using Netlogo. The Netlogo software is especially appropriate for beginners to programming because it is a simplified language, and it has been designed with agent-based modeling in mind.
After introducing the components of the interface, we begin by dissecting the code for Thomas Schelling's famous segregation model as implemented in the Netlogo sample models (with additional comments added for clarity). After reviewing and understanding the native code for this model, the attendees are immediately prompted to start coding through structured incremental changes to this model: add a third type of agent, change colors, change proportions of agent types, etc. These exercises introduce students to finding and adapting existing code, locating help from the programming dictionary, writing fresh code, and eventually to conceptualizing and building their own extensions. This provides a foundation from which the participants can grow on their own.
Becasue building a model is just the beginning of the modeling process, we also cover the basics in creating useful output, doing "drone" runs to collect data, and some data analysis and visualization tools and methods that are especially useful for agent-based models. Depending on the time available, some of the following items are also covered: networked interaction structures of agents; an expanded set of tips and tricks; more sophisticated modeling exercises; participatory models; and models with learning, adaptive, and evolving colelcitons of agents.
Though the workshop described above focuses on getting participants building their own agent-based models, a similar workshop can be done for other simulation approaches, independent of their interest in complex systems, and in other software tools as appropriate. We also have a workshop for those who are more interested in learning to interact with and interpret models, but not build their own. The material in this introductory workshop can be woven seemlessly into the Advanced Agent-Based Modeling workshop for a longer and more thorough treatment. And though some basic material in networks and data analaysis are provided here, combining this workshop with these other modules provides a complete methodological package.