diff --git a/.idea/.gitignore b/.idea/.gitignore
new file mode 100644
index 0000000..b58b603
--- /dev/null
+++ b/.idea/.gitignore
@@ -0,0 +1,5 @@
+# Default ignored files
+/shelf/
+/workspace.xml
+# Editor-based HTTP Client requests
+/httpRequests/
diff --git a/.idea/inspectionProfiles/profiles_settings.xml b/.idea/inspectionProfiles/profiles_settings.xml
new file mode 100644
index 0000000..105ce2d
--- /dev/null
+++ b/.idea/inspectionProfiles/profiles_settings.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
new file mode 100644
index 0000000..5b15c22
--- /dev/null
+++ b/.idea/misc.xml
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modellierung-und-simulation-ue1.iml b/.idea/modellierung-und-simulation-ue1.iml
new file mode 100644
index 0000000..3d39ba1
--- /dev/null
+++ b/.idea/modellierung-und-simulation-ue1.iml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules.xml b/.idea/modules.xml
new file mode 100644
index 0000000..ff3c3c3
--- /dev/null
+++ b/.idea/modules.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 0000000..35eb1dd
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/CLAUDE.md b/CLAUDE.md
new file mode 100644
index 0000000..bbb85de
--- /dev/null
+++ b/CLAUDE.md
@@ -0,0 +1,13 @@
+# Modellierung und Simulation UE1
+This project is an exercise for the university course in modelling and simulation.
+
+## Requirements
+The requirements by the professor are saved to docs/requirements.md
+My interpretation of them is available at docs/docs.md
+An UML diagram is available at docs/uml.svg
+
+## Web
+The web implementation is pure JavaScript
+
+## Python
+The python implementation is a single-file script, which can be run on the command line or a Jupyter notebook
diff --git a/README.md b/README.md
index aa8b8ad..713fb66 100644
--- a/README.md
+++ b/README.md
@@ -1,2 +1,10 @@
-# modellierung-und-simulation-ue1
+# Modellierung und Simulation Übung 1
+Dieses Reposiotry enthält zwei Projekte:
+1) Im Ordner "python" die Python-Implementierung
+2) Im Ordner "web" die JavaScript-Implementierung verfügbar und https://sim.teier.net/ue1
+
+## Python
+
+
+## Web
diff --git a/docs/docs.md b/docs/docs.md
new file mode 100644
index 0000000..bc2c3f1
--- /dev/null
+++ b/docs/docs.md
@@ -0,0 +1,31 @@
+# Zellulärer Automat
+
+Eigenschaften einer Zelle:
+Brandfaktor (quasi die “Trockenheit”)
+Restbrenndauer
+
+Zustände:
+Wald: Brandfaktor zwischen 0,1 und 1 (“Trockenheit”), Restbrenndauer konstant
+Brennend: Brandfaktor irrelevant, Restbrenndauer sinkend
+Abgebrannt, Brandfaktor 0, Restbrenndauer 0
+Gelöscht, Brandfaktor 0, Restbrenndauer 0
+Brandschneise (künstlich oder natürlich wie Wasser), Brandfaktor 0, Restbrenndauer 0
+
+Die Simulation behandelt die Zustände Brandschneise, Abgebrannt und Gelöscht gleich, aber für die Visualisierung sind diese Zustände interessant
+
+Nachbarschaft: 8 Zellen
+
+Faktoren für Verbreitung:
+Nachbarschaft: direkt mit Gewichtung 1, diagonal mit Gewichtung 0.7 (Moore)
+Windrichtung: Vektor (x, y)
+Windstärke: 0-1 (0=kein Wind, 1=Wind so stark, dass er Wahrscheinlichkeit in Windrichtung verdoppelt)
+
+Windfaktor für Verbreitung:
+1 + Windstärke * cos(Winkel(Vektorwind, Vektorzellen))
+
+Entzündungswahrscheinlichkeit eine Zelle:
+Distanz * Brandfaktor * Windfaktor
+
+
+Code: https://git.teier.net/teier/modellierung-und-simulation-ue1.git
+Link: https://sim.teier.net/ue1
\ No newline at end of file
diff --git a/docs/requirements.md b/docs/requirements.md
new file mode 100644
index 0000000..833635e
--- /dev/null
+++ b/docs/requirements.md
@@ -0,0 +1,33 @@
+Ausgangspunkt ist die Idee des zellulären Automaten, wie wir sie am Beispiel des Game of Life kennengelernt haben. Ein Raum wird in Zellen aufgeteilt. Jede Zelle besitzt einen Zustand und verändert diesen in diskreten Zeitschritten aufgrund festgelegter Regeln und der Zustände ihrer Nachbarzellen.
+
+Entwickelt auf dieser Grundlage ein eigenes Modell für die Ausbreitung eines Waldbrandes.
+
+Legt zunächst euer Modell fest und beschreibt:
+
+Welche Zustände kann eine Zelle haben? Zum Beispiel Wald, brennend, abgebrannt, Wasser oder Brandschneise.
+Welche Nachbarschaft wird verwendet? Vier oder acht angrenzende Zellen?
+Unter welchen Bedingungen entzündet sich eine Zelle?
+Was passiert mit einer brennenden Zelle im nächsten Zeitschritt?
+Welche zusätzlichen Eigenschaften oder Parameter können berücksichtigt werden? zB Trockenheit, Feuchtigkeit, Wind oder Menge Löschwasser?
+Wie wird der Rand des Modells behandelt?
+Formuliert die Regeln so genau, dass eine andere Person eure Simulation allein anhand dieser Beschreibung implementieren könnte.
+
+Setzt das Modell anschließend in Python um. Ihr dürft dafür KI verwenden.
+
+Führt danach mindestens zwei unterschiedliche Simulationen durch, indem ihr gezielt einen Parameter oder eine Maßnahme verändert, zum Beispiel Trockenheit, Wind, Brandschneisen oder Löschwasser.
+
+Vergleicht die Ergebnisse und beantwortet abschließend kurz:
+
+Was lässt sich mit eurem Modell untersuchen? Welche Annahmen und Vereinfachungen habt ihr getroffen? Welche Aspekte eines echten Waldbrandes bildet euer Modell nicht ab? Was musstet ihr bei der Umsetzung mit KI eventuell korrigieren oder präzisieren?
+
+Abgabe
+
+Gebt das in einem PDF Dokument oder Colab Notebook mit dieser Struktur ab:
+
+Modellbeschreibung
+Python-Code oder einen Link zur lauffähigen Simulation
+die Ergebnisse eurer beiden Versuche und
+kurze Reflexion
+Modus: Einzelarbeit oder Gruppenarbeit (max 2)
+
+Frist: 9.11. (nächste Einheit)
diff --git a/docs/uml.svg b/docs/uml.svg
new file mode 100644
index 0000000..4854ceb
--- /dev/null
+++ b/docs/uml.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/python/pyproject.toml b/python/pyproject.toml
new file mode 100644
index 0000000..2f1367d
--- /dev/null
+++ b/python/pyproject.toml
@@ -0,0 +1,5 @@
+[project]
+name = "modellierung-und-simulation-ue1"
+version = "0.1.0"
+requires-python = ">=3.9"
+dependencies = []
diff --git a/python/ue1.py b/python/ue1.py
new file mode 100644
index 0000000..8b13789
--- /dev/null
+++ b/python/ue1.py
@@ -0,0 +1 @@
+