Workshops/Python: Unterschied zwischen den Versionen
Pk (Diskussion | Beiträge) (→Teilnehmer: +1 +kat.) |
Gnulux (Diskussion | Beiträge) K (Ange entfernt) |
||
(19 dazwischenliegende Versionen von 10 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
<span style="font-size:12px;">[[Workshops|<< Workshops]]</span> | <span style="font-size:12px;">[[Workshops|<< Workshops]]</span> | ||
+ | |||
== Python == | == Python == | ||
− | + | <div style="float:right">[http://python.org http://metalab.at/wiki/images/1/1c/Python-logo.gif]</div> | |
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. | 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. | ||
Zeile 8: | Zeile 9: | ||
* Einführung / Crash Course in die Grundlagen von Python; prinzipiell anhand von eigenen, kleinen Programmen | * 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 | * 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 == | == Organisation == | ||
− | * Dauer: 2 mal, je 3 | + | * 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 | * 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 | * Moderation | ||
** [[User:Crazy-chris|Chris Hager]] (chris at linuxuser dot at) | ** [[User:Crazy-chris|Chris Hager]] (chris at linuxuser dot at) | ||
− | ** | + | ** Mag sonst noch wer mitmoderieren? |
=== Termin === | === Termin === | ||
− | * | + | * Februar wäre möglich. Konkrete Vorschläge? |
+ | |||
+ | == TeilnehmerInnen == | ||
+ | # [[User:Pk|PK]] | ||
+ | # [[User:ra|ra]] | ||
+ | # [[User:nausicaa|nausicaa]] | ||
+ | # [[User:Jaume|jaume]] | ||
+ | # [[User:MariusKintel|Marius]] | ||
+ | # [[User:Brot|Bernd]] | ||
+ | # [[User:Thp|thp]] | ||
+ | # [[User:kyrah|kyrah]] | ||
+ | # [[User:Zacharias|Zacharias]] | ||
+ | |||
+ | == 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, und zum Beispiel PyGTK von Anfang an einzubeziehen. Das wäre in ein eher Grundlagen-orienterter Vorschlag: | ||
+ | <table> | ||
+ | <tr> | ||
+ | <th>Tag 1</th><th></th><th>Tag 2</th> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td style="padding:4px; border:1px solid black">0.5. Git & Tools Setup, Resources, Importing libraries</td><td style="width:40px;"> </td><td rowspan="5" style="padding:4px; border:1px solid black">Freie Modulwahl aus der Liste / neue Ideen</td> | ||
+ | </tr> | ||
+ | <tr><td style="padding:4px; border:1px solid black">1. Strings, Arrays, Loops, Functions</td></tr> | ||
+ | <tr><td style="padding:4px; border:1px solid black">2. Time & Date, len, dir, system calls</td></tr> | ||
+ | <tr><td style="padding:4px; border:1px solid black">3. Classes, File & URL IO</td></tr> | ||
+ | <tr><td style="padding:4px; border:1px solid black">4. PyGTK</td></tr> | ||
+ | <tr> | ||
+ | <td style="padding:4px; border:1px solid black">5. Zusammenfassung<br> | ||
+ | Toolkits & Frameworks, OOP vs SP, größeres kleines Projekt, ...</td><td></td> <td style="padding:4px; border:1px solid black">5. Zusammenfassung<br> </td> | ||
+ | </tr> | ||
+ | </table> | ||
− | == | + | == Optionale Themen == |
− | * Bitte [http://metalab.at/wiki/index.php?title=Workshops/Python&action=edit§ion= | + | * Bitte [http://metalab.at/wiki/index.php?title=Workshops/Python&action=edit§ion=7 Vorschläge hinzufügen]! |
* Einführung je nach Wunsch und Bedarf | * Einführung je nach Wunsch und Bedarf | ||
− | * CVS for lazy people (or web developer): Git setup in 1 minute | + | * [http://git.or.cz/course/svn.html CVS for lazy people] (or web developer): Git setup in 1 minute |
* Toolkits & Frameworks, or 'How not to reinvent the wheel (constantly)' | * Toolkits & Frameworks, or 'How not to reinvent the wheel (constantly)' | ||
* Object Oriented Programming vs Structural Programming | * Object Oriented Programming vs Structural Programming | ||
− | * Graphical User Interfaces: Thank you Python! (PyGTK, PyGame) | + | * Graphical User Interfaces: Thank you Python! ([http://www.pygtk.org/ PyGTK], [http://www.pygame.org PyGame], [http://wiki.python.org/moin/PyQt PyQt]) |
− | * Datenbanken: SQLite, MySQL, ADODB (and how to prevent injections) | + | * [http://pyopengl.sourceforge.net/ PyOpenGL] (Chris kennt sich da aber leider nicht aus...) |
+ | * Datenbanken: [http://www.sqlite.org/ SQLite], [http://sourceforge.net/projects/mysql-python MySQL], [http://adodb.sourceforge.net/ ADODB] (and how to prevent injections) | ||
* OLPC XO Laptop, und wie man eigene Programme darauf läuft | * OLPC XO Laptop, und wie man eigene Programme darauf läuft | ||
− | * XML, RSS, ... | + | * [http://wiki.python.org/moin/PythonXml XML], RSS, ... |
− | + | * [http://wiki.python.org/moin/IntegratingPythonWithOtherLanguages Wrapping native libraries] ([http://www.swig.org/ SWIG], [http://wiki.python.org/moin/SIP SIP] etc.) | |
− | |||
− | * [[ | ||
− | |||
− | |||
− | |||
[[Kategorie:Veranstaltungen]] | [[Kategorie:Veranstaltungen]] | ||
[[Kategorie:Workshops]] | [[Kategorie:Workshops]] |
Aktuelle Version vom 10. Januar 2011, 07:50 Uhr
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, und zum Beispiel PyGTK von Anfang an einzubeziehen. 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.)