* Seminar Problemorientierte Programmierung Hier finden Sie die Jupyter-Notebooks für das Seminar. Die Notebooks sind im Wesentlichen eine Übersetzung der 2. Ausgabe des Buches [[http://greenteapress.com/wp/think-python-2e/][Think Python]] von Allen B. Downey. Sie finden die Notebooks im Ordner [[file:notebooks/][notebooks]]. Sie können sich die Notebooks hier ansehen aber nicht ausführen. Dazu müssen Sie sie herunterladen und in Jupyter öffnen. Klicken Sie dazu auf der Seite mit dem jeweiligen Notebook auf den Button "Open Raw" und speichern Sie die geöffnete Datei: [[file:img/open_raw.png]] Alternativ können Sie auch direkt hier die Dateien herunterladen, indem Sie mit der rechten Maustaste auf die Links klicken und /Ziel speichern unter.../ wählen: - [[https://scm.cms.hu-berlin.de/ibi/python/raw/master/notebooks/seminar00.ipynb][Einführung]] - [[https://scm.cms.hu-berlin.de/ibi/python/raw/master/notebooks/seminar01.ipynb][1: Die ersten Programme]] - [[https://scm.cms.hu-berlin.de/ibi/python/raw/master/notebooks/seminar02.ipynb][2: Variablen, Ausdrücke und Anweisungen]] - [[https://scm.cms.hu-berlin.de/ibi/python/raw/master/notebooks/seminar03.ipynb][3: Funktionen]] Merken Sie sich, wo Sie die Dateien gespeichert haben und navigieren Sie dann mit Jupyter zu diesem Ordner, um sie zu öffnen. [[file:img/cc-by-nc.png]] Dieses Seminar ist als freies Werk unter der Lizenz [[http://creativecommons.org/licenses/by-nc/3.0/][Creative Commons Attribution-NonCommercial 3.0 Unported]] verfügbar. Sie dürfen die Inhalte kopieren, verteilen und verändern, solange Sie die Urheber nennen und sie nicht für kommerzielle Zwecke nutzen. ** Tipps zur Einrichtung von Python und Jupyter *** Allgemeine Hinweise - Wir werden durchgängig Python 3 nutzen. Daher bitte darauf achten, keine alte Python-Version (2.6, 2.7, etc.) zu installieren. Am besten mindestens Python 3.5.3 benutzen, aktuellere Versionen sind auch ok. - Helfen Sie sich gegenseitig bei der Installation und unterstützen Sie sich bei Problemen. Benutzen Sie auch gerne das Forum bei einem spezifischen Problem, um Hilfe von Ihren Kommilitonen zu erhalten. Wenn niemand helfen kann, helfen wir Ihnen! *** Windows - [[https://www.anaconda.com/distribution/]] - [[http://technivore.org/posts/2016/02/27/windows-jupyter-three-ways.html]] *** Linux - Je nach Distribution das passende Paket installieren, z.B. in Debian mittels ~apt-get install python3-notebook~. - Anaconda enthält sowohl Jupyter Notebooks, als auch Python 3.5 oder 3.6 Kernel und einige wichtige Python-Bibliotheken wie z.B. Numpy. - Die Python-Version 3.6 ist hier zu finden: [[https://www.anaconda.com/download/#linux]] - Die Python-Version 3.5 hier: [[https://docs.anaconda.com/anaconda/faq#how-do-i-get-anaconda-with-python-3-5]] - Hier Hilfestellung zur Instalation von Conda: [[https://docs.anaconda.com/anaconda/install/linux]] *** Mac - Ananconda für Mac, wählen Sie Python 3.6 aus: [[https://www.anaconda.com/download/#macos]] - Mac OS X Installations-Hilfe: [[https://docs.anaconda.com/anaconda/install/mac-os#macos-graphical-install]] ** Hinweise zu GitLab Das System, auf dem Sie diese Seite gerade lesen und in dem Sie die Notebooks finden, nennt sich *GitLab* und ist eine professionelle Umgebung zur kollaborativen Softwareentwicklung. Hier können Programmierer Quellcode abspeichern, Änderungen verfolgen und rückgängig machen, Fehler melden und Code dokumentieren. Wenn Sie *Fehler* in den Jupyter-Notebooks finden oder *Hinweise zur Verbesserung* haben, können Sie diese im Menü links unter [[https://scm.cms.hu-berlin.de/ibi/python/issues][Issues]] hinzufügen. Fortgeschrittene können sich dieses Projekt auch auf ihrem eigenen Rechner *mittels [[https://de.wikipedia.org/wiki/Git][Git]] klonen* und dann immer die aktuellste Version der Notebooks herunterladen. Sie können die Möglichkeiten des Systems später auch für Ihre *Haus- oder Abschlussarbeiten* nutzen, indem Sie ein eigenes Projekt anlegen und dort Ihre Dateien sicher abspeichern. Dazu sollten Sie sich mit der Versionsverwaltungssoftware [[https://de.wikipedia.org/wiki/Git][Git]] vertraut machen.