Hintergrund
Ich wurde von meiner Zivildienststelle, welche Kinderbetreuung mit Workshops anbietet, im April darum gebeten, einen Cybersecurity-Workshop zu entwerfen, welcher Kindern in zwei Stunden die Grundzuege beibringt. Dies fand bei Siemens im Rahmen des Tochtertages statt, wobei ich im Zuge dessen zwei verschiedene Toechtergruppen betreute. In der Folge sollten Chrissi und ich den Workshop auf acht Stunden ausbauen, damit wir damit, wieder bei Siemens, an einem Tag zwoelf Kinder betreuen konnten.
Ablauf
- Wir haben damit begonnen, ueber Verschluesselung zu sprechen, warum diese gerade heute wichtig ist und was sie bewirkt.
Dabei kamen wir auch auf die Enigma-Maschine zu sprechen.
- Zum ersten Mal Schiffe versenken.
- Caesar-Cipher-Verschluesselung.
- Wie diese zu knacken ist.
Beim Toechtertag haben wir dabei mit einem Chatroom gearbeitet, und die Kinder konnten ausprobieren, unsere Nachrichten zu entschluesseln; diese waren allerdings auch ein wenig aelter.
- Zeigen, wie die Blockchiffre funktioniert und dass diese nicht mehr so leicht zu entschluesseln ist.
- Hashing und wie wir selbst solche Funktionen erstellen koennen.
- Zum zweiten Mal Schiffe versenken.
- Darueber reden, was wir gelernt haben und wo uns das im Alltag begegnet.
Ich wollte dann eigentlich mit Such- und Sortieralgorithmen weitermachen, aber diejenige, welche den Workshop organisierte, wollte unbedingt, dass wir auch programmieren, und so hat sich das ein wenig verschoben.
- Wir haben ein kurzes Python-Tutorial gegeben, damit wir den Hash und die Blockchiffre implementieren koennen.
- Wir haben zum Schluss sortiert.
Details
Schiffe versenken
Die Idee ist, dass die Kinder ihr Wissen zur Verschluesselung nutzen, um zu kommunizieren. Dies geschieht im Wettbewerb als Ansporn, und somit auch mit Konsequenzen, wenn ihre Ideen nicht gut genug sind.
Dazu haben wir ein Spielbrett mit verschiedenen, benannten Inseln, wobei jede Insel mit circa vier anderen verbunden ist. Jedes Team hat drei Boote, welche sich auf diesen Linien zwischen den Inseln bewegen koennen. Jedes Team darf auch eine Insel des Gegners abschiessen. Ziel ist es, dass der Gegner nur noch ein Boot uebrig hat.
Dazu kommt, dass jedes Team einen Spion zum anderen Team schickt, welcher mit dem eigenen Team nur noch ueber einen allgemeinen Chat einmal pro Zug kommunizieren darf. Das Ziel fuer die Kinder ist es, sich im Vorhinein eine Verschluesselung zu ueberlegen, mit welcher der Spion die Positionen der Boote verraten kann, ohne dass das gegnerische Team weiss, welche Schiffe verraten wurden, da sie diese sonst einfach wegstellen koennten.
Ablauf
- Jedes Team waehlt einen Spion und eine Verschluesselung.
- Die Teams trennen sich, am besten raeumlich.
- Jedes Team stellt seine Boote auf.
Loop, bis ein Team nur noch ein Boot hat:
- Der Spion darf in den Chat eine Nachricht aus genau sechs Zeichen (nur Buchstaben) schicken.
- Beide Teams duerfen von ihren Bewegungspunkten („Move Countern“) beliebig viele abziehen und fuer jeden abgezogenen Punkt ein Schiff die Linie entlang bewegen. Hier geht es darum, ob sie herausfinden, welches Boot verraten wurde.
- Beide Teams sehen jetzt die Nachricht ihres Spions und ob Schiffe verschoben wurden. Dann duerfen sie angeben, welches Ziel sie beim Gegner abschiessen wollen.
- Es wird enthuellt, ob die Schiffe getroffen wurden.
Programm
Ich habe mit Hilfe von Deepseek ein Programm geschrieben, welches die Teams verbindet und die Phasen verwaltet.
Es ist zu finden unter program
Hierzu braucht jedes Team einen Laptop und es wird ein Spielleiter („Master“) benoetigt, welcher die Phasen steuert.
Der Spielplan befindet sich unter noch nachzubringen. Diesen hatte ich oefter ausgedruckt, damit die Kinder ihn mit ihren Strategien beschmieren konnten.
Erfahrungsberichte
Als wir das Spiel zum ersten Mal gespielt hatten, dauerte es recht lange, bis allen bewusst war, was zu tun ist. Zudem waren die Verschluesselungen so simpel, dass sie vom gegnerischen Team leicht geknackt wurden. Das fuehrte dazu, dass sie vier Runden spielten und nur zufaellig am Anfang ein Boot getroffen wurde.
Nach dem Workshop endete das Spiel meist nach drei bis vier Runden, und den Kindern hat es sehr viel Freude bereitet, sich neue Strategien auszudenken, die manchmal auch ein wenig wirr waren.
Meine groesste Sorge war, dass ein Team einfach jeder Insel einen Buchstaben zuordnet und dann alle Positionen weitergibt. Wenn das gegnerische Team im Durchschnitt ein Schiff pro Zug bewegt, haette man eine 50%ige Trefferquote. Es hat sich jedoch gezeigt, dass dies gar nicht so viel bringt. Wenn man die Gegner naemlich genug verwirrt, indem man Namen waehlt, die so wirken, als wuerde man ein anderes Schiff anvisieren („targeten“), als man es eigentlich tut, bringt man die Quote auf fast 100 %. Das schlaegt die simple Taktik und erfordert auf einmal wieder viel Denkleistung, wie diese Strategie am besten umgesetzt werden kann.
Allgemein glaube ich, dass uns dieses Spiel sehr gut gelungen ist und mit Modifikationen auch reif fuer Kindergeburtstage waere (welche das sind, weiss ich noch nicht, aber man kann sicher noch ein wenig daran herumschrauben).
Caesar-Chiffre und Blockchiffre
Bei dieser Einheit geht es darum, zu lernen, wie man selbst Texte ver- und entschluesselt.
Wir beginnen damit, dass sich die Kinder selbst ueberlegen muessen, wie sie Nachrichten verschluesseln koennen. Dabei kann man auch ueber die Probleme von unverschluesselter drahtloser Kommunikation („wireless communication“) reden.
Meistens sind dies dann irgendwelche Schluesselwoerter („Keywords“), auf die sich die Kinder einigen. Anschliessend koennen wir die Vor- und Nachteile der Ideen der Kinder besprechen.
Daraufhin zeigen wir ihnen die Caesar-Chiffre, lassen sie verschiedene Texte verschluesseln, zeigen dann allerdings auch, wie einfach es ist, diese Verschluesselung zu knacken. Einerseits durch Ausprobieren, andererseits kann man die Buchstaben zaehlen und so auf den Schluessel kommen.
Zum Schluss bringen wir ihnen die Blockchiffre bei, welche wir dann nicht mehr so leicht knacken koennen. Hierzu kann man auch zeigen, dass die Buchstabenvorkommen gleichmaessiger (uniformer) sind als zuvor und sich nicht mehr mit der Haeufigkeitsverteilung im Deutschen decken.
Hashing
Nach der Verschluesselung gehen wir zu einem aehnlichen Thema ueber, dem Hashing. Man kann es als Einbahnstrasse der Verschluesselung erklaeren.
Hierzu beginnen wir meist mit dem Problem, wie Passwoerter gespeichert werden.
Daraufhin kann man, je nachdem wie alt die Kinder sind, die Eigenschaften ein wenig mathematischer besprechen, da diese ziemlich simpel sind und gut demonstrieren, was die Hashfunktionen beherrschen sollen.
Die Kinder koennen sich selbst etwas ueberlegen. Wir zeigen ihnen dabei einfache Summen, Multiplikationen und vielleicht noch etwas, das den Index miteinbezieht.
Vielen Kindern macht es auch Spass, die Hashfunktionen zu knacken und sich daraufhin zu ueberlegen, wie die Funktionen verbessert werden koennten. Dies kann gemeinsam mit allen an der Tafel gemacht werden.
Wir beenden diese Einheit damit, ueber Passwortsicherheit und allgemeine Schutzvorrichtungen im Netz zu sprechen.
Programmieren
Ich wuerde eigentlich nicht mit Kindern, die noch nie programmiert haben und nur ca. zwei Stunden Zeit haben, wirklich mit dem Programmieren beginnen. Ich als eher theoretisch orientierter Informatiker finde, dass das Problemloesen und das Mindset viel wichtigere Gedankengueter sind als das Handwerk selbst; aber es wurde so von mir verlangt.
Dazu haben wir ihnen zuerst ein Cheat-Sheet mit den Python-Basics gezeigt und sie daraufhin dabei begleitet, eine Hashfunktion, die Caesar-Chiffre und eine Blockchiffre zu programmieren. Da die meisten Kinder allerdings noch zu jung waren, haben wir sie daran gesetzt, ein Jump-and-Run-Spiel in Scratch zu programmieren, was in der Hinsicht sehr praktisch war, dass ihnen ChatGPT dabei nicht helfen kann, sondern sie gezwungen sind, bei uns zu bleiben.
Ich wuerde diesen Programmpunkt an sich so nicht wiederholen wollen. Aber wenn es sein muss und ich ein wenig Zeit habe, wuerde ich selbst (zum Beispiel mit Hilfe von Deepseek) einen Online-Compiler fuer eine eigene Sprache programmieren. Diese sollte speziell darauf optimiert sein, genau das zu tun, was ich den Kindern beibringen will, und am besten auch eine deutsche Syntax verwenden. Damit kann ihnen niemand ausser mir und ihnen gegenseitig helfen, und es gibt vermutlich weniger Abzweigungen, die sie nehmen koennten, weil die Sprache spezialisierter ist.
Ich bin im Allgemeinen nicht dagegen, im Lernprozess LLMs zu nutzen, da man sie im Endeffekt aehnlich wie eine Lehrperson verwenden kann und ich glaube, dass das Lernen so sogar durchaus effizienter gestaltet werden kann. Doch die meisten Kinder hier hatten gar nicht vor zu lernen, sondern wollten einfach nur die Aufgabe bewaeltigen, obwohl es mir gar nicht darum ging, dass sie eine schnelle Loesung finden.
Sortieren
Hierbei habe ich einen Fehler gemacht, indem ich die Motivation, warum wir sortieren wollen, nicht von Anfang an klar kommuniziert habe. Die Kinder hatten auch gerade Eis gegessen und waren geistig schon ein wenig erschoepft, aber ich glaube, diese Erklaerung hat vor allem gefehlt, da mir viele die Frage gestellt hatten, warum sie das jetzt tun muessten.
Vielleicht koennte man sie auch in zwei Gruppen aufteilen, die dann um die Wette sortieren. Meine urspruengliche Idee war es, die Zeit zu stoppen, die sie brauchen, um herauszufinden, ob sich eine bestimmte Zahl im Stapel befindet, und sie dann zu fragen, wie man das schneller machen koennte.
Ich habe die Kinder zuerst wild drauflos die Karten sortieren lassen, wobei diese automatisch in einen Bucketsort verfallen sind, was durchaus effizient ist, wenn man viele Personen ist. Daraufhin habe ich sie suchen lassen, ob sich bestimmte Zahlen im Haufen befinden oder nicht.
Ich bringe hierbei das Beispiel mit einem Objekt, das gestohlen wurde, wovon es ein Ueberwachungsvideo gibt.
Dann lernen wir ein wenig ueber die binaere Suche (Binary Search) und warum sie so effizient ist.
Jedes Kind bekommt einen Teil der Karten, und wir schauen uns den Bubble-Sort-Algorithmus an, wobei dieser Teil nicht sonderlich gut angekommen ist. Ich wuerde das noch einmal mit einer anderen Gruppe ausprobieren, und wenn wieder nur Ablehnung kommt, wuerde ich diesen Teil aus dem Programm streichen.
Dann besprechen wir Quicksort und dass man dies im Vergleich zu Bubble-Sort sehr gut in einer Gruppe durchfuehren kann, und stoppen, wie lange sie im Vergleich zu der Version brauchen, wie sie am Anfang sortiert hatten.
Fazit
Ich glaube, den Kindern hat es gefallen. Diejenigen, die nur den zweistuendigen Workshop zur Verschluesselung besuchten, waren bis zum Ende guter Dinge. Aber ein achtstuendiger Workshop mit einem so dichten Programm war meiner Meinung nach ein wenig zu viel, und man sollte kuenftig mehr Pausen einlegen.