diff --git a/intro.ipynb b/intro.ipynb
new file mode 100644
index 0000000000000000000000000000000000000000..34f2b5c6f519b868d8e04454ebf49ec01d4e2997
--- /dev/null
+++ b/intro.ipynb
@@ -0,0 +1,253 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "metadata": {
+    "slideshow": {
+     "slide_type": "slide"
+    }
+   },
+   "source": [
+    "# Höhere Programmiersprachen\n",
+    "- von Menschen lesbare Zahlen und Zeichenketten\n",
+    "- Container = automatische Zuweisung von Speicherplätzen zur Speicherung und Benennung von Daten\n",
+    "- Ausdrücke (Berechnungen basierend auf Operatoren, mit Vorrang, wie in der Mathematik)\n",
+    "- Konstrukte für wiederholte Ausführung\n",
+    "- Funktionen"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {
+    "slideshow": {
+     "slide_type": "slide"
+    }
+   },
+   "source": [
+    "# Einführung in Python"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {
+    "slideshow": {
+     "slide_type": "slide"
+    }
+   },
+   "source": [
+    "# Erstes Beispiel: Eine Formel\n",
+    "Vertikale Bewegung eines in die Luft geworfenen Balls:\n",
+    "\n",
+    "## $y(t)=v_0t - \\frac{1}{2} gt^2$\n",
+    " \n",
+    "v0: Anfangsgeschwindigkeit, g: Erdbeschleunigung, t: Zeit"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {
+    "slideshow": {
+     "slide_type": "slide"
+    }
+   },
+   "source": [
+    "# Operatoren\n",
+    "<table>\n",
+    "    <tr><th>Operator</th><th>steht für</th><th>Präzedenz</th></tr>\n",
+    "    <tr><td>+</td><td>Addition</td><td>0</td></tr>\n",
+    "    <tr><td>-</td><td>Subtraktion</td><td>0</td></tr>\n",
+    "    <tr><td>*</td><td>Multiplikation</td><td>1</td></tr>\n",
+    "    <tr><td>/</td><td>Division</td><td>1</td></tr>\n",
+    "    <tr><td>**</td><td>Potenz</td><td>2</td></tr>\n",
+    "</table>\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {
+    "slideshow": {
+     "slide_type": "slide"
+    }
+   },
+   "source": [
+    "# Erstes Python Programm\n",
+    "\n",
+    "Berechne die Höhe eines Balls nach 0.6s mit v0=5m/s, g=9.81m/s2 mit Hilfe der Formel $y(t)=v_0t - \\frac{1}{2} gt^2$"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 2,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "1.2342\n"
+     ]
+    }
+   ],
+   "source": [
+    "print(5*0.6 - 0.5*9.81*0.6**2)"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {
+    "slideshow": {
+     "slide_type": "slide"
+    }
+   },
+   "source": [
+    "# Variablen\n",
+    "\n",
+    "- Die Variable legt den Namen eines Objekts fest.\n",
+    "- Der Ausdruck auf der rechten Seite wird der Variable zugewiesen.\n",
+    "              "
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 3,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "y = 3 \n",
+    "result = 3 + 4"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {
+    "slideshow": {
+     "slide_type": "slide"
+    }
+   },
+   "source": [
+    "# Programmieren mit Variablen\n",
+    "Die Verwendung von Variablen in unserem Ballproblem führt zu folgendem Code:\n"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 4,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "1.2342\n"
+     ]
+    }
+   ],
+   "source": [
+    "v0 = 5\n",
+    "g = 9.81\n",
+    "t = 0.6\n",
+    "y = v0*t - 0.5*g*t**2\n",
+    "print(y)"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {
+    "slideshow": {
+     "slide_type": "slide"
+    }
+   },
+   "source": [
+    "# Kommentare\n",
+    "- Erklärungen in natürlicher Sprache bereitstellen.\n",
+    "- beginnen mit dem Zeichen #."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 5,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "1.2342\n"
+     ]
+    }
+   ],
+   "source": [
+    "# computes the height of a ball in vertical motion.      \n",
+    "v0 = 5   # initial velocity\n",
+    "g = 9.81 # acceleration of gravity\n",
+    "t = 0.6  # time\n",
+    "y = v0*t - 0.5*g*t**2 # vertical position\n",
+    "print(y)"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {
+    "slideshow": {
+     "slide_type": "slide"
+    }
+   },
+   "source": [
+    "# Module\n",
+    "- manche Funktionen, die wir benutzen wollen, sind in extra Bibliotheken verfügbar, die wir laden müssen"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 6,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "0.3277387786416064\n"
+     ]
+    }
+   ],
+   "source": [
+    "import random\n",
+    "x = random.random()\n",
+    "print(x)"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# Übungen\n",
+    "1. Berechne die Höhe des Balls nach 1 Sekunde mit v0=5 m/s!\n",
+    "2. Berechne die Höhe des Balls nach 1 Sekunde mit v0=10m/s!\n",
+    "3. Berechne die Höhe des Balls nach 1 Sekunde mit einer zufälligen Anfangsgeschwindigkeit!\n",
+    "4. Berechne die Höhe des Balls nach 1 Sekunde mit v0=5 m/s auf dem Mond! Tipp: finde die Gravitationsbeschleuningung auf dem Mond raus und setze sie statt die Erdbeschleunigung ein."
+   ]
+  }
+ ],
+ "metadata": {
+  "celltoolbar": "Slideshow",
+  "kernelspec": {
+   "display_name": "Python 3 (ipykernel)",
+   "language": "python",
+   "name": "python3"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 3
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython3",
+   "version": "3.12.5"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 4
+}