Scratch: (K)eine geeignete Programmiersprache für die Allgemeinbildung?

Zugegebenermassen ein Streit unter Experten - aber die Frage, welche Programmiersprache sich denn für die Schule eignet, bewegt die Gemüter seit Jahren. Während Aussenstehende erst die Frage geklärt haben möchten, ob Programmieren überhaupt zur Allgemeinbildung gehört (Biblionetz:f00114), ist dies für Informatik-Didaktiker klar.

Weniger klar ist dagegen, mit welcher Programmiersprache dies geschehen soll. In der Ausgabe 168 der Zeitschrift Login (Biblionetz:b04641) ist ein lesenswerter Artikel von Eckart Modrow, Jens Mönig und Kerstin Strecker erschienen, bei dem mir einzig der Titel missglückt zu sein scheint:

Eckart Modrow, Jens Mönig, Kerstin Strecker
Wozu Java? PDF-Dokument
Plädoyer für grafisches Programmieren
(Biblionetz:t13629)

Im Artikel argumentieren die AutorInnen, dass in Deutschland die Schülerinnen und Schüler meistens beim "Schreiben" der Programme die Motivation verlieren würden:

Sehen wir uns die schon mehrfach zitierte 80%-Ausstiegsquote im Informatikunterricht an, dann tritt die nur auf, wenn die Schülerinnen und Schüler „Programme schreiben“ müssen. Mit den anderen Themenbereichen des Informatikunterrichts gibt es meist keine Schwierigkeiten. Keine Schwierigkeiten gibt es in der Regel auch mit dem Finden eigener Ideen zur Lösung der (möglichst selbst) gestellten Probleme. Die treten erst „beim Schreiben“, also beim Kodieren auf. Der Zyklus „Lösungsidee > Formulierung der Idee > Test > Änderung der Lösungsidee > … wird durch Kodierungsprobleme unterbrochen. Die meisten Schülerinnen und Schüler bleiben beim Kodieren stecken, nicht beim (hier weiter gefassten) Programmieren. Brauchen wir aber überhaupt Code? Ist der Begriff „Programme schreiben“ nicht eigentlich überholt?

Der Artikel favorisiert dann grafische Programmiersprachen (Biblionetz:w02287), da diese keine Kodierungshürde aufweisen würden und verweist u.a. auf LabView als professionelle visuelle Programmiersprache, mit der unter anderem das südafrikanische Großteleskop SALT gesteuert werde.

Auch das Vorurteil, mit grafischen Programmierumgebungen wie Scratch (Biblionetz:w02030) könne man anspruchsvolle Konzepte der Informatik gar nicht vermitteln, versucht der Artikel zu widerlegen. Während sich Scratch durchaus eigne, um auch anspruchsvolle Konzepte der Physik zu modellieren (Bsp. Federpendel), sei insbesondere der Scratch-Ableger Build-your-own-Blocks (BYOB) (Biblionetz:w02279) so mächtig, dass sich auch ein universitärer Informatikgrundkurs allein mit dieser Programmiersprache umsetzen lasse, wie Berkeley mit der Informatikvorlesung CS10 im Rahmen des APCurriculums (AP Principles 2010) beweise.

Der Artikel versucht diese Mächtigkeit auch mit Beispielen aufzuzeigen, die mich durchaus ans Informatikstudium erinnern:

Das Beispiel illustriert kurz die weitergehenden Möglichkeiten des Systems, hier die „Lambdafizierung“ von BYOB-Strukturen, die es gestattet, diese wahlweise als Code oder Daten zu interpretieren.
Die BYOB-Listen lassen sich trivialerweise als Schlangen oder Stapel nutzen. Geschachtelte Listen bilden Bäume, Dictionaries, Graphen usw. Im Bereich der Datenstrukturen gib es hier keinerlei Beschränkungen.

Spätestens bei der Lambdafizierung wird niemand mehr von einer Kindergartensprache reden…

Der Artikel schliesst mit folgenden Fragen:

  1. Worin besteht der bildende Wert textbasierter Programmierung, also der Möglichkeit, Syntaxfehler machen zu können, wenn inhaltlich alle informatischen Konzepte, aber auch Standardanwendungsbereiche und –aufgaben mit BYOB als Werkzeug implementiert werden können? Ist die damit verbundene Frustrationsrate gerechtfertigt, hat Syntax ihren eigenen Wert?
  2. Ist der zu beobachtende Trend „weg von der Programmierung“ inhaltlich begründet oder ein Resultat der Probleme im Programmierunterricht? Soll er beibehalten oder vielleicht gestoppt, sogar wieder umgekehrt werden, wenn jetzt geeignetere Werkzeuge dafür zur Verfügung stehen? Um nicht missverstanden zu werden: Programmieren wird hier immer noch als Synonym für „selbstständiges produktorientiertes Problemlösen“ benutzt, nicht für „Kodieren“!
  3. Auf welcher Beschreibungsebene ist zu arbeiten? Algorithmen können natürlich als BYOB-Blöcke vorgegeben werden, bearbeitbar sind sie in dieser Form allerdings nur am Computer. Soll und kann auf „papiergeeignete“ Notationsformen umgestiegen werden, wenn Syntaxeigenheiten keine Rolle mehr spielen, korrekte Syntax in diesem Zusammenhang keinen eigenen Wert mehr hat?
  4. Ist Informatikunterricht nur realitätsnah, wenn echte Produktionssysteme wie Java, Python, … im Unterricht benutzt werden? Braucht der Informatikunterricht Ausbildungswerkzeuge ähnlich wie die Naturwissenschaften, die auch fast ausschließlich Gerätschaften benutzen, die man außerhalb der Schule kaum findet.

Der Artikel liefert für mich weitere Argumente zur Wahl von Scratch als Programmiersprache in der Schule. Weitere, im Artikel nicht genannte Argumente sind für mich:

  • Die Scratch-Umgebung erlaubt das Einbinden und Erstellen von eigenen Bildern und Tönen und eröffnet damit weitere - nicht von Anfang an algorithmische - Zugänge zum Thema Programmieren / Informatik.
  • Dieses Einbinden eigener Bilder, Töne & Fotos erhöht die Motivation von Schülerinnen und Schülern, die Programmierumgebung auch in ihrer Freizeit zu verwenden.
  • Mit der Einbindung von Sensoren und Aktoren des Robotiksets Lego-!WeDo werden die Schranken des Bildschirms und Computers gesprengt, Informatikprojekte reichen damit in die reale physische Welt hinaus, auch das ein Motivationsfaktor.
  • Während mit BYOB eine Erweiterung gegen oben zur Verfügung steht, bietet der App-Inventor (siehe auch Wikipedia) von Google für Android-Geräte eine Erweiterung in die reale Geräteprogrammierung, indem damit Adnroid-Geräte programmiert werden können. Ich stelle mir das sehr motivierend vor, wenn Kinder ihre eigenen Spiele und Gadgets für ihr Tablet oder ihr Mobiltelefon programmieren können…
  • Scratch ist kostenlos für Windows, Mac und Linux verfügbar und wird vom MIT aktiv weiter entwickelt.


 
Zum Kommentieren ist eine Registration notwendig.

Kategorien: IsaBlog, IsaScratch, IsaInformatik

Kontakt

  • Beat Döbeli Honegger
  • Plattenstrasse 80
  • CH-8032 Zürich
  • E-mail: beat@doebe.li