Nachwuchsförderung

«Plötzlich sehe ich Parallelen zwischen Programmieren und dem Bedienen eines CMS»

«Plötzlich sehe ich Parallelen zwischen Programmieren und dem Bedienen eines CMS»
Ruedi Arnold erklärt, wie das Spiel «Labyrinth» programmiert wird.

In ihrer Reportage vom Scratch Workshop ermöglicht Anja Schmid, Mitarbeiterin Marketing & Kommunikation der Hochschule Luzern, einen Einblick in die Hochs und Tiefs ihrer wackligen Programmier-Versuche.

Prof. Dr. Ruedi Arnold, Dozent und Forscher an der Hochschule Luzern, begrüsst alle Anwesenden zum Programmier-Workshop mit Scratch, einer kostenlosen Programmierumgebung für Kinder. Es sind 4 Schülerinnen und 10 Schüler aus Sekundar- und Mittelschulen und meine Wenigkeit – und ich bin etwa doppelt so alt wie die anderen. Arnold geht den Tagesablauf durch und erklärt die wichtigsten Konzepte und Begriffe von Scratch. «Befehle werden wie Lego-Bausteine zusammengesetzt», sagt er. Das klingt gut! So funktionierten nämlich auch alle CMS-Programme (Programme, mit denen die Inhalte von Webseiten verwaltet werden), mit denen ich bisher gearbeitet habe. Allerdings sind die Scratch-Befehle etwas abstrakt. Ich verstehe zwar, was Arnold meint, kann es mir aber in der Anwendung noch nicht so ganz vorstellen.

Es folgt die Vorstellungsrunde. Zuerst stellen sich Ruedi Arnold und sein Assistent Philip Gasser vor, dann alle Teilnehmenden. Vier Jungen und ein Mädchen haben bereits selber programmiert, u.a. mit Java, Shell-Skripten und HTML/JavaScript. Hier werde ich wohl nicht brillieren können… Viele hatten in der Schule Informatik – allerdings arbeiteten sie dort v.a. mit Office-Programmen. Ja, so war das damals auch bei mir. Es stellt sich heraus, dass viele Jungen in ihrer Freizeit gerne gamen, die Mädchen aber lieber YouTube-Videos anschauen oder auf Facebook sind. Ruedi Arnold will es genauer wissen: «Wer hat schon mal Minecraft gespielt (ein Spiel, bei dem die Welt durch die Spielenden verändert werden kann)?» Fast alle Hände gehen nach oben. «Wie viele von euch waren schon einmal in einem Scratch Workshop?» Fünf Teilnehmende strecken auf. Ich bin überrascht. Der Workshop muss gut sein, wenn sie freiwillig nochmals kommen.

Farbchaos im Labyrinth

Jetzt geht’s los! Ruedi Arnold zeigt uns die erste Scratch-Aufgabe «Labyrinth». Es geht darum, einen Helikopter durch ein Labyrinth zu fliegen. Dazu erhalten wir verschiedene Teilaufgaben, wie z.B. dass der Helikopter merken soll, wann er am Ziel ist, oder dass er dem Mauszeiger folgen soll.

«Und, bist du schon fertig?», fragt Arnold scherzhaft nach einer Weile. Natürlich nicht! Ich bin extrem langsam – als ob ich Schwierigkeiten beim Lesen hätte. Aber immerhin komme ich voran. Nachdem Arnold weg ist, merke ich, dass auf dem Aufgabenblatt nicht nur die nur die notwendigen Befehlsbausteine stehen, sondern auch, zu welcher Bausteinart sie gehören. Warum sehe ich das erst jetzt? Als Arnold das zweite Mal vorbeikommt, bin ich bei der letzten Teilaufgabe: Hinter dem Helikopter soll eine farbige Spur entstehen, wenn er fliegt. Nur sollte die auch wieder weg. Aber bei mir zieht sich ein Spuren-Netz übers Labyrinth. «Du musst den Stift wieder ausschalten», bemerkt Arnold. Das hätte eigentlich auch auf dem Aufgabenblatt gestanden… Notiz an mich: Genau lesen! Jetzt bin ich fast fertig, aber irgendwie funktioniert der Helikopter nicht, wie er sollte. Was stimmt denn jetzt wieder nicht? «Du musst nur auf den Helikopter klicken, nicht gedrückt halten», erklärt Arnold gerade dem Jungen vor mir. Echt? Aber man muss doch sonst immer gedrückt halten?

Wer sucht, der findet (nicht immer)

Die zweite Aufgabe heisst «Breakout». Ziel ist es, einen Ball, der sich dauern bewegt, mit Hilfe eines Paddels, das sich vertikal verschieben lässt, möglichst lange im oberen Bildbereich zu halten. Gerät der Ball tiefer als das Paddel, ist Game Over. Ruedi Arnold hat angekündigt, dass diese Aufgabe schwieriger ist, als die erste. Einen Grund sehe ich gleich: Es steht viel weniger auf dem Aufgabenblatt. Ich scheitere bereits bei Teilaufgabe zwei. Genauer gesagt an dem Punkt, wo der Ball merken soll, dass er tiefer ist als das Paddel. Ich finde die Operation «<» (kleiner als) nicht und werde langsam frustriert. Müsste ich vielleicht einen anderen Befehl nehmen? Aber welchen? Vielleicht ist Programmieren doch nichts für mich?

In diesem Moment kommt Ruedi Arnold. Den Befehl «<» gibt’s also doch. Nur nicht dort, wo ich gesucht habe. Arnold programmiert mir auch gleich die «Game Over»-Meldung. Hätte ich das selber auch geschafft? Teilaufgabe drei gelingt mir besser. Allerdings bin ich mit meiner Umsetzung nicht ganz zufrieden. Ich kann den Ball nur in einem bestimmten Winkel vom Paddel abprallen lassen – aber beim einzigen sinnvollen Befehlsbaustein kann ich nur Grad einfügen. Dabei müsste die Richtung beliebig sein, sonst macht das Spiel keinen Sinn. Arnold korrigiert die Richtungsänderung, indem er einen anderen Befehlsbaustein einfügt – dort, wo ich vorher Grad eingegeben habe. Ich hätte nie vermutet, dass so etwas überhaupt möglich ist.

Scratch goes Hollywood

Nach dem Mittagessen zeigt uns Ruedi Arnold ein paar weitere Scratch-Funktionen. Dann haben wir eine Stunde Zeit, um ein eigenes Spiel oder eine eigene Geschichte zu programmieren. Nachher bestimmen wir, welches Programm gewinnt. Ich weiss noch nicht, was ich machen soll. Vielleicht hilft es, wenn ich mir die Hintergrundbilder anschaue? Mich sprechen die Skyline und die Theaterbühne an. Könnte ich diese beiden verbinden? Jetzt hab ich‘s: Scratch, die Maskottchen-Katze der Programmier-Software, soll ins Theater gehen. Ich fühle mich etwas unsicher, so ganz ohne Aufgabenblatt. Aber irgendwo muss man ja anfangen. Ich setze die Bausteine nach bestem Wissen (eigentlich eher Raten) zusammen, was nicht immer klappt. Da ich es nicht schaffe, die Befehlskette auseinandernehmen, lösche ich immer alles. So werde ich nie fertig! Zufälligerweise finde ich doch noch heraus, wie das geht – was mich ebenso freut wie ärgert. Was hätte ich Zeit sparen können!

Schliesslich ist es so weit: Scratch steht vor der Skyline und sagt «Ich bin auf dem Weg zu meinem Auftritt…» und gleitet rechts zum Bild hinaus. Dann kommt die Katze von links auf die Theaterbühne und bleibt in der Mitte stehen. Ruedi Arnold kommt bei mir vorbei und sieht sich meine Befehlskette an. «Das hättest du auch einfacher machen können», sagt er und zeigt mir wie. Aber immerhin: es war nicht falsch! Scratch gleitet aktuell nur durchs Bild. Arnold zeigt mir, wie ich es aussehen lassen könnte, als ob die Katze gehen würde: ich müsste fortlaufend zwischen Bild 1 (ausgestreckte Beine) und 2 (angewinkelte Beine) hin- und herwechseln. Das wäre schon toll! Ich versuche, Scratch aus dem einen Bild ins andere gehen zu lassen, so dass die Katze in der Mitte der Bühne stehen bleibt. Leider schaffe ich es nicht. Da die Zeit drängt, lasse ich es schliesslich. Meine Geschichte ist ja noch nicht fertig. Neu sagt die Katze: «Ich verwandle mich jetzt» und erscheint als Fledermaus. Das Ganze nennen ich «Scratch goes Hollywood».

Cool! – Oder doch nicht?

Ruedi Arnold teilt uns in zwei Gruppen auf. In «Regionalausscheidungen» sollen die zwei besten Programme bestimmt werden. Ich staune über die kreativen Ideen. Teilweise bin ich auch echt überrascht, welch komplexe Mechanismen eingebaut wurden. Wir hatten sicher nicht alle besprochen. Unsere Gruppenbesten stehen fest: Eindeutig gewählt wurde «Arrow Fight». Im Spiel müssen zwei Pfeile versuchen, sich gegenseitig abzuschiessen. Schutz bietet nur ein Balken in der Mitte. Wer getroffen wird verliert. Das zweite Spiel heisst «Shark Bump». Zwei Oktopusse versuchen Haien auszuweichen. Sobald sie einen Hai berühren, verlieren sie Punkte. Wer zuerst keine Punkte mehr hat, verliert.

In der zweiten Gruppe stehen die Gewinner noch nicht fest. Ich bastle deshalb noch ein wenig an meiner Geschichte, als mir ein paar Teilnehmende über die Schulter schauen. «Wollt ihr es mal anschauen?», frage ich, worauf sie nicken. Also lasse ich es laufen. «Cool», sagt einer. Ich bin mir nicht ganz sicher, ob er es wirklich cool findet oder ob er das nur aus Anstand sagt. Das kann aber auch daran liegen, dass ich meine Geschichte nur ok finde und nicht wirklich toll.

Mittlerweile stehen auch die beiden anderen Gruppenbesten fest. Die vier Nominierten dürfen ihr Spiel vorstellen und live durchspielen. Das erste Spiel der anderen Gruppe heisst «Spaceship». Eine Rakete fährt auf einem Planeten hin- und her. Dabei muss sie innerhalb einer vorgegebenen Zeit möglichst viele Bälle einsammeln. Für jeden Ball gibt es Punkte. Das zweite Spiel heisst «Red vs. Blue». Zwei Punkte ziehen eine Linie hinter sich her und breiten sich so aus (ähnlich wie Snake). Wer die Linie des anderen berührt, verliert. Jetzt müssen wir wieder zwei Gewinner ermitteln. Diese dürfen sich morgen beim Duell mit der Gruppe von gestern messen. Die Entscheidung ist ziemlich eindeutig: Weiter sind «Arrow Fight» und «Red vs. Blue».

Fazit

Und wie geht es mir nach diesem Scratch-Workshop? Auch wenn ich kaum glauben kann, was ich jetzt sage: Ich hätte gerne weiterprogrammiert. Trotz anfänglicher Schwierigkeiten und gelegentlichen Frust-Momenten würde ich meine Geschichte gerne noch perfektionieren. Zum Glück gibt es bei Scratch ein Login, so kann ich das Zuhause noch machen. Und irgendwie sehe ich plötzlich Parallelen zwischen Programmieren und dem Bedienen eines CMS. Wenn man noch nie damit zu tun hatte, versteht man nur Bahnhof. Je mehr man sich aber damit auseinandersetzt, desto besser versteht man die Bausteine und wie diese kombiniert werden können, und desto mehr Spass hat man dabei.

Kommentare

1 Kommentare

Sanni

Sehr interessanter Beitrag zum Thema Content Management System und Programmieren. Der Scratch Workshop klingt interessant und es ist doch schön, wenn man dadurch allmählich den Zusammenhang zwischen dem programmieren und dem CMS erkennen kann. Ich freue mich auf weitere Beiträge, weiter so!

Antworten

Kommentar verfassen

Danke für Ihren Kommentar, wir prüfen dies gerne.

Pin It on Pinterest