| Date | Topic | |
|---|---|---|
| 1 | 2025-10-20 | Introduction |
| 2 | 2025-10-27 | Learning to model processes |
| 3 | 2025-11-03 | Preparing as a software developer |
| 4 | 2025-11-10 | Programming for simulation modelling |
| 5 | 2025-11-17 | Pond Trade (I): basics and cellular automata |
| 6 | 2025-11-24 | Pond Trade (II): agents and mechanisms |
| 7 | 2025-12-01 | Pond Trade (II): agents and mechanisms |
| 8 | 2025-12-08 | Pond Trade (III): advanced mechanisms, output stats and modularity |
| 9 | 2025-12-15 | Pond Trade (III): advanced mechanisms, output stats and modularity |
| 10 | 2026-01-12 | Messara Trade (I): case, design and spatial input data |
| 11 | 2026-01-19 | Messara Trade (II): time-series input data and plugging modules |
| 12 | 2026-01-26 | Messara Trade (III): verification, optimisation, refactoring and extension |
| 13 | 2026-02-02 | Designing and running Simulation experiments and Analysis of simulation results |
Agent-based modelling for archaeologists. From concept to application and publication
Course overview

Agent-based modelling for archaeologists. From concept to application and publication (14436.0398)
Time slot: Monday, 10:00-11:30
Place: Küpperstift, Kerpener Str., 30, 2nd floor (125/02) CoDArchLab
Course instructor: Andreas Angourakis
Course summary
This course introduces the basic concepts and workflow of simulation and agent-based modelling (ABM), as used in archaeology.
More specifically, we will cover the prototyping of a conceptual model into a working simulation model, the ‘refactoring’ of code (cleaning, restructuring, optimizing), the re-use of published model parts and algorithms, the exploration of alternative designs, and the use of geographic, climatic and archaeological data to frame the model in a specific case study.
This tutorial uses NetLogo, a flexible well-established modelling platform known for its relatively low-level entry requirements in terms of programming experience. It has been particularly used in social sciences and ecology for research and educational purposes.
The course offers implementation examples of least path cost algorithms, hydrological and land productivity modelling, network dynamics, and cultural evolution. Additionally, we learn the basics of Git and GitHub for version control, which will help us organize, maintain, and share models and related materials.
Course schedule
Evaluation
Attendance and completion of small exercises, individually or as a group.
There are mainly three types of activities to address:
Conceptual modelling: Create your own conceptual model and document it as a text description or a diagram (task in chapter 7). If not developing an entirely new idea, consider a published ABM model applied to archaeology or keen disciplines (see References), summarise the corresponding conceptual model using text and diagrams and propose one or more modifications to the original design. You are welcome to use conventions such as UML diagrams and the ODD protocol if you need a more structured guideline for describing a model (see chapters 4 and 5).
GitHub repository for a model: Create your simulation model repository (task in chapter 10). It should eventually include files related to the conceptual model and the NetLogo implementation (see the next point). If you are extending a published model, upload a copy of the reference model you chose, or fork the original repository on GitHub if it exists. The work done will be checked directly in GitHub, so do not forget to commit and push everything you have done, even if the work is in progress.
Implementing a model in NetLogo: When working with your own model, create a minimal NetLogo version that can run simulations that represent your conceptual model. At a minimum, the implementation code should contain all the basic elements required by an ABM model: global parameters and variables, any agent variables (both patches and turtles), and the main procedures, even if unfinished. When extending a previously published model, such as the Pond Trade or Messara Trade models, propose at least one modification or extension to the original code, based on the changes proposed in the conceptual model. Try implementing the necessary changes and testing them. Document your changes and briefly explain the reasoning behind them (images or text). To create new functionalities, you may use any code snippet or modules from the Pond Trade and Messara Trade examples (chapters 15-30), as well as any other sources of code elsewhere. Store all files in your repository according to the logic explained in Chapter 10.
Acknowledgements
The conception of the course structure, as well as the short summaries, exercises, and images shown in each chapter, greatly benefited from Large Language Models used as companion writer and programmer. As such, we own greatly to the current richness of reference information freely available on Internet.
The models and services used are:
- ChatGPT (GPT-4o) by OpenAI for brainstorming, text and code drafting and writing suggestions, code refactoring and documentation, and collection and articulation of references.
- Google NotebookLM for summary of references and text writing suggestions.
- WebChatGPT, a free browser extension that enhances ChatGPT by providing Internet access directly within the chat interface, used to aid Internet search.
- Leonardo.ai (user tokens) for generating purely aesthetic visual assets.