diff --git a/materials/Makefile b/materials/Makefile
index 8efe7af136cf021175ef5fcb7ddab935d65b5707..ba025134c37010db95f2f8bfa9a66b3fb131cd31 100644
--- a/materials/Makefile
+++ b/materials/Makefile
@@ -3,7 +3,7 @@ default: build
 
 build: out/slides.pdf out/sheet_local.pdf out/sheet_team.pdf out/sheet_advanced.pdf out/sheet_internals.pdf
 
-out/slides.pdf: slides.typ slides/local.typ slides/team.typ
+out/slides.pdf: slides.typ slides/local.typ slides/team.typ slides/collaboration.typ slides/advanced.typ global.typ
 	mkdir -p out
 	typst compile slides.typ out/slides.pdf
 
diff --git a/materials/images/BR.png b/materials/images/BR.png
new file mode 100644
index 0000000000000000000000000000000000000000..435bb0f7b81a36047c69b0e3472eeb89be157aca
Binary files /dev/null and b/materials/images/BR.png differ
diff --git a/materials/slides.typ b/materials/slides.typ
index da9296691e0f4f3c184cfc2ce85f8dd75aa3830d..d528f7369ce7a7f222017382505d03362de4cbcd 100644
--- a/materials/slides.typ
+++ b/materials/slides.typ
@@ -52,3 +52,5 @@
 
 #include "slides/local.typ"
 #include "slides/team.typ"
+#include "slides/collaboration.typ"
+#include "slides/advanced.typ"
\ No newline at end of file
diff --git a/materials/slides/advanced.typ b/materials/slides/advanced.typ
new file mode 100644
index 0000000000000000000000000000000000000000..186e1da8f9d54e0c554f646cafdbb19aa843c8d0
--- /dev/null
+++ b/materials/slides/advanced.typ
@@ -0,0 +1,3 @@
+#import "@preview/touying:0.5.3": *
+
+= Advanced
\ No newline at end of file
diff --git a/materials/slides/collaboration.typ b/materials/slides/collaboration.typ
new file mode 100644
index 0000000000000000000000000000000000000000..1ca0a6235f393b63b3d7ef36409e7a9d0f06814e
--- /dev/null
+++ b/materials/slides/collaboration.typ
@@ -0,0 +1,69 @@
+#import "@preview/touying:0.5.3": *
+
+= Collaboration
+
+== Wie sieht ein guter Commit aus?
+=== Vollständig
+Vor und nach dem Commit sollte alles außer dem beabsichtigten geänderten Verhalten gleich sein.
+
+=== Atomic
+Wenn es sinnvoll sein kann den Commit teilweise zu reverten, ist er zu groß.
+
+== The Not Rocket Science Rule Of Software Engineering
+"maintain a branch that always passes all the tests"
+
+Implemented in:
+- #link("https://docs.gitlab.com/ee/ci/pipelines/merge_trains.html")[GitLab: Merge Trains]
+- #link("https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/managing-a-merge-queue")[GitHub: Merge Queues]
+
+== Wie sieht eine gute Commit Message aus? So nicht.
+#align(center, link("https://github.com/MontiCore/monticore/commits/dev/?after=f7fb15d399f3283af3e9c8a795bf3366768870d6+90", image("/images/BR.png", height: auto)))
+
+== Wie sieht eine gute Commit Message aus? Beispiel
+#link(
+"https://github.com/bevyengine/bevy/commit/0ac495f7f42ec91e2d215e5afa56d9c4a9c1741f",
+```txt
+Remove accesskit re-export from bevy_a11y (#16257)
+
+# Objective
+- Fixes #16235 
+
+## Solution
+- Both Bevy and AccessKit export a `Node` struct, to reduce confusion
+Bevy will no longer re-export `AccessKit` from `bevy_a11y`
+
+## Migration Guide
+- Users will need to add `accesskit = "0.17"` to the dependencies
+section of their `Cargo.toml` file and update their `accesskit` use
+statements to come directly from the external crate instead of
+`bevy_a11y`.
+- Make sure to keep the versions of `accesskit` aligned with the
+versions Bevy uses.
+```
+)
+
+== Wie sieht eine gute Commit Message aus?
+#v(1fr)
+
+=== Was ich aus der Message lernen soll
+- Welche Verhaltensänderung wurde beabsichtig?
+- Warum gibt es diese Änderung?
+- "If applied, this commit will ..." oder "After this commit, the program will ..."
+
+#v(1fr)
+#pause
+
+=== Was nicht rein muss
+- Welche Klasse oder Funktion wurde geändert? (`git diff`)
+- Wie soll der neue Code funktionieren? (Kommentare)
+
+#v(1fr)
+#pause
+
+=== Stil
+- Imperativ
+- Großgeschrieben anfangen
+- Ohne Punkt am Ende
+- Titel $approx 50$ Zeichen, maximal $72$
+
+#v(1fr)
\ No newline at end of file