Skip to content
Snippets Groups Projects
README.org 5.65 KiB
Newer Older
* Seminar Problemorientierte Programmierung
Prof. Dr. Robert Jäschke's avatar
Prof. Dr. Robert Jäschke committed

Dieses Projekt enthält Jupyter-Notebooks für einen
Python-Programmierkurs. 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. Es gibt das Buch auch in einer offiziellen deutschen
Übersetzung mit dem Titel /Programmieren lernen mit Python/.
Prof. Dr. Robert Jäschke's avatar
Prof. Dr. Robert Jäschke committed

Sie finden die Notebooks im Ordner [[file:notebooks/][notebooks]]. Sie können sich die
Notebooks hier in GitLab ansehen aber nicht ausführen. Dazu müssen Sie
sie herunterladen und in Jupyter öffnen. Klicken Sie dazu auf der
Webseite mit dem jeweiligen Notebook auf den Button "Download" und
speichern Sie es als Datei:
[[file:img/download.png]]
Alternativ können Sie die Notebooks auch direkt hier 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]]
Prof. Dr. Robert Jäschke's avatar
Prof. Dr. Robert Jäschke committed
- [[https://scm.cms.hu-berlin.de/ibi/python/raw/master/notebooks/seminar03extra.ipynb][3 extra: reguläre Ausdrücke]]
Prof. Dr. Robert Jäschke's avatar
+4  
Prof. Dr. Robert Jäschke committed
- [[https://scm.cms.hu-berlin.de/ibi/python/raw/master/notebooks/seminar04.ipynb][4: Fallstudie: Schnittstellenentwurf]]
Prof. Dr. Robert Jäschke's avatar
Prof. Dr. Robert Jäschke committed
- [[https://scm.cms.hu-berlin.de/ibi/python/raw/master/notebooks/seminar05.ipynb][5: Verzweigungen und Rekursion]]
- [[https://scm.cms.hu-berlin.de/ibi/python/raw/master/notebooks/seminar06.ipynb][6: Ertragreiche Funktionen]]
- [[https://scm.cms.hu-berlin.de/ibi/python/raw/master/notebooks/seminar07.ipynb][7: Iteration]]
Prof. Dr. Robert Jäschke's avatar
Prof. Dr. Robert Jäschke committed
- [[https://scm.cms.hu-berlin.de/ibi/python/raw/master/notebooks/seminar08.ipynb][8: Zeichenketten]]
Prof. Dr. Robert Jäschke's avatar
Prof. Dr. Robert Jäschke committed
- [[https://scm.cms.hu-berlin.de/ibi/python/raw/master/notebooks/seminar09.ipynb][9: Fallstudie: Wortspiele]]
Prof. Dr. Robert Jäschke's avatar
Prof. Dr. Robert Jäschke committed
- [[https://scm.cms.hu-berlin.de/ibi/python/raw/master/notebooks/seminar10.ipynb][10: Listen]]
- [[https://scm.cms.hu-berlin.de/ibi/python/raw/master/notebooks/seminar11.ipynb][11: Assoziative Datenfelder]]

Merken Sie sich, wo Sie die Dateien gespeichert haben und navigieren
Sie dann mit Jupyter zu diesem Ordner, um sie zu öffnen.
Prof. Dr. Robert Jäschke's avatar
Prof. Dr. Robert Jäschke committed

[[file:img/cc-by-nc.png]] Dieser Kurs 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
- Im Kurs wird durchgängig Python 3 benutzt. 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 Kommiliton*innen zu
  erhalten. Wenn niemand helfen kann, helfen wir Ihnen.
Prof. Dr. Robert Jäschke's avatar
Prof. Dr. Robert Jäschke committed
- [[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.
Prof. Dr. Robert Jäschke's avatar
Prof. Dr. Robert Jäschke committed
  - 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]]
  - [[https://docs.anaconda.com/anaconda/install/linux][Hilfestellungen zur Installation von Conda]]
Prof. Dr. Robert Jäschke's avatar
Prof. Dr. Robert Jäschke committed
- 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*innen 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 [[https://scm.cms.hu-berlin.de/projects/new][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.
Prof. Dr. Robert Jäschke's avatar
Prof. Dr. Robert Jäschke committed

** Ressourcen rund um Python

- Ein [[http://introtopython.org/][freier Python-Kurs]] (auf Englisch), ebenfalls basierend auf
  Jupyter-Notebooks.
- Die [[https://docs.python.org/3/][offizielle Dokumentation für Python 3]].
- Eine [[https://scm.cms.hu-berlin.de/ibi/notebooks][Sammlung interessanter Notebooks]] mit vielen Beispielen.

Prof. Dr. Robert Jäschke's avatar
Prof. Dr. Robert Jäschke committed

# https://github.com/jupyter/jupyter/wiki/A-gallery-of-interesting-Jupyter-Notebooks