In dem Workshop wurde die visuelle Programmiersprache Puck www.uni-jena.de/puck.html vorgestellt.
Puck ist eine visuelle Programmierumgebung, die es gestattet einfache imperativer Programme aus ca. 16 grafischen Modulen aufzubauen. Puck eignet sich besonders für den Einführungsunterricht zur imperativen Programmierung in der Unterstufe, beherrscht aber auch Prozeduraufrufe mit Parametern und Rekursion. Den Teilnehmern wurde das Papier »Mit Puck einfach Programmieren lernen – Eine Einführung mit fünf Beispielen« zur Verfügung gestellt. Auf der Puck-Webseite www.uni-jena.de/puck.html finden sich weitere Materialien, Veröffentlichungen, Hilfen und eine ausgearbeitete Unterrichtsreihe zu Puck.
In der nachfolgenden Grafik erkennt man die drei Bereiche des Puck-Interface: links die Bausteinauswahl (momentan sind vier Bausteine aktiviert), in der Mitte das grafische Programm und links die Eigenschaften des gerade ausgewählten Elements:
Puck stellt folgende Bausteine bereit:
Der Workshop war ein echter und deshalb echt guter Workshop. Jede Teilnehmerin und jeder Teilnehmer musste(!) im Plenum kleine Aufgaben mit Puck vorführen. Dabei haben alle Teilnehmer schnell am eigenen Leib die motivierende, zum experimentieren anregende Wirkung des direkten Feedbacks der grafischen Programmierung erlebt. Ich würde Puck verwenden, um Schülerinnen und Schüler erste Erfahrungen mit Kontrollstrukturen sammeln zu lassen.
Aus meiner Sicht empfiehlt sich der Einsatz von Puck besonders zur Einführung von Kontrollstrukturen, des Variablenkonzeptes und Prozeduren mit Parametern, wobei die Möglichkeit zur Quellcodegenerierung (s.o.) aus grafischen Puck Programmen den Übergang von Puck zur quellcodebasierten Programmierung sehr gut unterstützt. Man kann Puck sowohl in einer längeren, ausführlicheren Unterrichtsreihe in den Jahrgängen 7/8 oder in einer sehr kurzen Reihe in den Jahrgängen 9/10 für den schnellen, syntaxunabhängigen Zugang zur Einführung imperativer Programmstrukturen einsetzten. Der Vorteil liegt in beiden Fällen darin, dass sich die Schülerinnen und Schüler zunächst auf das Wesentliche an den Inhalten konzentrieren und schnelle Erfolgserlebnisse haben können, ohne dabei durch die Tücken der Codegenerierung behindert zu werden. Diese können später angegangen werden, wenn die Schülerinnen und Schüler z.B. schon wissen, welche Kontrollstrukturen es gibt, wie diese funktionieren und wozu man sie einsetzen kann.