Python: Unterschied zwischen den Versionen
Martin (Diskussion | Beiträge) |
Martin (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
| Zeile 1: | Zeile 1: | ||
=Willkommen bei der Python-AG im Schuljahr 2026/7= | |||
Mein Name ist Martin Reiche und ich bin euer AG-Leiter und Betreuer. Ihr könnt mich zu allen Fragen rund um die AG per E-Mail erreichen unter tuepsky@gmx.de. Die Begriffe "AG" (Arbeitsgemeinschaft) und "Kurs" haben hier dieselbe Bedeutung. Manche sagen so, sie anderen so :-) | |||
Die AG steht für alle Schülerinnen und Schüler in Tübingen offen. Veranstaltungsort wird vermutlich wieder das Wildermuth-Gymnasium sein. | |||
Wer grundsätzlich Interesse an der AG im Schuljahr 26/27 hat, schreibe bitte eine E-Mail an tuepsky@gmx.de! Die verpflichtet euch zu nichts. Aber dann habe ich euch in jedem Falle auf dem Radar und kann euch rechtzeitig mit Informationen versorgen. Ich plane für den Anfang des Schuljahres wieder Info-Veranstaltungen, die ich dann hier rechtzeitig ankündigen werde! | |||
<!-- | |||
Damit wir im Vorfeld und während der AGs leicht Informationen austauschen können, habe ich eine [https://signal.org/de/ Signal]-Gruppe mit dem folgenden [https://signal.group/#CjQKIHfO94XJLmkDVJZcheWJJkf2yYbZ9C0MoeBk0N8SFwh_EhAHiKx01-bjCj3mhug32jDL Link] eingerichtet: | |||
[[=image QR-teclab-MINT.png]] | |||
Wenn ihr Signal auf eurem Smartphone installiert habt, könnt ihr dort der Gruppe "teclab-MINT" beitreten. | |||
++ Termine | |||
Auch für das Schuljahr 2025/26 sind ein Einführungskurs und ein Projektkurs geplant. Zwei gleichartige Info-Veranstaltungen zu Beginn des Schuljahres sollen euch helfen zu entscheiden, ob und wo ihr teilnehmen wollt. Sie finden statt am: | |||
* Mittwoch, den 24.9.25 | |||
* Freitag, den 26.9.25 | |||
jeweils um 13 Uhr im Raum 312 des Wildermuth-Gymnasiums | |||
--> | |||
Auf [https://martin-reiche.de/python-ag-sj-23-24/ dieser], [https://martin-reiche.de/python-ag-sj-24-25/ dieser] und [https://martin-reiche.de/python-ag-sj-25-26/ dieser] Seite könnt ihr sehen, was in den vergangenen Jahren so lief. | |||
Demnächst wird an Euren Schulen auch Python gelehrt. Das ist eine erfreuliche Entwicklung. Doch niemand sollte auf die Idee kommen, hier eine Konkurrenz erkennen zu wollen! Dafür ist die Welt der Programmierung einfach viel zu groß, wie schon an [[Projekte | dieser]] und [[Übungen | dieser]] Projektliste zu erkennen. Außerdem profitiert man immer auch von einer Wiederholung, falls sie denn auftritt. Und schließlich gilt: Auf zwei Rädern fährt es sich leichter als auf einem! | |||
=Meine Python-Kurse= | =Meine Python-Kurse= | ||
Wichtige Informationen für jetzige und zukünftige Teilnehmer*innen finden sich hier: | |||
* [[Projekte]] - Diese Projekte sind für den Einsatz in den Kursstunden gedacht. | |||
* [[Übungen]] - Hier finden sich Projekte, die von den Kursteilnehmern wenig Spezialwissen erfordern und damit auch ohne Unterstützung zu bearbeiten sein sollten. | |||
* [[Ressourcen]] - Nützliche Links und Zusatzwissen. | |||
Siehe auch meine [https://martin-reiche.de Homepage]! | |||
Anmerkung: In den vergangenen Jahren habe ich sowohl an der VHS Tübingen als auch an Tübinger Gymnasien Python-Kurse gegeben. Zur Information der Kursteilnehmer dienten mir damals Seiten bei wikidot.com und zwar separat für die [http://tuepy.wikidot.com VHS] und [http://tuepy.wikidot.com/teclab Schulen]. Sie werden aber nicht mehr aktualisiert! | |||
==Python Themen außer Reichweite (beyond scope)== | ==Python Themen außer Reichweite (beyond scope)== | ||
Version vom 7. September 2026, 14:50 Uhr
Willkommen bei der Python-AG im Schuljahr 2026/7
Mein Name ist Martin Reiche und ich bin euer AG-Leiter und Betreuer. Ihr könnt mich zu allen Fragen rund um die AG per E-Mail erreichen unter tuepsky@gmx.de. Die Begriffe "AG" (Arbeitsgemeinschaft) und "Kurs" haben hier dieselbe Bedeutung. Manche sagen so, sie anderen so :-)
Die AG steht für alle Schülerinnen und Schüler in Tübingen offen. Veranstaltungsort wird vermutlich wieder das Wildermuth-Gymnasium sein.
Wer grundsätzlich Interesse an der AG im Schuljahr 26/27 hat, schreibe bitte eine E-Mail an tuepsky@gmx.de! Die verpflichtet euch zu nichts. Aber dann habe ich euch in jedem Falle auf dem Radar und kann euch rechtzeitig mit Informationen versorgen. Ich plane für den Anfang des Schuljahres wieder Info-Veranstaltungen, die ich dann hier rechtzeitig ankündigen werde!
Auf dieser, dieser und dieser Seite könnt ihr sehen, was in den vergangenen Jahren so lief. Demnächst wird an Euren Schulen auch Python gelehrt. Das ist eine erfreuliche Entwicklung. Doch niemand sollte auf die Idee kommen, hier eine Konkurrenz erkennen zu wollen! Dafür ist die Welt der Programmierung einfach viel zu groß, wie schon an dieser und dieser Projektliste zu erkennen. Außerdem profitiert man immer auch von einer Wiederholung, falls sie denn auftritt. Und schließlich gilt: Auf zwei Rädern fährt es sich leichter als auf einem!
Meine Python-Kurse
Wichtige Informationen für jetzige und zukünftige Teilnehmer*innen finden sich hier:
- Projekte - Diese Projekte sind für den Einsatz in den Kursstunden gedacht.
- Übungen - Hier finden sich Projekte, die von den Kursteilnehmern wenig Spezialwissen erfordern und damit auch ohne Unterstützung zu bearbeiten sein sollten.
- Ressourcen - Nützliche Links und Zusatzwissen.
Siehe auch meine Homepage!
Anmerkung: In den vergangenen Jahren habe ich sowohl an der VHS Tübingen als auch an Tübinger Gymnasien Python-Kurse gegeben. Zur Information der Kursteilnehmer dienten mir damals Seiten bei wikidot.com und zwar separat für die VHS und Schulen. Sie werden aber nicht mehr aktualisiert!
Python Themen außer Reichweite (beyond scope)
Im Anfänger-Kurs kommen viele Themen mit Python-Bezug aus Zeitgründen mit Absicht nicht vor, sind aber für die professionelle Software-Entwicklung meist unverzichtbar. In den Projekt-Kursen kann es allerdings Ausnahmen geben.
Python-Grundlagen betreffend
Python enthält viele Sprachelemente und Standard-Module, die wir nicht alle behandeln können. Trotzdem muss man sie als ernsthafter Python Entwickler kennen. Für die Sprache selbst bedeutet dies:
| Thema | Wir beschränken uns auf |
|---|---|
| Einfache Datentypen | bool, int, float, str |
| Zusammengesetzte Datentypen | tuple, list, set, dict (inkl. comprehensions) |
| Verzweigungen | if / elif / else, match / case, try / except * |
| Schleifen | for, while * |
| Built-In Funktionen | bool, int, float, str, list, set, len, abs, max, min, enumerate, input, open, print, range, sum, zip |
| Built-In Module | turtle, random, math, time, tkinter, os |
| Sprachkonstrukte zur Kapselung | Funktionen (def) und Klassen (class) |
*) Da gibt's auch nicht mehr!
In den bisherigen Durchläufen des Anfänger-Kurses konnten wir uns eine Diskussion des Laufzeit-Objekt-Modells ersparen. (Variablen-Namen verweisen auf Objekte, die durch Typ, Wert und ID gekennzeichnet sind. Bei Funktionsaufrufen werden Referenzen auf diese Objekte übergeben etc.)
Ebenso verwenden wir nur Pygame und die Matplotlib als separat zu installierende Module.
Wer mehr über Python lernen will, schaue sich tiefer gehende Bücher (z.B. von Mark Lutz oder dieses) bzw. YouTube Videos an oder auch die Python-Original-Dokumentation! Achtung: Letztere kann für Anfänger leicht überwältigend wirken!
Andere Themen mit Python-Bezug
Zum Umfeld der Python-Programm-Entwicklung gehören folgende Themen, die wir nicht adressieren können:
| Thema | Kommentar |
|---|---|
| Professionelle Entwicklungsumgebungen | z.B. PyCharm, Visual Studio Code. Für unsere Zwecke stellt Thonny den besten Kompromiss zwischen leichter Erlernbarkeit und Benutzbarkeit einerseits und Leistungsfähigkeit andererseits dar. |
| Jupyter Notebook | Eine sehr verbreitete interaktive Programmierumgebung hauptsächlich für komplexe Datenanalyse z.B. in der KI, Gen-Analyse (Biologie) oder auch Astronomie. |
| Python type hinting | Python Variablen können auf beliebige Datentypen verweisen. Das macht Python-Programme, besonders Funktionsaufrufe, fehleranfällig. Darum verwenden alle Profis das sogenannte Type-hinting, um diesen Problemen zu entgehen. |
| Source Code Versionierung | Ohne die Versionierung des Quellcodes z.B. mit Git ist eine professionelle Software-Entwicklung undenkbar. |
| Automatisches Testen | Ohne automatische Tests ist eine professionelle Software-Entwicklung undenkbar. Siehe unittest und Pytest. |
| Pakete wie numpy, pandas, scipy | Beinahe alle professionelle Anwendungen im mathematisch-naturwissenschaftlichen Bereich nutzen diese Pakete. |
| Dokumentation | Beschreibungen von Funktionalität, innerem Aufbau, mathematische Hintergründe, Teststrategie von Software etc. sind im professionellen Umfeld unverzichtbar, erfordern aber eine eigenes Management und Infrastruktur. Hier kann man viel zum Gelingen des Produkts beitragen, aber auch viel unnötigen Ballast generieren. |
| Modulariserung / Pakete für große Apps | Wohl kaum eine professionelle Software findet in einem Modul Platz! Wir können uns aber darauf beschränken. |
| Nebenläufigkeit / asynchrone / parallele Programm-Ausführung | Insbesondere für Web-basierte Programme ist dies wichtig. |
| Software-Architekturen | Sobald die Software größer wird, muss man sich um die globalen Strukturen Gedanken machen. Darum ist Software-Architektur auch eine eigene Disziplin. |
| Virtual environments (venv) | Professionelle Software-Entwicklungsumgebungen bzw. -Produkte müssen oft mit einer Mehrzahl von Versionierungsständen benutzter Pakete umgehen. Die daraus resultierenden Probleme adressieren diese virtuelle Umgebungen. |
| Reguläre Ausdrücke (regx) Pattern Matching | Leistungsfähige Erkennungsalgorithmen für Zeichenketten vermeiden in vielen professionellen Anwendungen die Neuerfindung des Rades. |