Skip to content

Commit

Permalink
Initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
derphilipp committed Feb 26, 2016
0 parents commit c195ab8
Show file tree
Hide file tree
Showing 30 changed files with 4,096 additions and 0 deletions.
54 changes: 54 additions & 0 deletions 00_Intro.ipynb
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
{
"metadata": {
"name": "",
"signature": "sha256:24e0369eb172ec383a05f81f372c26d06646472f04fe01f2ea97c8f6b5fdd4b6"
},
"nbformat": 3,
"nbformat_minor": 0,
"worksheets": [
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Kontaktdaten:\n",
"------------------\n",
"* Philipp Wei\u00dfmann\n",
"* [email protected]\n",
"* +49 162 42 52 802\n",
"\n",
"\n",
"\n",
"\n",
"![Python is fun](http://imgs.xkcd.com/comics/python.png \"Python is fun\") \n",
"\n",
"Intro\n",
"====================\n",
"\n",
"### Dieses Dokument\n",
"* Dieses Dokument kann und soll editiert werden\n",
"* Die Unterlagen sind absichtlich mit L\u00fccken versehen, die Du f\u00fcllen kannst\n",
"* F\u00fcr Notizen und \"herumspielen\" mit Code ist in diesem Kurs genug Zeit - bitte melde Dich, wenn Du bei einer \u00dcbung mehr Zeit m\u00f6chtest\n",
"* Mein Ziel f\u00fcr diesen Kurs, ist es Dir einen Start zu geben\n",
"\n",
"### Meine Bitte\n",
"* Stelle Fragen\n",
"* Hinterfage Dinge\n",
"* Probiere Dinge aus\n",
"* Habe Spa\u00df"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [],
"language": "python",
"metadata": {},
"outputs": []
}
],
"metadata": {}
}
]
}
73 changes: 73 additions & 0 deletions 01_Einführung.ipynb
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
{
"metadata": {
"name": "",
"signature": "sha256:99472e9bbca81fbcedec2a10da1a454905118c2a5475815d78baaa69ebbd9d6b"
},
"nbformat": 3,
"nbformat_minor": 0,
"worksheets": [
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Einf\u00fchrung\n",
"====================\n",
"\n",
"Die Sprache\n",
"--------------------\n",
"\n",
"### Autor \n",
"* Guido van Rossum ![von Rossum](https://www.python.org/~guido/images/IMG_2192.jpg \"van Rossum\")\n",
"* [Centrum Wiskunde & Informatica](https://www.cwi.nl/) (Amerterdam)\n",
"* Heute: [Dropbox](http://de.wikipedia.org/wiki/Dropbox) (zuvor Google)\n",
"\n",
"### Herkunft\n",
"* Als Nachfolger f\u00fcr die Programmier-Lehrsprache *ABC*\n",
"* Namensgebung: [Monty Python](http://de.wikipedia.org/wiki/Monty_Python)\n",
"\n",
"### Ziele\n",
"* Einfach, intuitiv, m\u00e4chtig\n",
"* Open Source\n",
"* Quelltext, der *so einfach zu lesen ist wie Englisch*\n",
"* F\u00fcr t\u00e4gliche Aufgaben geeignet\n",
"* Kurze Entwicklungszeit\n",
"\n",
"Bedeutung\n",
"--------------------\n",
"\n",
"### Popularit\u00e4t\n",
"* [Python is now the most popular introductory teaching kanguage at top U.S. universities](http://cacm.acm.org/blogs/blog-cacm/176450-python-is-now-the-most-popular-introductory-teaching-language-at-top-us-universities/fulltext)\n",
"* [Top Sprachen: Python, Java, Matlab, C](http://www.pgbovine.net), Stand: Juli 2014\n",
"* [Github](https://github.com/): Platz 5 (2013, 2012); Platz 1: Javascript\n",
"\n",
"### Einfl\u00fcsse\n",
"* Beeinflusst von:\n",
" * ABC, Algol 60, Modula-3, Icon, C, Perl, LISP, Smalltalk, Tcl, Haskell\n",
"* Beeinflusste:\n",
" * Ruby, Boo, Groovy, Cython, Swift \n",
" \n",
"### Einsatz\n",
"* Systemwerkzeuge (z.B. Ubuntu, RedHat, u.v.m.)\n",
" * [Ubuntu Software Center](http://en.wikipedia.org/wiki/Ubuntu_Software_Center)\n",
"* Web-Frameworks und Cloud-Dienste (z.B. Django, Flask, u.v.m.)\n",
" * [OpenStack](http://www.openstack.org/)\n",
" * [Youtube](http://www.youtube.com/watch?v=G-lGCC4KKok)\n",
" * [Dropbox](https://www.dropbox.com/developers/core/docs/python)\n",
" * [Yahoo Maps](https://de.maps.yahoo.com/)\n",
"* Oberfl\u00e4chen Programme (z.B. Qt, GTK, wxWindows, u.v.m.)\n",
" * [Miro](http://en.wikipedia.org/wiki/Miro_(software))\n",
"* Skripting Sprache in Programmen\n",
" * [Blender 3D](http://www.blender.org/)\n",
" * LibreOffice\n",
"* Bioinformatik\n",
"* Raspberry Pi\n",
"* u.v.m."
]
}
],
"metadata": {}
}
]
}
101 changes: 101 additions & 0 deletions 02_Grundlagen.ipynb
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
{
"metadata": {
"name": "",
"signature": "sha256:e21001f1b4f5734fcbccc5b568801f4916f95a09622e919e9a67bf9568890ada"
},
"nbformat": 3,
"nbformat_minor": 0,
"worksheets": [
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Grundlagen\n",
"----------------\n",
"\n",
"### Interpreter\n",
"* Vereinfacht:\n",
" * F\u00fchrt Programmcode Zeile f\u00fcr Zeile aus\n",
" * Einfache Checks beim Start eines Programms\n",
"* Vorteile:\n",
" * Kein langes Kompilieren\n",
" * Komplexe Teile werden vielleicht eh nie erreicht\n",
" * Schneller arbeiten / \u00e4ndern m\u00f6glich\n",
"* Nachteile\n",
" * Kein \"Compiler-Check\"\n",
" \n",
"### Implementierungen\n",
"* CPython\n",
" * In C geschrieben - Grundlage dieses Kurses\n",
"* [Jython](http://www.jython.org/)\n",
" * L\u00e4uft in der [JVM](http://de.wikipedia.org/wiki/Java_Virtual_Machine)\n",
"* [IronPython](http://ironpython.net/)\n",
" * L\u00e4uft im .Net Framework\n",
"* [PyPy](http://pypy.org/)\n",
" * Implementiert in Python (genau: RPython)\n",
" \n",
"### Sprachversionen\n",
"* Aktuell gepflegte Versionen\n",
" * Python 2.7.8 (der 2er Pfad wird noch Jahrlang gepflegt)\n",
" * Python 3.4.1 (Grundlage dieses Kurses)\n",
"* Unterschiede\n",
" * Relativ klein\n",
" * [Unicode](http://de.wikipedia.org/wiki/Unicode) Handling\n",
" * Kleinere Optimierungen\n",
" * Migration bei kleinen Projekten oftmals automatisiert m\u00f6glich\n",
"* [Virtuelle Maschinen](http://de.wikipedia.org/wiki/Virtuelle_Maschine)\n",
" * Python l\u00e4uft in einer VM\n",
" * Speicherverwaltung: VM\n",
" * Fehlerbehandlung: VM\n",
" * Geschwindigkeit: Deutlich h\u00f6her als Java / C#, minimal langsamer als C\n",
" \n",
"### Kurs-Spezifisch\n",
"* In diesem Kurs verwendete Version: [Anaconda Python](http://continuum.io/downloads)\n",
" * Python Programm\n",
" * Sehr viele popul\u00e4re Module mitinstalliert\n",
" * Module, die in diesem Kurs verwendet werden (und nicht mit 'blankem' Python kommen) \n",
" * pyqt\n",
" * Requests\n",
" * Beautifulsoup\n",
" * Flask (+ weitere Flask Module)\n",
"* Editoren (zum Ausprobieren und \"rumpspielen\")\n",
" * [Notepad++](http://notepad-plus-plus.org/)\n",
" * [Visual Studio](http://www.visualstudio.com/news/vs2013-community-vs)\n",
" * Kostenfreies Visual Studio 2013 Community Edition __sollte__ ebenfalls funktionieren, ist zum Zeitpunkt des Kurses noch nicht ver\u00f6ffentlich\n",
" * Mit [PyTools Addon](https://pytools.codeplex.com/)\n",
" * [PyCharm](https://www.jetbrains.com/pycharm/) (von den Machern von Resharper)\n",
" * Tipp: Kostenfreie [Educational Version mit \u00dcbungen](https://www.jetbrains.com/pycharm-educational/) \n",
" * [Eclipse](https://www.eclipse.org/home/index.php)\n",
" * Mit [PyDev Plugin](http://pydev.org/)\n",
" * [IPython](http://ipython.org/) - Dieses Dokument ist ein IPython Notebook\n",
"\n",
"### \u00d6ffnen dieses Dokuments \"Zu Hause\"\n",
"* Windows:\n",
" * Anaconda Python (s.o.) installieren\n",
" * IPython Notebook starten (Verkn\u00fcpfung in Startmen\u00fc)\n",
" * Diese Dokumente \u00f6ffnen\n",
"* Linux:\n",
" * IPython via Paketmanager installieren, z.B.: \n",
" `sudo apt-get install ipython3`\n",
"* MacOS:\n",
" * IPython installieren via MacPorts:\n",
" `sudo port install ipython`\n",
" \n",
" "
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [],
"language": "python",
"metadata": {},
"outputs": []
}
],
"metadata": {}
}
]
}
67 changes: 67 additions & 0 deletions 03_Philosophie.ipynb
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
{
"metadata": {
"name": "",
"signature": "sha256:5e8c65673e176723173895f8725fa840cff5535e77958b32e957268e79ac60ee"
},
"nbformat": 3,
"nbformat_minor": 0,
"worksheets": [
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Philosophie\n",
"-----------------\n",
"\n",
"### Ziele des Kurses\n",
"\n",
"* Grundlagen von Python\n",
"* Reinschnuppern\n",
"* Erstes Gef\u00fchl bekommen\n",
"\n",
"\n",
"### Zum Weiterlernen\n",
"\n",
"* [Dive into Python 3](http://www.diveintopython3.net)\n",
"* [The Python Tutorial](https://docs.python.org/3.4/tutorial/) \n",
"* [Learn Python the Hard Way](http://learnpythonthehardway.org/) (Python 2)\n",
"* [PyCharm Educational Edition](https://www.jetbrains.com/pycharm-educational/) \n",
"\n",
"### The Zen of Python\n",
"\tThe Zen of Python, by Tim Peters\n",
"\t\n",
"\tBeautiful is better than ugly.\n",
"\tExplicit is better than implicit.\n",
"\tSimple is better than complex.\n",
"\tComplex is better than complicated.\n",
"\tFlat is better than nested.\n",
"\tSparse is better than dense.\n",
"\tReadability counts.\n",
"\tSpecial cases aren't special enough to break the rules.\n",
"\tAlthough practicality beats purity.\n",
"\tErrors should never pass silently.\n",
"\tUnless explicitly silenced.\n",
"\tIn the face of ambiguity, refuse the temptation to guess.\n",
"\tThere should be one-- and preferably only one --obvious way to do it.\n",
"\tAlthough that way may not be obvious at first unless you're Dutch.\n",
"\tNow is better than never.\n",
"\tAlthough never is often better than *right* now.\n",
"\tIf the implementation is hard to explain, it's a bad idea.\n",
"\tIf the implementation is easy to explain, it may be a good idea.\n"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [],
"language": "python",
"metadata": {},
"outputs": []
}
],
"metadata": {}
}
]
}
Loading

0 comments on commit c195ab8

Please sign in to comment.