From b020c8336458fd64f7b05c03d2e41b8ded5f954f Mon Sep 17 00:00:00 2001 From: Miriam Brauer <miriam.brauer@student.hu-berlin.de> Date: Wed, 30 Sep 2020 15:11:12 +0200 Subject: [PATCH] Replace seminar00.ipynb --- notebooks/seminar00.ipynb | 95 ++++++++++++++++++++++++++++++++------- 1 file changed, 80 insertions(+), 15 deletions(-) diff --git a/notebooks/seminar00.ipynb b/notebooks/seminar00.ipynb index 42cf474..253f386 100644 --- a/notebooks/seminar00.ipynb +++ b/notebooks/seminar00.ipynb @@ -3,26 +3,34 @@ { "cell_type": "markdown", "metadata": {}, + "source": [ + "# Seminar Problemorientierte Programmierung\n", + "\n", + "Falls Sie im Python Programmierkurs sind und dies ihr erstes geöffnetes Jupyter Notebook ist: \n", + "\n", + "**Herzlichen Glückwunsch! Sie haben die erste Hürde gemeistert. :)**\n", + "\n", + "Diese Notebooks sind im Wesentlichen eine Übersetzung der 2. Ausgabe des Buches \"Think Python\" von Allen B. Downey. Sie finden den originalen Text [hier](http://greenteapress.com/wp/think-python-2e/).\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "toc": true + }, "source": [ "<h1>Table of Contents<span class=\"tocSkip\"></span></h1>\n", - "<div class=\"toc\"><ul class=\"toc-item\"><li><span><a href=\"#Lernziele-und-Ablauf-diese-Seminars\" data-toc-modified-id=\"Lernziele-und-Ablauf-diese-Seminars-1\"><span class=\"toc-item-num\">1 </span>Lernziele und Ablauf diese Seminars</a></span></li><li><span><a href=\"#Tipps\" data-toc-modified-id=\"Tipps-2\"><span class=\"toc-item-num\">2 </span>Tipps</a></span></li><li><span><a href=\"#Wiederkehrende-Abschnitte:\" data-toc-modified-id=\"Wiederkehrende-Abschnitte:-3\"><span class=\"toc-item-num\">3 </span>Wiederkehrende Abschnitte:</a></span></li><li><span><a href=\"#Hinweise-zur-Benutzung-von-Jupyter\" data-toc-modified-id=\"Hinweise-zur-Benutzung-von-Jupyter-4\"><span class=\"toc-item-num\">4 </span>Hinweise zur Benutzung von Jupyter</a></span><ul class=\"toc-item\"><li><span><a href=\"#Jupyter-Notebook-Grundlagen-und-Informationen\" data-toc-modified-id=\"Jupyter-Notebook-Grundlagen-und-Informationen-4.1\"><span class=\"toc-item-num\">4.1 </span>Jupyter Notebook Grundlagen und Informationen</a></span></li><li><span><a href=\"#Shortcuts\" data-toc-modified-id=\"Shortcuts-4.2\"><span class=\"toc-item-num\">4.2 </span>Shortcuts</a></span></li><li><span><a href=\"#Beispiel:-Markdown-Zelle-vs.-Code-Zelle\" data-toc-modified-id=\"Beispiel:-Markdown-Zelle-vs.-Code-Zelle-4.3\"><span class=\"toc-item-num\">4.3 </span>Beispiel: Markdown Zelle vs. Code Zelle</a></span></li></ul></li><li><span><a href=\"#Exkurs:-Was-mir-an-Python-gefällt:\" data-toc-modified-id=\"Exkurs:-Was-mir-an-Python-gefällt:-5\"><span class=\"toc-item-num\">5 </span>Exkurs: Was mir an Python gefällt:</a></span></li></ul></div>" + "<div class=\"toc\"><ul class=\"toc-item\"><li><span><a href=\"#Lernziele-und-Ablauf-diese-Seminars\" data-toc-modified-id=\"Lernziele-und-Ablauf-diese-Seminars-1\"><span class=\"toc-item-num\">1 </span>Lernziele und Ablauf diese Seminars</a></span></li><li><span><a href=\"#Tipps\" data-toc-modified-id=\"Tipps-2\"><span class=\"toc-item-num\">2 </span>Tipps</a></span></li><li><span><a href=\"#Wiederkehrende-Abschnitte\" data-toc-modified-id=\"Wiederkehrende-Abschnitte-3\"><span class=\"toc-item-num\">3 </span>Wiederkehrende Abschnitte</a></span></li><li><span><a href=\"#Hinweise-zur-Benutzung-von-Jupyter\" data-toc-modified-id=\"Hinweise-zur-Benutzung-von-Jupyter-4\"><span class=\"toc-item-num\">4 </span>Hinweise zur Benutzung von Jupyter</a></span><ul class=\"toc-item\"><li><span><a href=\"#Jupyter-Notebook-Grundlagen-und-Informationen\" data-toc-modified-id=\"Jupyter-Notebook-Grundlagen-und-Informationen-4.1\"><span class=\"toc-item-num\">4.1 </span>Jupyter Notebook Grundlagen und Informationen</a></span></li><li><span><a href=\"#Standardbrowser\" data-toc-modified-id=\"Standardbrowser-4.2\"><span class=\"toc-item-num\">4.2 </span>Standardbrowser</a></span><ul class=\"toc-item\"><li><span><a href=\"#Anleitungen\" data-toc-modified-id=\"Anleitungen-4.2.1\"><span class=\"toc-item-num\">4.2.1 </span>Anleitungen</a></span></li></ul></li><li><span><a href=\"#Shortcuts\" data-toc-modified-id=\"Shortcuts-4.3\"><span class=\"toc-item-num\">4.3 </span>Shortcuts</a></span><ul class=\"toc-item\"><li><span><a href=\"#Beispiel:-Markdown-Zelle-vs.-Code-Zelle\" data-toc-modified-id=\"Beispiel:-Markdown-Zelle-vs.-Code-Zelle-4.3.1\"><span class=\"toc-item-num\">4.3.1 </span>Beispiel: Markdown Zelle vs. Code Zelle</a></span></li></ul></li></ul></li><li><span><a href=\"#Exkurs:-Was-mir-an-Python-gefällt:\" data-toc-modified-id=\"Exkurs:-Was-mir-an-Python-gefällt:-5\"><span class=\"toc-item-num\">5 </span>Exkurs: Was mir an Python gefällt:</a></span></li></ul></div>" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "# Seminar Problemorientierte Programmierung\n", - "\n", - "Falls Sie im Python Programmierkurs sind und dies ihr erstes geöffnetes Jupyter Notebook ist: \n", - "\n", - "**Herzlichen Glückwunsch! Sie haben die erste Hürde gemeistert. :)**\n", - "\n", - "Diese Notebooks sind im Wesentlichen eine Übersetzung der 2. Ausgabe des Buches \"Think Python\" von Allen B. Downey. Sie finden den originalen Text hier: http://greenteapress.com/wp/think-python-2e/.\n", "\n", "## Lernziele und Ablauf diese Seminars\n", "\n", - "Unser Lernziel ist, dass Sie Programmieren lernen (mit Python :-). Bis dahin ist es ein weiter Weg. Der beste Tipp ist: üben, üben, üben.\n", + "Unser Lernziel ist, dass Sie Programmieren lernen (mit Python :-)). Bis dahin ist es ein weiter Weg. Der beste Tipp ist: üben, üben, üben.\n", "\n", "Das Seminar wird wie folgt ablaufen:\n", "\n", @@ -41,12 +49,12 @@ " - Denken Sie daran, alle Code-Blöcke auszuführen. \"Unbekannter\" Code führt in Jupyter häufig zu leicht vermeidbaren Fehlern.\n", " - Falls Sie mal nicht weiterkommen: helfen Sie sich gegenseitig und versuchen Sie verschiedene Dinge. Schreiben Sie Ihr Problem z.B. einfach mal ganz genau hier im Notebook auf. Oft hilft das Aufschreiben eines Problems schon bei der Lösung eines Problems.\n", "\n", - "## Wiederkehrende Abschnitte:\n", + "## Wiederkehrende Abschnitte\n", "\n", " - **Exkurse** sind Material, welches Sie sich nur anschauen brauchen, falls es Sie interessiert. Bitte schauen Sie sich die Exkurse eher zu Hause an, als während des Seminars, damit Sie vorwärts kommen. Die Inhalte der Exkurse sind nicht notwendig, um vorwärts zu kommen, aber hilfreich, um mehr zu lernen.\n", " - **Debugging-Abschnitte** erklären, wie Sie Fehler finden und beheben können.\n", " - **Glossar-Abschnitte** listen die Begriffe auf, die im Kapitel vermittelt wurden. Es ist eine gute Übung für zu Hause, jeden Begriff dort noch einmal in eigenen Worten zu definieren.\n", - " - Schließlich gibt es **Übungen**, diese sollten Sie unbedingt durchführen und erst fortfahren, wenn Sie die Aufgaben lösen konnten und verstanden haben.\n" + " - Schließlich gibt es **Übungen**, diese sollten Sie unbedingt durchführen und erst fortfahren, wenn Sie die Aufgaben lösen konnten und verstanden haben." ] }, { @@ -59,7 +67,6 @@ "### Jupyter Notebook Grundlagen und Informationen\n", "\n", "- open-source, browserbasiertes Tool für verschiedene Programmiersprachen (wir benutzen Python)\n", - "- Nutzt Chrome oder Firefox als Standard-Browser an eurem Laptop/PC. **KEIN INTERNET EXPLORER!**\n", "- **Vorteil**: Code, Visualisierungen und Text / Erklärungen in einem Dokument\n", "- Notebook besteht aus Blöcken bzw. Zellen\n", "- Unter der Zelle wird der Rückgabewert des letzten Statements ausgegeben\n", @@ -69,6 +76,36 @@ "- durch die Tastenkombination \"Strg\" und \"Enter\" oder durch Drücken von dem \"Run\" Button oben im Menü kommen Sie wieder in den Lesemodus \n", "- Wenn Sie mal etwas \"kaputtgespielt\" haben, hilft es evtl., im \"Kernel\"-Menü den \"Restart\"-Eintrag auszuwählen.\n", "\n", + "### Standardbrowser\n", + "\n", + "Bitte verwenden Sie **nicht** Safari oder Internet Explorer. Auch mit Windows Edge gab es in der Vergangenheit Probleme. Wir empfehlen die Verwendung von Firefox, aber auch Google Chrome lief in der Vergangenheit problemlos. Wenn Sie unsicher sind, was ihr aktueller Standardbrowser ist, folgen Sie einfach der folgenden Anleitung zum Ändern des Standardbrowsers und gehen Sie sicher, dass der richtige Standardbrowser ausgewählt ist.\n", + "\n", + "#### Anleitungen\n", + "\n", + "**Änderung des Standardbrowsers in...** \n", + "\n", + "*macOS:* \n", + "1. Öffnen sie die Systemeinstellungen.\n", + "2. Klicken Sie auf „Allgemein“.\n", + "3. Wählen Sie unter „Standard-Webbrowser“ den gewünschten Browser aus.\n", + "\n", + "*Ubuntu Linux:* \n", + "1. Öffnen Sie die System Settings.\n", + "2. Klicken Sie auf „Applications“.\n", + "3. Wählen Sie in der linken Spalte „Default Applications“ aus.\n", + "4. Klicken Sie in der Spalte rechts davon auf „Web Browser“.\n", + "5. Wählen Sie „in the following browser:“ aus.\n", + "6. Wählen Sie den gewünschten Browser aus.\n", + "\n", + "*Windows:* \n", + "1. Öffnen Sie die Systemsteuerung.\n", + "2. Klicken Sie auf „Standardprogramme“.\n", + "3. Klicken Sie auf „Standardprogramme festlegen“.\n", + "4. Klicken Sie in der Liste auf den gewünschten Browser.\n", + "5. Klicken Sie dann auf „Dieses Programm als Standard festlegen“.\n", + "\n", + "\n", + "\n", "### Shortcuts\n", "\n", "**Bitte probieren Sie alle unten stehenden Befehle und verstehen Sie, was gemacht wird. Das ist die Basis, die Sie für das Arbeiten mit Jupyter Notebooks brauchen.**\n", @@ -99,7 +136,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "### Beispiel: Markdown Zelle vs. Code Zelle" + "#### Beispiel: Markdown Zelle vs. Code Zelle" ] }, { @@ -140,7 +177,9 @@ "\n", "In dieser Rubrik, die normalerweise am Anfang eines Kapitels steht, möchte ich Ihnen zeigen, wofür ich Python nutze und warum ich es mag. Sie werden vielleicht noch nicht verstehen, was ich genau mache, aber Sie sehen damit schon einmal die Möglichkeiten von Python und können später darauf zurückgreifen. Da dies ein Exkurs ist, können Sie diese Rubrik gerne auch erst einmal überspringen.\n", "\n", - "**Verändern Sie den Code nie! Einfach Ausführen durch: *Strg+Enter* oder im Menü unter *> Run*.**\n", + "**Hier müssen Sie den Code NIE verändern. Einfach Ausführen durch: *Strg+Enter* oder im Menü unter *> Run*.** \n", + "*Sollten Sie den Code doch einmal versehentlich verändert haben, sodass der Exkurs nicht mehr korrekt funktioniert, können Sie das Jupyter-Notebook erneut in Gitlab herunterladen*\n", + "\n", "\n", "Ich finde toll, dass ich mit Python ganz einfach Zufallsexperimente durchtesten kann. Das hilft mir, Stochastik besser zu verstehen. Z.B. das Würfeln mit zwei Würfeln:" ] @@ -178,9 +217,35 @@ } ], "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", "name": "python", - "pygments_lexer": "ipython3" + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.7.6" + }, + "toc": { + "base_numbering": 1, + "nav_menu": {}, + "number_sections": true, + "sideBar": true, + "skip_h1_title": true, + "title_cell": "Table of Contents", + "title_sidebar": "Contents", + "toc_cell": true, + "toc_position": {}, + "toc_section_display": true, + "toc_window_display": true } }, "nbformat": 4, -- GitLab