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:
- Wie werden Wechselspannungen und -ströme in R, L, C - Netzwerke grundsätzlich berechnet?
- Scheinwiderstände, Impedanzen.
- Güte.
- Aus welchem Himmel fällt dieses
jund wie lässt sich damit rechnen? - Serienschaltung und Parallelschaltung von R, L, C - Netzwerken.
Dieses Rüstzeug wird anschließend angewendet auf die Berechnung folgender Baugruppen:
- Schwingkreise
- einfache Antennen-Anpassgeräte
- verschiedene LC-Filter
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 Teilnehmenden können Python die Dämpfung verschiedener Tiefpassfilter bei festen Oberwellenfrequenzen berechnen lassen.
- Sie können Python Graphen erstellen lassen, die die Reaktionen von
Antennen-Anpassgeräten, Filter oder ähnlichen Baugruppen auf
verschiedene Frequenzen darstellen:
- Dämpfung,
- Phase,
- Spannung über und Strom durch die verschiedenen einzelnen Bauteile.
- Dabei können auch Eigenschaften realer Bauteile berücksichtigt werden (namentlich Streukapazitäten und endliche Güten von Spulen).
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: 🔗
- Wir betrachten stets den eingeschwungenen Zustand.
- Wir modellieren keine Transformatoren.
- Das Smith-Diagramm taucht nicht auf.
- Ich gehe nicht auf verschiedene Filtertopologien ein (Butterworth, Chebyshev, Bessel, Cauer, …), obwohl solche Filter natürlich mit den hier vorgestellten Methoden analysiert werden können.
- Die Filter werden numerisch analysiert. Wir befassen uns nicht mit Software zum Umformen von Formeln.
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:
- Alle sind verpflichtet, mit den anderen Teilnehmenden wertschätzend und rücksichtsvoll umzugehen.
- Was im Kurs passiert (an personenbezogenen Daten und Informationen entsteht), bleibt im Kurs (solange keine Straftaten oder andere ernste Regelverstöße vorkommen). Insbesondere wird nicht nach außen weitergegeben, welche Schwierigkeiten identifizierbare einzelne Personen hatten.
Weitere Regeln:
- Da die Termine aufeinander aufbauen: Wer an einer Veranstaltung des Kurses teilnimmt, muss an allen früheren Veranstaltungen ebenfalls teilgenommen haben.
- Empfohlen wird, als Kennung bei den Online-Videokonferenzen den eigenen Vornamen und, falls vorhanden, das eigene Rufzeichen zu benutzen. Andere, Kennungen sind erlaubt, auch anonymisierende oder pseudonymisierende, solange sie nicht mangelnde Wertschätzung für andere Teilnehmende oder die Gemeinschaft insgesamt kommunizieren oder geeignet sind, den Anschein zu erwecken, eine andere Person zu sein.
- Die gewählte Online-Kennung darf während des gesamten Kursverlaufs nicht geändert werden. (Denn der DARC sieht sich derzeit einer massiven Belästigungswelle aus dem Internet ausgesetzt, gegen die wir möglicherweise Sperren errichten werden.)
- Da die späteren Inhalte eines Termins auf den früheren Inhalten desselben Termins aufbauen, ist es nötig, an jedem Termin von Anfang an und durchgehend teilzunehmen.
- Wer während des Kurses essen möchte, stellt so lange die Übertragung von Audio und Video aus. (Es wird aber auch Pausen geben.)
- Diskriminierendes oder anderes nicht wertschätzendes Verhalten ist im Rahmen des Kurses nicht erlaubt. Das schließt Diskriminierung ein aufgrund von sexueller Orientierung, Lizenzklasse, Geschlecht, Religion oder ihrer Abwesenheit, Alter, sowie politischer Überzeugungen, so lange diese sich im Rahmen der deutschen FDGO bewegt und die Menschenrechte (nach Resolution 217 (III) der Generalversammlung der Vereinten Nationen vom 10.12.1948) als für alle Menschen universell gültig anerkennt.
- Eine KI-Nutzung im laufenden Kurs oder im Zusammenhang mit ihm ist nicht erlaubt (siehe unten).
Teilnahmevoraussetzungen 🔗
- 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).
- Beim zweiten Kursteil (am Wochenende) traue ich mir nur die Betreuung einer recht kleinen Gruppe von Teilnehmenden zu. Daher muss sich vorher per Email bei mir anmelden, wer daran teilnehmen möchte. Die Anmeldung muss bis zum Freitagabend 8 Tage vor dem zweiten Kursteil erfolgen. Welche Angaben ich in der Anmeldung finden will, werde ich noch rechtzeitig hier veröffentlichen. Eine frühe Anmeldung erhöht nicht die Chancen auf Teilnahme. Ob jemand teilnehmen kann, teile ich bis Montagfrüh der Kurswoche mit.
- Für den ersten Teil des Kurses (Dienstag und Donnerstag) wird eine Installation irgendeiner aktuellen Version von Python auf dem eigenen Rechner dringend empfohlen, für den zweiten Teil (am Wochenende) ist sie Voraussetzung. (Für den ersten Kursteil kann anstelle der Python-Installation auch ein Taschenrechner benutzt werden, sofern dieser Taschenrechner das Rechnen mit komplexen Zahlen beherrscht.)
- Es ist, namentlich vor dem zweiten Teil des Kurses am Wochenende, weitere Software zu installieren. Wie das geht, schreibe ich bis dahin noch ordentlich auf (im nächsten Abschnitt).
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:
- Wir machen so weiter wie bisher und verbrauchen gierig alle erreichbaren Reserven und Vorräte, die der Planet Erde zu bieten hat. Wir nehmen alles, was wir kriegen können. Sind dann alle greifbaren Resourcen erschöpft, fährt das Weltwirtschaftssystem krachend vor die Wand. Nach dem Krach finden sich die relativ wenigen Überlebenden (im Vergleich zu heutigen Zahlen) in einer unangenehmen, ausgebluteten, postapokalyptischen Welt wieder. Nachhaltigkeit in bitterer Not.
- Wir lassen uns auf einen geplanten Ausstieg ein, einem intelligenten Umbau des bisherigen gierigen Wirtschaftswachstum mit seinem immerwährenden Hunger nach mehr und noch mehr Resourcen auf etwas neues, ganz anderes, das nachhaltig ist. So krachen wir nicht planlos gegen die Wand der Erschöpfung essentieller Resourcen. Statt dessen gestalten wir ein Bremsmanöver und lenken das Weltwirtschaftssystem in eine ganz neue Richtung. So bleibt auch in der Zukunft gutes Leben möglich. Eine Transformation findet statt, die Apokalypse bleibt aus. Viel weniger Tote, Nachhaltigkeit in erträglicheren Umständen.
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.