Workshops/Python
Python
Python ist ein Tool; ein Hilfsmittel, um Ideen schnell, verständlich, und sehr effizient in running code umzusetzen; genau deswegen macht Programmieren mit dieser Sprache außergewöhnlich viel Spaß. Python ist sehr gut dokumentiert; benötigte sowie verfügbare Funktionen und Module sind einfach zu finden, einfach zu verwenden, und äußerst vielfältig.
Open-Source Workshop
- Einführung / Crash Course in die Grundlagen von Python; prinzipiell anhand von eigenen, kleinen Programmen
- Ziel ist ein Verständnis dessen, was Python (wo) außergewöhnlich macht, und wie man diese Vorteile in eigenen Projekten anwenden kann
- Learning by doing
Organisation
- Dauer: 2 mal, je ca. 3 Stunden
- 1. Teil: Grundlagen
- 2. Teil: Weiterführendes (Advanced user können auch hier einsteigen)
- Sprache ist Deutsch und/oder Englisch
- Alle, die schon einmal ein hello-world in irgendeiner Sprache geschrieben haben, sind herzlich eingeladen!
- Max. 10 TeilnehmerInnen
- Moderation
- Chris Hager (chris at linuxuser dot at)
- Mag sonst noch wer mitmoderieren?
Termin
- Februar wäre möglich. Konkrete Vorschläge?
TeilnehmerInnen
Aufbau
Jeder Tag hat 4 Module (~30 min) und eine Zusammenfassung (60 min). Ein Modul hat eine kurze Einführung, einen Machen-Teil, und eine Diskussion. Die Zusammenfassung kann je nach Bedarf gestaltet werden; zum Beispiel um alles in einem größeren Projekt anzuwenden, Themen zu erörtern, ...
Die Wahl der Module hängt von den Vorkenntnissen ab, das können wir besprechen sobald sich 10 Leute gefunden haben. Es wäre möglich den Tag1 auch komplett umzugestalten. Das wäre in ein eher Grundlagen-orienterter Vorschlag:
Tag 1 | Tag 2 | |
---|---|---|
0.5. Git & Tools Setup, Resources, Importing libraries | Freie Modulwahl aus der Liste / neue Ideen | |
1. Strings, Arrays, Loops, Functions | ||
2. Time & Date, len, dir, system calls | ||
3. Classes, File & URL IO | ||
4. PyGTK | ||
5. Zusammenfassung Toolkits & Frameworks, OOP vs SP, größeres kleines Projekt, ... | 5. Zusammenfassung |
Optionale Themen
- Bitte Vorschläge hinzufügen!
- Einführung je nach Wunsch und Bedarf
- CVS for lazy people (or web developer): Git setup in 1 minute
- Toolkits & Frameworks, or 'How not to reinvent the wheel (constantly)'
- Object Oriented Programming vs Structural Programming
- Graphical User Interfaces: Thank you Python! (PyGTK, PyGame, PyQt)
- PyOpenGL (Chris kennt sich da aber leider nicht aus...)
- Datenbanken: SQLite, MySQL, ADODB (and how to prevent injections)
- OLPC XO Laptop, und wie man eigene Programme darauf läuft
- XML, RSS, ...
- Wrapping native libraries (SWIG, SIP etc.)