R, C, L, j und Python

Ich plane einen kombinierten Kurs in zwei Teilen an insgesamt vier Tagen mit folgendem Inhalt:

Einführung: R, C, L, j 🔗

Im ersten Teil (Dienstag und Donnerstag) geht es um folgendes Rüstzeug:

Dieses Rüstzeug wird anschließend angewendet auf die Berechnung folgender Baugruppen:

Dieser Teil des Kurses kann auch unabhängig vom folgenden Teil besucht werden.

Die Berechnungen werden zunächst noch manuell erledigt, mit einem Taschenrechner, der komplexe Zahlen kann, oder mit Python als Taschenrechner. Die Nutzung von Python ist verpflichtend für alle, die am zweiten Teil des Kurses teilnehmen wollen.

Python 🔗

Im zweiten Teil (am Wochenende) geht es um die Frage: Wie kann so etwas in Python programmiert werden?

Ziel des Pythonkurses ist:

Die gesamte benutzte Software ist Open Source und läuft unter Linux, Mac und sogar unter MS Windows.

Es wird von den Teilnehmenden erwartet, dass sie für diesen Teil des Kurses einen PC (Laptop oder Desktop, kein Handy oder Tablet) benutzen, auf dem Linux, Mac oder MS Windows installiert ist.

Zielgruppe 🔗

An Amateurfunk interessierte Menschen, die einen Computer zur Verfügung haben und mit dem einigermaßen umzugehen wissen. Insbesondere sind Programme zu installieren (hauptsächlich Python) und die Bereitschaft ist gefragt, sich gelegentlich auf die Kommandozeile einzulassen und dort gelegentlich vorgegebene Befehle abzusetzen.

Programmieren brauchen sie vorher nicht zu können; ein Ziel des Kurses ist, die Grundbegriffe des Programmierens erst beizubringen.

Etwas englische Sprachkenntnisse muss ich leider voraussetzen: Viel relevante Dokumentation ist in englischer Sprache verfasst, die im Rahmen des Kurses gelesen wird.

(Noch keine) Barrierefreiheit 🔗

Das gesamte Angebot ist nicht barrierefrei. Ich setze voraus, dass Teilnehmende mich hören und übliche Bildschirm-Ausgaben (Text und Graphiken) am Bildschirm erkennen können. Ich kann “leichte Sprache” nicht sprechen.

Wer Bedürfnisse für Barrierefreiheit hat, soll sich bitte bei mir melden. Spätestens, wenn sich jeweils drei interessierte Leute finden, die ähnliche Barrierefreiheits-Bedürfnisse haben (zum Beispiel drei Blinde), bin ich bereit, sehr ernsthaft darüber nachzudenken, ob ich für die entsprechende Zielgruppe einen angepassten Kurs zu einem späteren Zeitpunkt anbieten möchte und kann.

Inhaltliche Einschränkungen: 🔗

Regeln 🔗

Der Kurs lebt davon, dass immer wieder Übungsaufgaben gestellt werden, die dann von allen Teilnehmenden am eigenen Rechner gelöst werden, vor allem, aber nicht nur, am Wochenende. Wenn etwas klappt, aber gerade auch dann, wenn etwas nicht klappt, sollen Teilnehmenden bereit sein, ihre Ergebnisse und Probleme mit den anderen Teilnehmenden zu teilen, damit alle gemeinsam daraus lernen können. Der Kurs selbst findet deshalb in einem geschützten Raum statt:

Weitere Regeln:

Teilnahmevoraussetzungen 🔗

Software-Voraussetzungen 🔗

Ein normaler Browser muss auf dem Rechner installiert sein, mit dem an der Videokonferenz teilgenommen werden kann und der am Wochenende auch für die meiste Kursarbeit benutzt wird. Ein Headset und eine übliche Webcam (falls nicht eingebaut) werden empfohlen.

Vor dem ersten Abend bitte möglichst auf dem eigenen Rechner eine aktuelle Version von Python installieren; vor dem Wochenende ist das Pflicht. Aktuell sind laut offizieller Dokumentation die Pythonversionen 3.11 bis 3.15. Wer die Wahl hat, nimmt die neueste Version. Wer nicht, macht sich keinen Kopf darum und nimmt irgendwas, aber möglichst ab 3.11..

Auf Linux-Rechnern mit Debian-basierten Distributionen (Debian selbst, Ubuntu, MINT, …) ist die schnellste Methode, das Nötige zu installieren:

sudo apt-get install python3-venv

Wenn das nicht klappt, den richtigen Paketnamen suchen, zum Beispiel mit

apt-cache search --names-only python |
grep -P -- '-venv '

Hier ist vor dem Wochenende noch etwas mehr zu tun: Ein venv mit Jupyter Notebook und Pandas und vermutlich SciPy. Ich dokumentiere das noch beizeiten.

Fernunterrichtsschutzgesetz nicht anwendbar 🔗

Der Kurs ist frei. Er steht Mitgliedern des DARC wie auch Außenstehenden gleichermaßen offen. Von den Teilnehmenden am Kurs wird keinerlei entgeldliche Gegenleistung erwartet. Insofern kommt kein Vertrag im Sinne des Gesetzes zum Schutz der Teilnehmer am Fernunterricht zustande und das Gesetz ist auf diesen Kurs nicht anwendbar.

Terminplanung 🔗

Dienstag, ab 20:00 Uhr MEZ 🔗

Welcher Dienstag? Das ist noch unklar.

Erster Teil des Vortrags, angereichert mit Zahlenbeispielen und Übungen zum Selbstrechnen.

Donnerstag, ab 20:00 MEZ 🔗

Welcher Donnerstag? Zwei Tage später als der Dienstag oben.

Zweiter Teil des Vortrags, angereichert mit Zahlenbeispielen und Übungen zum Selbstrechnen.

Samstag, Sonntag jeweils 10:00 - 13:00 und 14:00 - 18:00 🔗

Welches Wochenende? Es fängt zwei Tage nach dem Donnerstag an.

Online-Kurs. Den Teilnehmenden werden in Übungen Python-Kenntnisse vermittelt, mit denen die oben beschriebenen Ziele zu erreichen sind.

Den Dienstag / Donnerstag plane ich, als öffentliche Veranstaltung stattfinden zu lassen. Für den Kurs am Wochenende werde ich vorher Anmeldungen einsammeln, da ich mir nur zutraue, einen relativ kleinen Kreis von Teilnehmenden zu betreuen; vielleicht 10 Personen.

Details zum Konzept 🔗

Zwei Vortragsabende 🔗

Am Dienstag und Donnerstag einer Woche trage ich meinen alten Vortrag von der HAM RADIO 2022 nochmal vor.

Es hat sich herausgestellt, dass dieser Vortrag eigentlich für eine Veranstaltung zu lang ist. Ich kriege den Stoff zwar in anderthalb Stunden durch. Aber den Teilnehmenden rauchen hinterher die Köpfe.

Daher plane ich, ihn auf zwei Abende zu verteilen.

Um auf den Pythonkurs vorzubereiten, wird diese beiden Abende ergänzt um Übungsaufgaben. Für diese Übungsaufgaben wird bereits Python benutzt, aber nur als eine Art bequemer Taschenrechner.

Programmierkurs an einem Wochenende 🔗

Aus meiner früheren beruflichen Praxis als Softwareentwickler ist mir geläufig: Um Programmieren zu lernen und die erste Programmiersprache, braucht es etwa zwei Jahre. Das führt dann immerhin zu Kenntnissen, die ausreichen, an professionellen Softwareprojekten teilzunehmen und die befähigen, für komplexe Aufgabenstellungen passende Programmstrukturen erst einmal zu entwerfen (Softwaredesign).

Schneller ist, wer ein Ziel erreichen will, das nicht so weit weg ist.

Aus meiner Erfahrung als Tutor bei Rails Girls-Veranstaltungen weiß ich, dass an einem einzelnen Wochenende Grundkenntnisse im Programmieren vermittelt werden können. (Bei den Rails Girls geht es, kurz gesagt, um das Programmieren einer einfachen Web-Anwendung, die sich aus einer SQL-Datenbank speist, die aus einer einzelnen Tabelle besteht. Mit einigem “Mut zur Lücke” durch die Lehrenden können am Ende des Wochenendes solche Web-Anwendungen einigermaßen erstellt werden. Zielgruppe bei den Rails Girls sind Frauen jeden Alters, die zwar Computer und Internet selbstverständlich nutzen, aber noch überhaupt nicht programmieren können.)

Ich weiß, dass es auch für Datenanalyse mit Python Kurse angeboten werden, die sich an Leute wenden, die noch nicht programmieren können.

Ich denke: Mit Python, Jupyter Notebook und Pandas kann ich Leute aus der Amateurfunkblase an einem Wochenende so weit führen, dass sie diese Tools das Wechselstromverhalten von RLC-Netzwerken berechnen lassen können und zum Beispiel Filterkurven erzeugen.

KI 🔗

Es wird in diesem Kurs keine KI-Nutzung geben.

Wer während und für den hier vorgestellten Kurs auf die Nutzung von LLM-KI nicht verzichten möchte, ist freundlich ausgeladen: Dieses Weiterbildungsangebot und Du passen nicht zusammen, suche Dir bitte ein anderes. (Was Du nach dem Kurs oder in anderen Zusammenhängen mit KI anstellst, ist Deine Verantwortung.)

Hintergrund 🔗

In den 1970er Jahren hat das Buch “Die Grenzen des Wachstums” auf die politische Agenda gehoben, was wir heute “Nachhaltigkeit” nennen.

Die Menschheit wird auf die Dauer nachhaltig wirtschaften. In einer endlichen Welt ist das eine selbstverständliche Tatsache. Aus meiner Sicht ist die spannende Frage, wie wir da hin kommen. Da sehe ich zwei Hauptszenarien:

Wer diese Zeilen liest, wird nicht überrascht sein, dass ich das zweite Szenario bevorzuge und anstrebe. Ich beziehe mich dabei auf Artikel 25 der universellen Menschenrechte (nach Resolution 217 (III) der Generalversammlung der Vereinten Nationen vom 10.12.1948), der jedem Menschen ein Recht auf adäquaten Lebensstandard zusichert. Meines Erachtens gilt das auch für die Zukunft, für jetzt noch junge oder noch nicht geborene Menschen.

Und es ist mir ernst mit der Nachhaltigkeit. Um nur ein Detail zu nennen: Ich habe über 40 Jahre lang kalt geduscht, um die Energie zu sparen, die sonst für das Aufheizen des Wassers nötig gewesen wäre.

Ich möchte und fordere den Wandel zu sparsamen und bescheidenen Technologien, die zur zukünftigen nachhaltigen Welt passen. Oder die wenigstens zu einem plausiblen Weg dorthin passen.

Die Hauptspielart LLM der KI ist leider weder sparsam noch bescheiden. Für das Training werden große Mengen an Energie und anderen Resourcen gebraucht. Sie passt also zu dem, was ich möchte und fordere, überhaupt nicht.

Und übrigens brechen KI-Trainingsstaubsauger bei vielen Open Source Projekten ein und saugen Inhalte ab, obwohl die Projektinhaber das verbieten und zu verhindern versuchen. Das ist m.E. das IT-Äquivalent eines Einbruchs und daher verdächtige ich KI-Output, grundsätzlich Hehlerware zu sein. Das ist nochmal ein ganz anderes Problem. Hier sehe ich den Urheberrechtsschutz aus Artikel 27 Abs. 2 der Menschenrechtsdeklaration verletzt.

Früher arbeitete ich beruflich als Softwareentwickler. Ich bin gerade rechtzeitig vor der großen KI-Welle in Rente gegangen und sehr zufrieden damit, dass sie über mich nicht mehr hinweg schwappt. Mich im Berufsalltag damit auseinander setzen zu müssen? Nein, danke!

Was ich im Hobby nutze, dient meinem Freizeitvergnügen. Für bloßes Freizeitvergnügen möchte ich eine LLM-KI bestimmt nicht aktiv nutzen. Wenn Du einen guten Grund siehst, sie doch zu nutzen, muss Du das auf Deine Kappe nehmen. Aber bitte erwarte nicht, dass ausgerechnet ich Dich dabei auch noch unterstütze. Dafür bin ich nicht die richtige Person.

Fazit: Ich werde im Zusammenhang mit diesem Kurs keine KI-Nutzung vorführen oder auch nur dulden.

FWIW: Heutzutage dusche ich kurz, aber warm, weil ich inzwischen individuelles Klimaheldentum für nur mäßig zielführend halte. Was wir brauchen, ist nicht nur individuelles Engagement, wir brauchen vor allem eine gesamtgesellschaftliche Transformation.