About the course
This course introduces practical applications of methods of systems sciences. We revisit system modelling concepts and the basics of Python, build an agent-based model together, and work in groups on real-world problems with support from AI coding tools.
Course structure
Part 1: Introduction and Basics
Systems, feedback and emergence, models and LLMs, and the tools we work with (Python with uv, VS Code, Copilot, git and GitHub).
Part 2: First Models
Code and analyse a first agent-based model, call LLMs from Python, and choose a project topic.
Part 3: Group Projects
Independent group work on a research question about social-ecological systems: an agent-based model with AI coding tools, presentations of the preliminary work and of the results.
Semester plan
17 appointments on 16 dates, from 1 October 2026 to 28 January 2027. All sessions take place in SR 35.K1 (0035U10014) unless noted otherwise.
Official timetable on UNIGRAZonline
Part 1: Introduction and Basics
| # | Date | Topic | Materials | |
|---|---|---|---|---|
| 1 | 08:30 to 09:45 SR 35.K1 | Course introduction: thinking in systems | Get to know each other, begin thinking in systems | |
| 2 | 09:00 to 10:30 SR 35.K1 | Systems, feedback and emergence | Play a shared lake, then ask why it collapsed | |
| 3 | 08:30 to 09:45 SR 35.K1 | Models, agent-based models and LLMs, then the setup clinic | How to find out what saves the lake; Python with uv, VS Code, Groq key | |
| 4 | 08:30 to 09:45 SR 35.K1 | Working with git and GitHub | Commits, remotes, branches and pull requests |
Part 2: First Models
| # | Date | Topic | Materials | |
|---|---|---|---|---|
| 5 | 08:30 to 09:45 SR 35.K1 | From ODD to code: the traffic model | Describe the model, then code it together | |
| 6 | 08:30 to 09:45 SR 35.K1 | Quiz 1 Watching emergence | Visualise the traffic model, verification | |
| 7 | 08:30 to 09:45 SR 35.K1 | Animation is not analysis | Seeds, replicates, parameter sweeps; project topics | |
| 8 | 08:30 to 09:45 SR 35.K1 | LLM APIs from Python | Prompts, structured output, non-determinism |
Part 3: Group Projects
| # | Date | Topic | Materials | |
|---|---|---|---|---|
| 9 | 08:30 to 09:45 SR 35.K1 | Project kick-off | Research question, first ODD, shared repository | |
| 10 | 08:30 to 09:45 SR 35.K1 | Tipping points and feedback, project work | Hysteresis in the shallow lake | |
| 11 | 08:30 to 09:45 SR 35.K1 | Preliminary work presentations (P1), part 1 | Each group: 8 minutes plus 5 minutes of discussion | |
| 12 | 08:30 to 09:45 SR 35.K1 | Preliminary work presentations (P1), part 2 | Each group: 8 minutes plus 5 minutes of discussion | |
| 13 | 08:30 to 09:45 SR 35.K1 | Sensitivity and validation, project work | Which parameters matter? Pattern-oriented modelling | |
| 14 | 08:30 to 09:45 SR 35.K1 | Quiz 2 Supervised project work | ||
| 15 | 08:30 to 09:45 SR 35.K1 | Code review, project work | Groups review each other's pull requests | |
| 16 | 08:30 to 09:45 SR 35.K1 | Final presentations (P2), part 1 | ||
| 17 | 10:00 to 11:30 SR 35.K1 | Final presentations (P2), part 2 | Closing discussion and course evaluation |
Quiz 1 is in session 6 and quiz 2 in session 14. Submission deadlines will be announced.
Assessment
| Component | Points |
|---|---|
| Quiz 1 | 15 |
| Quiz 2 | 14 |
| Group project | 40 |
| Individual final report | 15 |
| Participation | 16 |
| Total | 100 |
| Grade | Points |
|---|---|
| 1 (Excellent) | 89 to 100 |
| 2 (Good) | 77 to 88 |
| 3 (Satisfactory) | 65 to 76 |
| 4 (Sufficient) | 51 to 64 |
| 5 (Fail) | 0 to 50 |
The quizzes together must be positive: at least 14 of their 29 points.
Resources
Project topics
Available group projects with rules, research questions, and extensions.
Python Cheatsheet
Quick reference: uv, scripts instead of notebooks, NumPy & Matplotlib for ABM.
Git Cheatsheet
Essential Git commands and common workflows for group work.
GitHub Education
Free access to GitHub Copilot and other tools for students.
Visual Studio Code
Our code editor for the course. Free and cross-platform.
Python
Our programming language for modelling. Version 3.12+ recommended.