diff --git a/notebooks/FAQ.ipynb b/notebooks/FAQ.ipynb
index 4aaa032294986d4b3dbdba59b64bca49299a7678..53c91c63294b48a14903518915835b0849a74895 100644
--- a/notebooks/FAQ.ipynb
+++ b/notebooks/FAQ.ipynb
@@ -68,6 +68,19 @@
     "- **Pair-Programming** bitte einhalten: **\"nicht gleichzeitig\"** programmieren, sondern **abwechselnd aktiv** sein. Das ist für alle Beteiligten ein Vorteil!"
    ]
   },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Rekursion\n",
+    "\n",
+    "Eine gute Hilfe ist die Webseite: http://www.pythontutor.com.\n",
+    "Dort könnt ihr euren Python Code hochladen und Schritt für Schritt durchführen. \n",
+    "Probiert es aus *(Achtung: Sie müssen die Funktion auch dort aufrufen)*. \n",
+    "\n",
+    "Das funktioniert nicht nur für Rekursion, sonder mit jedem Code, den ihr in Python geschrieben habt."
+   ]
+  },
   {
    "cell_type": "markdown",
    "metadata": {},
diff --git a/notebooks/seminar05.ipynb b/notebooks/seminar05.ipynb
index 1a4eb1931a48f085ff02f39fa57103448e228340..0f438783332518bdc959b8b53b27a896e6284a7b 100644
--- a/notebooks/seminar05.ipynb
+++ b/notebooks/seminar05.ipynb
@@ -545,7 +545,8 @@
     "        print(\"Abheben!\")\n",
     "    else:\n",
     "        print(n)\n",
-    "        countdown(n-1)"
+    "        countdown(n-1)\n",
+    "        "
    ]
   },
   {
@@ -594,6 +595,10 @@
     "\n",
     "**Es ist wichtig, dass Sie dieses Beispiel verstanden haben. Falls das nicht der Fall sein sollte, lassen Sie es sich von Ihrem Partner, Kommilitonen oder Übungsleiter erklären.**\n",
     "\n",
+    "Eine gute Hilfe ist außerdem diese Webseite: http://www.pythontutor.com.\n",
+    "Dort können Sie ihren Python Code hochladen und Schritt für Schritt durchführen. \n",
+    "Probieren Sie es mit der Funktion countdown() aus *(Achtung: Sie müssen die Funktion auch dort aufrufen)*.\n",
+    "\n",
     "Als weiteres Beispiel schreiben wir eine Funktion, die eine Zeichenkette `n` mal ausgibt:"
    ]
   },
@@ -650,11 +655,15 @@
    "outputs": [],
    "source": [
     "# implementieren Sie hier die Funktion do_n\n",
-    "\n",
+    "def do_n(f, n):\n",
+    "    if n<=0:\n",
+    "        return\n",
+    "    f\n",
+    "    do_n(f,n-1)\n",
     "# eine Testfunktion\n",
     "def testfunktion():\n",
     "    print(\"Ich wurde aufgerufen!\")\n",
-    "\n",
+    "do_n(testfunktion(),5)\n",
     "# rufen Sie hier die Funktion do_n auf, indem Sie die Funktion testfunktion sowie den Wert 7 als Argument übergeben "
    ]
   },
@@ -897,7 +906,13 @@
    "outputs": [],
    "source": [
     "import time\n",
-    "time.time()"
+    "seconds=time.time()\n",
+    "minutes=seconds/60\n",
+    "hours=minutes/60\n",
+    "days=hours/24\n",
+    "weeks=days/7\n",
+    "years=days/365\n",
+    "print(seconds, minutes, hours, days, weeks, years, sep='\\t')\n"
    ]
   },
   {
@@ -916,7 +931,16 @@
     "import time\n",
     "\n",
     "def print_time():\n",
-    "    # Implementieren Sie hier die Funktion\n",
+    "    seconds=time.time()\n",
+    "    days=seconds/(60*60*24)\n",
+    "    whole_days=seconds//(60*60*24)\n",
+    "    hours=(days-whole_days)*24\n",
+    "    whole_hours=int((days-whole_days)*24)\n",
+    "    minutes= (hours-whole_hours)*60\n",
+    "    whole_minutes=int((hours-whole_hours)*60)\n",
+    "    seconds_left=(minutes-whole_minutes)*60\n",
+    "    whole_seconds=int((minutes-whole_minutes)*60)\n",
+    "    print('days passed since January 1st 1970: ',int(whole_days),'\\nthe time (GMT) is :' ,whole_hours, ' hh : ',whole_minutes,' mm : ',whole_seconds, ' ss')\n",
     "    \n",
     "# Testaufruf\n",
     "print_time()"
@@ -955,7 +979,31 @@
    "metadata": {},
    "outputs": [],
    "source": [
-    "# Implementieren und testen Sie hier die beiden Funktionen"
+    "def check_fermat(a,b,c,n):\n",
+    "    if n>2:\n",
+    "        a_n=a\n",
+    "        b_n=b\n",
+    "        c_n=c\n",
+    "        for i in range(1,n):\n",
+    "            a_n=a_n*a\n",
+    "            b_n=b_n*b\n",
+    "            c_n=c_n*c\n",
+    "        if a_n+b_n==c_n:\n",
+    "            print('Unglaublich, Fermat lag falsch!')\n",
+    "        else:\n",
+    "            print('Nein, das funktioniert nicht.')\n",
+    "    else: \n",
+    "        print('n muss größer als 2 sein, um Fermats Satz zu überprüfen')\n",
+    "\n",
+    "\n",
+    "def  check_fermat2(a,b,c,n):\n",
+    "    a=int(a)\n",
+    "    b=int(b)\n",
+    "    c=int(c)\n",
+    "    n=int(n)\n",
+    "    check_fermat(a,b,c,n)\n",
+    "\n",
+    "check_fermat2(3,4,5,3)    "
    ]
   },
   {
@@ -978,7 +1026,20 @@
    "metadata": {},
    "outputs": [],
    "source": [
-    "# Implementieren und testen Sie hier die beiden Funktionen"
+    "def is_triangle(a,b,c):\n",
+    "    total=a+b+c\n",
+    "    k=0\n",
+    "    for i in (a,b,c):    \n",
+    "        if(total-2*i)<0:\n",
+    "            print('Nein nein nein!')\n",
+    "            k=1\n",
+    "            break\n",
+    "    if k==0:\n",
+    "        print('oh yes')\n",
+    "\n",
+    "\n",
+    "is_triangle(2,1,4)\n",
+    "    "
    ]
   },
   {