Wie bereits erwähnt, steht das Programmieren nicht im Zentrum der Computational Competencies (CC). Programmieren ist jedoch ein nützliches Werkzeug für den Aufbau dieser Kompetenzen. Unplugged-Aktivitäten wie Pixel Art oder das bereits erwähnte Sortieren auf dem Schulhausplatz sind ein hervorragender Einstieg in CC, stossen jedoch an Grenzen. Damit lassen sich zwar Konzepte veranschaulichen, aber keine eigenen digitalen Anwendungen erstellen, testen und weiterentwickeln.
Der logische nächste Schritt wäre das «richtige» Programmieren. Aber textbasierte Sprachen wie Python oder Java haben eine höhere Hürde: Wird beispielsweise ein Semikolon vergessen oder eine Einrückung falsch gesetzt, funktioniert nichts mehr. Für Lernende ohne Vorerfahrung ist das frustrierend, da sie sich dann mit der Syntax auseinandersetzen müssen, anstatt über die Inhalte nachzudenken und CC-Kompetenzen zu entwickeln.
Blockbasierte Programmiersprachen lösen dieses Problem elegant: Statt Code zu tippen, werden farbige Blöcke wie Puzzleteile zusammengesteckt. Die Blöcke passen nur zusammen, wenn sie syntaktisch korrekt sind. Syntaxfehler sind damit ausgeschlossen, und der Fokus liegt vollständig auf der Logik: Was soll passieren? In welcher Reihenfolge? Unter welcher Bedingung?

Bild: Screenshot der Scratch Plattform
Die Idee des blockbasierten Programmierens hat eine lange Geschichte. Bereits in den 1960er-Jahren entwickelte Seymour Papert am MIT die Programmiersprache Logo, mit der Kinder eine Schildkröte über den Bildschirm steuern konnten. Es war ein erster Versuch, Programmieren als Denkwerkzeug für alle zugänglich zu machen. Paperts Vision: Kinder sollten den Computer nicht nur bedienen, sondern ihm sagen, was er tun soll. Jahrzehnte später griff das MIT Media Lab diese Idee auf und entwickelte Scratch (2003): Eine blockbasierte Umgebung, die Paperts Philosophie mit einer modernen, visuellen Oberfläche verbindet. Heute ist Scratch mit über 100 Millionen geteilten Projekten eine weltweit vielgenutzte Programmierumgebung für Kinder, Jugendliche und Erwachsene.
In der Zwischenzeit haben sich auch viele andere blockbasierte Programmiersprachen entwickelt, wie z.B. Blockly oder Makecode. Sie sind auf unterschiedliche Zielgruppen und Systeme ausgerichtet, teilen aber die gleiche Grundidee, Programmieren durch Vereinfachungen zugänglicher zu machen.
Das Wichtigste in Kürze
Blockbasierte Programmiersprachen schlagen die Brücke zwischen Unplugged-Aktivitäten und «richtigem» Programmieren. Sie eliminieren Syntaxhürden und ermöglichen es, dass Lernende ihre kognitiven Ressourcen vollständig auf den Kern der entsprechenden Aktivitäten lenken.