diff --git "a/notebooks/programmierspa\303\237_spiele.ipynb" "b/notebooks/programmierspa\303\237_spiele.ipynb"
new file mode 100644
index 0000000000000000000000000000000000000000..cbe2c4afdb4159d28348447459c903a63b305810
--- /dev/null
+++ "b/notebooks/programmierspa\303\237_spiele.ipynb"
@@ -0,0 +1,178 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# Einführungsaufgaben\n",
+    "\n",
+    "## neue Bibliothek\n",
+    "### nb_black \n",
+    "- Installation (Terminal / Anaconda prompt): <code>$ [sudo] pip install nb_black </code>\n",
+    "- https://github.com/dnanhkhoa/nb_black\n",
+    "- uncompromising Python code formatter\n",
+    "- makes code review faster\n",
+    "- Apply by putting this code <code>%load_ext nb_black </code> into the first cell in your Notebook, run it and that's all :)\n",
+    "- based on black\n",
+    "    - https://pypi.org/project/black/\n",
+    "    - for \"normal\" python scripts\n"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "%load_ext nb_black"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Würfeln\n",
+    "\n",
+    "\n",
+    "1. Erstelle eine Funktion <code>dice</code>, die einen Würfel x-mal würfelt. (x soll die Eingabe der Funktion sein).  \n",
+    "2. Gebe eine Statistik aus, wie oft welcher Wert gewürfelt wurde.\n",
+    "    - Tipp: Nutze die Bibliothek random, um zufällige Werte zu generieren.\n",
+    "    - Tipp: Nutze Schleifen (while, for)\n",
+    "3. Verkürze deinen Code durch List Comprehension "
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "def dice(x):\n",
+    "    \"\""
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "# Codetest\n",
+    "dice(1000000)"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Schere, Stein, Papier\n",
+    "\n",
+    "1. Erstelle ein Schere-Stein-Papier-Spiel, der eine Eingabe (durch <code> input() </code>) von dir entgegennimmt und den Computer eine zufällige Antwort generieren lässt. Anschließend soll die Funktion ausgeben, wer gewonnen hat.\n",
+    "    - Nutze Schleifen (for, while)\n",
+    "    - Bedingungen (if-statements)\n",
+    "    - Nutze die Bibliothek random\n",
+    "    - Akzeptiere Groß-und Kleinschreibung"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "def ssp():\n",
+    "    \"\""
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "ssp()"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Plotten\n",
+    "\n",
+    "1. Plotte eine sinus und eine cosinus Kurve. \n",
+    "    - Nutze die Bibliothek numpy, um die sinus und cosinus Funktion zu benutzen\n",
+    "    - Nutze die Bibliothek matplotlib, um die Kurven zu zeichnen\n",
+    "2. Gebe dem Plot eine Überschrift, Achsenbeschriftungen, Einschränkungen der x-Achse (-360° bis 360°) und eine Legende."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": []
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Hangman\n",
+    "\n",
+    "\n",
+    "\n",
+    "1. Erstelle ein Hangman-Spiel in mehreren Schritten (https://de.wikipedia.org/wiki/Galgenm%C3%A4nnchen). Die nächsten Schritte sind Tipps, wie ihr vorgehen könnt. Das ist nur eine von vielen Möglichkeiten. Probiert es selbst aus, ihr könnt gerne auch einen anderen Weg gehen.\n",
+    "2. Erstelle eine Funktion, die zwei Strings entgegennimmt und alle Indizes wiedergibt, an denen der erste String im zweiten String erscheint. \n",
+    "    - Nutze die Bibliothek <code>re</code> und ggf. die Funktion  <code>finditer</code> (Man kann die Ausgabe von <code>finditer</code> durchlaufen und durch <code>start()</code> auf den Index zugreifen. Siehe auch die Dokumentation und Beispiele im Internet) \n",
+    "  \n",
+    "3. Anschließend erweitere die Funktion, sodass die Funktion nur noch das Wort entgegennimmt und du per Eingabe (<code>input()</code>) nacheinander mehrere Buchstaben eingeben kannst (z.B. per Schleife, siehe -> <code>while true:</code>). Auch hier sollen wieder alle Indizes ausgegeben werden, an denen die einzelnen Buchstaben im Wort erscheinen.\n",
+    "4. Erstelle zunächst eine Bedingung, die checkt, ob der Buchstabe im Wort vorkommt. Falls ja, gebe den Buchstaben aus. Wenn nein, gebe bitte eine Nachricht aus, dass die Eingabe falsch war.\n",
+    "5. Was brauchen wir noch? In jedem Schritt die Ausgabe von dem unvollständigen Wort mit den schon gefundenen Buchstaben. \n",
+    "    - eine Liste mit sovielen Elementen, wie es Buchstaben im Wort gibt. Jedes Element ist ein Minus oder Unterstrich\n",
+    "    - Erweitere die Bedingung aus 4), indem du in der Liste das Element mit dem zur Zeit eingegebenen Buchstaben ersetzt\n",
+    "6. Jetzt brauchen wir noch Abbruchbedingungen in der Schleife durch <code>return</code>. Wo müssen diese hin? \n",
+    "7. Wir können jetzt durch einen Counter die Anzahl der Versuche limitieren. (zusätzliche Bedingung?)\n",
+    "8. Ein Willkommenstext wäre außerdem schön.\n",
+    "9. Anstatt eines Wortes soll die Funktion nun eine Liste von Wörtern entgegennehmen und zufällig eins aussuchen, um das gespielt wird. Dann weißt du auch nicht mehr, welches dran ist.\n",
+    "10. Anzahl der Fehlversuche variabel setzen (z.B. bei jedem neuen Spiel einsetzbar, verschiedene Schwierigkeitsstufen, abhängig von der Länge des Wortes, etc.)\n",
+    "11. Ein Hangman-Bild bei jedem Fehlversuch anzeigen und jedes Mal erweitern.\n",
+    "\n"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "# hier ist ein Bild, was ihr theoretisch zur Visualisierung nehmen könnt.\n",
+    "# Ihr könnt euch aber auch ein eigenes ausdenken. Vielleicht gibt es coolere.\n",
+    "hangman = \"\"\" \n",
+    "\n",
+    "      ______\n",
+    "      |     |\n",
+    "      o     |\n",
+    "     \\|/    |\n",
+    "      |     |\n",
+    "     / \\    | \n",
+    "           / \\ \n",
+    "\"\"\"\n",
+    "print(hangman)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": []
+  }
+ ],
+ "metadata": {
+  "language_info": {
+   "name": "python",
+   "pygments_lexer": "ipython3"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 2
+}