Programmieren lernen mit dem Raspberry PI

Teile uns

Der Einstieg ins Programmieren ist eine schwierige Sache. Die Erwartungen der Schülerinnen und Schüler sind sehr gross. Doch bis man in der Lage ist, ein Programm zu schreiben, das auch wirklich etwas macht, ist oft ein langer Weg. Mit dem Raspberry Pi – dem 50-Franken-Einplatinen-Computer und dem Franzis Lernpaket gelingt dieser Einstieg auf sehr spielerische Weise. Ein Erfarhungsbericht.

Wer schon mal versucht hat, einem blutigen Anfänger das Programmieren beizubringen, kennt das Problem: Die Lernenden erwarten, dass sie sofort ein grafisch ansprechendes Spiel programmieren können, das sie von ihrem Handy kennen. Doch als erstes erscheint an der Konsole „Hallo Welt!“ und eine erste Enttäuschung ist nicht zu vermeiden. Danach muss man sich als Lehrender ziemlich Mühe geben, um die Leute bei der Stange zu halten. Am Besten gelingt das mit guten Programmier-Aufgaben, deren Programmierung Spass macht und das Resultat irgendwie befriedigend ist.

Vergangene Woche habe ich an unserer Schule eine Projektwoche mit 8 Schülern und 2 Schülerinnen durchgeführt, bei der ich den Einstieg ins Programmieren mit dem Raspberry PI zu ermöglichen versuchte. Der erste Eindruck ist sehr positiv.
Ich habe für die ganze Klasse das Franzis Raspberry Pi Lernpaket gekauft. Darin enthalten sind diverse elektronische Teile (LEDs, Widerstände, Lautsprecher, Kabel etc.) sowie ein Buch für den Einstieg.

Ich liess die Schülerinnen und Schüler mehr oder weniger selbständig Projekte aus dem Buch erarbeiten. Bei fast allen Projekten im Buch geht es darum, dass man das GPIO (General Purpose Input/Output) des Raspberry Pi’s nutzt, um über ein Python-Programm irgendwelche LEDs an- und abzuschalten oder eine vierziffrige 7-Segment-Anzeige zu steuern.

Spielerisch lernen

Es war faszinierend, den Schülerinnen und Schülern zuzusehen, wie sie sich mit der Materie vertraut machten. In den ersten Beispielen im Buch werden einzelne LEDs angeschlossen und an- und abgeschaltet. Dies geschieht mit Beispiel-Programmen in Python, die die Lernenden vom Buch abschrieben. Dabei wird für jede einzelne Programm-Zeile erklärt, wozu sie nötig ist und was sie bewirkt.
Sofort begannen die Jugendlichen, diese Beispiele abzuwandeln und Neues auszuprobieren. Das ist natürlich nicht der klassische Weg, bei dem die Lehrperson erklärt, wie man beispielsweise eine Selektion programmiert und danach eine Übung lösen lässt.
Beim Lernen mit dem Raspberry PI ergibt sich der Bedarf nach einer Selektion aus der Aufgabenstellung, die sich die SchülerInnen selbst gestellt haben. Meine Aufgabe war, individuell zu erklären, wie man eine Selektion programmiert, wie man Bedingungen in Python formuliert und wie man verschiedene Bedingungen mit logischen Operatoren verbinden kann. Aus Lehrersicht  also ziemlich anspruchsvoll und ziemlich improvisiert. Doch der Aufwand lohnt sich. Denn die meisten Schülerinnen  und Schüler arbeiten nach ihrem eigenen Tempo, verwirklichen eigene Ideen und erlernen sehr spielerisch die Grundideen der Programmierung.

Schnelle Fortschritte

Senso-Spiel
Die meisten Schülerinnen und Schüler des Kurses haben praktisch noch nie programmiert. Umso erstaunlicher ist es, was sie in diesen vier Tagen zustande gebracht haben.
Eine Schülerin hat ein Senso-Spiel selbst entwickelt. Dabei gibt eine elektronische Schaltung eine Abfolge von farbigen Signalen vor. Die Spielerin muss danach über Taster die gleiche Farb-Reihenfolge eingeben. Stimmen die beiden Reihenfolge überein, geht es in die nächste Runde, bei der die Farb-Reihenfolge um eins länger wird.
Die Idee für die Programmierung hat die Schülerin dem begleitenden Buch zum Lernpaket entnommen. Allerdings hat sie das gesamte Programm von Grund auf selbst entwickelt – wenn auch mit ziemlich viel Support von mir.
Musik-Orgel
Eine andere Schülerin hat eine Anwendung programmiert, bei der sie ein Musikstück am Handy laufen lassen kann. Der Raspberry Pi lässt passend zur Melodie des Stücks farbige LEDs leuchten. Für den Zuschauer ein ziemliches Spektakel.
Zwar funktioniert das Programm nur mit einem einzigen Musikstück. Doch hätte der Kurs länger gedauert, ist sonnenklar, dass die Schülerin ihre Idee auf andere Stücke ausgedehnt hätte.
Ein dritter Schüler hat sich mit dem Sense HAT-Modul, das zum Raspberry Pi als Zubehör erhältlich ist, beschäftigt. Dieses Modul verfügt über eine Vielzahl von Sensoren und ein 8×8-Pixel-LED-Display. Der Schüler hat sich damit eine Wetterstation programmiert, die alle relevanten Wetterdaten ausgibt, den Taupunkt berechnet und die Tendenz bezüglich Luftdruck angibt. 
Andere Schüler, die schon über Programmiererfahrung verfügen, haben in dieser Woche versucht, für sich privat einen VPN-Server einzurichten, um von überall her auf die Daten im heimischen Netz zuzugreifen, oder einen Stream-Server zu programmieren, um vom Laptop aus, aufwendige Grafik-Spiele auf einem Fernseher über das WLAN zu streamen.

Gute Erfahrung für alle

Den Rektionen der Schülerinnen und Schüler nach zu schliessen, hat sich die Woche gelohnt. Immer wieder gab es spontane Freudenausbrüche, wenn eine LED, die zuvor während langen Minuten trotz grossem Programmieraufwand nicht leuchten wollte, dann doch plötzlich funktionierte. Oder wenn der OpenVPN-Server nach Tagen erfolgloser Versuche endlich auf die Verbindungsanfrage reagierte.
Jedenfalls schien es niemandem langweilig zu sein. Und ohne zu merken, haben die meisten Jugendlichen in dieser Woche sehr viel zum Thema Netzwerk, Programmierung oder elektronische Schaltungen gelernt. Und dies alles in einer sehr spielerischen Atmosphäre.
Auch für mich als Informatik-Lehrer gab es wertvolle Erkenntnisse darüber, wie Jugendliche lernen und was nötig ist, um eine Stimmung zu schaffen, in der sich die Schülerinnen und Schüler während Stunden auf eine einzige Sache konzentrieren können.
Insgesamt kann ich den Raspberry PI und seine Möglichkeiten der Programmierung und der Steuerung von elektronischen Schaltungen sehr empfehlen. Es macht grossen Spass.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert