R, C, L, j und Python

Ich plane einen kombinierten Kurs in zwei Teilen an insgesamt vier Tagen.

Inhaltlicher Plan 🔗

R, C, L, j-Einführung 12.+14.1.2027 🔗

Der erste Teil ist die Einführung. Sie besteht aus den Terminen Dienstag und Donnerstag Abend. Es geht es um folgendes Rüstzeug:

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

Die Berechnungen werden zunächst noch manuell erledigt: Das geht mit einem Taschenrechner, der mit komplexen Zahlen umgehen kann, oder mit Python als Taschenrechner. Die Nutzung von Python als Taschenrechner ist als Vorübung verpflichtend für alle, die am zweiten Teil, dem Python-Workshop, teilnehmen wollen.

Zugang zur Einführung

Python-Workshop 16.+17.1.2027 🔗

Im zweiten Teil, dem Workshop am Wochenende, geht es um die Frage: Wie kann so etwas in Python programmiert werden? Diese zwei Tage sind gleichzeitig als Einführung in das Programmieren geplant für Leute, die das noch nie oder fast noch nie gemacht haben.

Ziel dieses Pythonkurses ist:

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

Von allen, die am Workshop teilnehmen, wird erwartet, dass sie für die Einführung und den Workshop einen PC benutzen (Laptop oder Desktop, kein Handy oder Tablet), auf dem ein halbwegs aktuelles Linux, Mac OS oder MS Windows installiert ist.

Anmeldung Workshop 🔗

Am Python-Workshop am Samstag und Sonntag kann nur teilnehmen, wer sich vorher angemeldet hat und von mir eine Teilnahmebestätigung erhalten hat. Außerdem ist nötig, vorher an beiden Abenden des Einführung teilzunehmen.

Die Anmeldung ist jetzt noch nicht möglich. Sie wird möglich sein vom 1.-8.1.2027. Bis zum Abend des 10.1.2027 sende ich Teilnahmebestätigungen und auch, falls nötig, Absagen.

Hintergrund:

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) 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 Teilnehmende bereit sein, ihre Ergebnisse und Probleme mit den anderen Teilnehmenden zu teilen. So können alle gemeinsam daraus lernen können.

Der Kurs selbst findet deshalb in einem geschützten Raum statt:

Weitere Regeln:

Teilnahmevoraussetzungen 🔗

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

Für die Einführung (Dienstag und Donnerstag) wird eine Installation von Python empfohlen. Wenn Du am Wochenend-Workshop nicht teilnehmen möchtest, kann Du Dich auch mit einem wissenschaftlichen Taschenrechner behelfen, sofern der Taschenrechner mit komplexen Zahlen rechnen kann. Wenn Du diesen Weg gehen willst, solltest Du herausfinden, wie Du die Aufgabe

(14-5j) / (1-4j)

in Deinen Taschenrechner eingeben kannst. Das richtige Ergebnis ist 2 + 3j, das sollte herauskommen. Möglicherweise musst Du den Buchstaben i benutzen statt des j. (Wer Python installiert, kann (14-5j) / (1-4j) direkt eintippen und erhält problemlos die Antwort 2 + 3j.)

Voraussetzungen Wochenend-Workshop 🔗

Ein Laptop oder Desktop-PC mit Linux, Mac-OS oder Windows ist Voraussetzung. Ein älterer Rechner sollte genügen (etwa 10 Jahre alt oder jünger, 4 GByte RAM oder mehr).

Vor dem ersten Abend (dem Dienstag) auf dem eigenen Rechner eine aktuelle Version von Python installieren. 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 eben 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 '

Funktionstest: Nach Aufruf von python3 an einem Shellprompt oder Kommandozeilenprompt sollte es möglich sein, (14-5j) / (1-4j) einzutippen, als Ergebnis sollte (2+3j) herauskommen. Python lässt sich beenden durch Eintippen von exit(0) oder schlichtem Schließen des Fensters.

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 in Detail.

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 ist das Gesetz zum Schutz der Teilnehmer am Fernunterricht auf die hier vorgestellte Veranstaltung nicht anwendbar.

Terminplanung 🔗

Dienstag, 12.1.2027 ab 20:00 Uhr MEZ 🔗

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

Donnerstag, 14.1.2027 ab 20:00 MEZ 🔗

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

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

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.