Die Frage, ob und wann und mit welchen Konzepten und Inhalten ein #PflichtfachInformatik eingeführt werden sollte, ist höchst umstritten. Ich rechne damit jedenfalls in absehbarer Zukunft nicht. Umso mehr hat mich interessiert, welche Bücher es denn gibt, um Kinder und Jugendliche an das Programmieren und mehr – im Sinne von informatischem Denken (CT: Computational Thinking) – heran zu führen.
Für diese Zielsetzung wird als Programmiersprache der Wahl sehr oft Scratch genannt. Scratch ist eine visuelle Programmierumgebung in der Tradition von Logo, konzipiert und entwickelt am MIT Media Lab unter der Leitung von Mitchel Resnick. Neben einer niedrigschwelligen grafischen Benutzerobefläche bietet Scratch Programmierkonzepte zur Vermittlung der Grundlagen des CT, also der Fähigkeit, Problemstellungen für die Lösung mit Hilfe des Computers aufzubereiten, u.a. mit Iteration, bedingten Anweisungen, Variablen und Listen, Prozeduren, Rekursion, Parallelverarbeitung.
Ein wichtiger Aspekt von Scratch ist die Online-Community, die dazu entstanden ist. Kollaboratives Arbeiten, das Remixen von Code-Beispielen und das Teilen der eigenen Arbeit mit anderen wird ausdrücklich unterstützt. Auf der Scratch-Website wurden entsprechend bisher von über 12 Millionen Nutzern über 15 Millionen Projekte geteilt. Diese Website ist auch ein guter Einstieg, wenn Sie Online-Tutorials in Scratch suchen. Außerdem gibt es dort zahllose themenorientierte Beispielsammlungen (z.B. zu Fraktalen, Simulationen u.a.m.). Ein guter Zugang ist auch das (deutschsprachige) Scratch-Wiki. Wenig verwunderlich, dass es inzwischen etliche Bücher dazu gibt, auch deutschsprachige. Was bieten diese?
Seit kurzem liegt bei meinem Tübinger Buchhändler Erste Schritte mit Scratch für Dummies Junior von Derek Breen gleich stapelweise zum Verkauf. Bunt aufgemacht, nach meinem Geschmack mit einem etwas arg anbiedernden jugendlichen Sprachstil, wird vor allem gezeigt, wie Elemente für einfache Spielkomponenten gezeichnet und animiert werden können. Eigentlich werden nur Iteration und bedingte Anweisungen (ohne wirkliche Erklärung) eingeführt, ansonsten bleibt es beim sehr kleinschrittigen Nachvollzug („klicke dies“, „klicke das“) vorgegebener Beispiele.
Von Christian Immler, einem altgedienten Computerbuch-Autor gibt es Der kleine Hacker: Programmieren für Einsteiger. Mit Scratch schnell und effektiv programmieren lernen. Auch Immler konzentriert sich auf das Entwickeln von Spielen (im Schlusskapitel gibt es noch kurz Scratch auf dem Raspberry Pi) anhand von Schritt-für-Schritt-Anleitungen. Programmierelemente, z.B. Wiederhole-Anweisung oder falls-Abfrage werden ganz nebenbei eingeführt. Das Ausprobieren der Wirkung soll wohl reichen, um das Prinzip dahinter zu verstehen. Auf dem hinteren Buchdeckel steht aber Informatikdenken lernen. Ich habe da meine Zweifel. Aber ich bin auch nicht Adressat; mich schreckt schon das unruhige, mit sinnlosen Hintergrundgrafiken überladene Layout ab (das der Franzis-Verlag übrigens oft in seinen neueren Büchern verwendet).
Das gleiche Prinzip gilt in Spiele programmieren supereasy: Acht Spiele werden anhand von Illustrationen und Schritt-für-Schritt-Anleitungen vorgestellt. So sollen ganz nebenbei das logische Denken und die Problemlösungsfähigkeiten trainiert werden. Naja.
Bei Faszinierende Elektronik-Projekte mit Scratch, Raspberry Pi und Arduino von Erik Bartmann stehen – wie der Titel schon andeutet – der Nachbau elektronischer Projekte im Mittelpunkt. Die sind unterschiedlich anspruchsvoll und benötigen meist zusätzliches Material. Scratch wird eher beiläufig eingeführt. Mir ist das Buch zu wenig systematisch aufgebaut; es erfordert reichlich Durchhaltevermögen.
Deutlich ernsthafter gehen schulorientierte Unterlagen den Programmiereinstieg mit Scratch an. Bei Programmieren mit Scratch von Jürgen Ullwer geht es um Objekte, Methoden, Variablen und Kontrollstrukturen. Statt klicke hier – schiebe da werden Grundlagen besprochen und am konkreten (Spiel) Beispiel praktisch umgesetzt.
Einen sehr speziellen Zugang bietet Informatik konkret: 28 Anwendungsbeispiele. Lehrplanthemen erarbeiten – in Scratch programmieren – auf medizinische Kontexte anwenden von Kerstin Strecker. Hier werden anhand fachlich motivierter Anwendungsbeispiele u.a. Algorithmik, Datenformaten, Codierung und Modellierung behandelt. Ich finde diesen Ansatz sehr sympathisch und zielführend.
Zwischenfazit: Mir gefallen die beiden didaktisch geprägten Bücher von Ullwer bzw. Strecker am besten. Deren Adressaten sind aber eher Lehrer und Eltern und nicht die Jugendlichen selbst. Die anderen genannten Büchern setzen alle auf Spieleentwicklung als motivierenden Faktor – als ob digitale Medien zu nichts anderem zu gebrauchen sind. Poppiges Layout und als jugendgerecht empfundene Sprache passen da ins Bild.
Spieleprogrammierung ist auch Hauptthema bei etlichen englischsprachigen Büchern über Scratch, die sich häufig eben auch wieder auf Schritt-für-Schritt-Anleitungen ohne weiter gehende Erklärungen beschränken. Aber immerhin gibt es welche, die die konzeptuellen Erläuterungen bieten. So bei Super Scratch Programming Adventure! vom LEAD Project, Scratch Programming in Easy Steps von Sean McManus (immerhin mit konzeptuellen Erläuterungen neben den Schritt-für-Schritt-Anleitungen), Scratch 2.0 Programming for Teens von Jerry Lee Ford und weiteren Büchern.
Das Buch von Michal Armoni & Moti Ben-Ari Computer Science Concepts in Scratch verdeutlicht den Anspruch schon im Titel (das Buch gibt es zum kostenlosen Download). Das Buch ist eine Sammlung von Aufgaben, wofür in jedem Kapitel ein neues Konzept eingeführt wird, das benötigt wird, um eine bestimmte Aufgabe zu lösen. Ein konsequent durchgezogener Ansatz! Majed Marji verfolgt mit Learn to Program with Scratch – A Visual Introduction to Programming with Games, Art, Science, and Math einen ganz ähnlichen Ansatz.
Nachklapp: Die Bücher über Scratch habe ich eigentlich deshalb gesichtet, weil ich zu Snap!, der Programmierumgebung meiner Wahl, bisher keine gefunden habe. Mich haben die Vermittlungskonzepte interessiert, weil ich selber an einem Buch zum Recoden und Remixen von Computerkunst mit Snap! arbeite. Dabei adressiere ich allerdings weniger Jugendliche, sondern Interessierte an Kunst und Codieren. Es wird also um das Problemlösen mit dem Computer in einem spezifischen Anwendungsbereich gehen. Wer Beispiele für ähnlich fachbezogene Ansätze kennt, bitte bei mir melden. Und auch alle, die weitere Materialien zu Scratch bzw. Snap! kennen!