Blockprogrammierung



Fürs Programmieren benutzt man Programmiersprachen, die sehr unterschiedlich sein können, es gibt jedoch Konzepte, die sich in den meisten Sprachen wiederholen. Die Blockprogrammierung geht noch einen Schritt weiter und abstrahiert im weiten Sinne davon, wie genau die Befehle geschrieben werden. Es sind fertige Codeschnipsel, eben Blöcke, die aneinander gesteckt werden und in eingeschränkten Umfang modifiziert werden können. Dabei werden die üblichen Befehle und Konzepte angewendet, wie Variablen definieren, Funktionen auslagern, Schleifen, mathematische Operationen, usw. Das heißt, das Kind lernt mit den blockbasierten Programmiersprachen die Grundlagen der Softwareentwicklung in einer reduzierten, vereinfachten, weitgehend grafischen Form. Es ist bunt, es ist ansprechend, es geht schnell. Man muss sich die Befehle nicht wortgenau merken oder schreiben können. Man legt einfach los und sieht schnell Effekte. Perfekt für den Anfang schon mit 6-8 Jahren, aber auch für Erwachsene, die etwas Neues ausprobieren wollen.
Wenn man mal 2 irgendwelche Apps mit Blockprogrammierung ausprobiert, sieht man sofort die Ähnlichkeiten und findet sich meistens schnell zurecht. Das ist natürlich auch ein großer Vorteil. Es sind aber immer unterschiedliche Befehle, je nachdem was für denjenigen Roboter oder die App Sinn macht. Am einfachsten sieht man das an konkreten Beispielen. Ein paar habe ich mal kurz für euch zusammen geklickt. So sieht es aus in Blockly App von Dash (im Blog findet ihe mehr über den Dash Roboter hier). Dash hat mehrere Knöpfe und LEDs, die man in dem Code ansteuern kann. Er kann auch Sprechen. Hier geht er über die Straße. Die Programmierumgebung ist super einfach zu benutzen, hat aber selbstverständlich auch viele Limits. Beispielweise muss eine Variable immer eine Obstsorte sein und ihr kann keine Farbe zugewiesen werden. Die Verwendung der Variablen ist eingeschränkt. Eigentlich wollte ich eine Ampel haben, stattdessen musste ich eine Wassermelone nehmen.

Bei Sphero (im Blog findet ihe mehr über den Sphero Lernroboter hier) gibt es viel mehr unterschiedliche Blöcke und Möglichkeiten, dafür dauert es möglicherweise länger bis man etwas halbwegs Sinnvolles zusammen bekommt.

ScratchJr (im Blog findet ihe mehr über die ScratchJr App hier) vereinfacht die Blöcke noch mehr, damit Kinder ohne Lesekompetenzen zurecht kommen. Hier hüpft die Katze vor Freude aufs Surfen und geht danach auf dem zweiten Screen unter.

Wie es schon aus den Beispielen bestimmt ersichtlich ist, kann die Umsetzung der Blockprogrammierung schon sehr unterschiedlich schwer / benutzerfreundlich / umfangreich / hübsch ausfallen. Daher wäre es gut die Programmierung kurz vorm möglichen Kauf auszutesten. Meistens kann man die Apps schon ohne Roboter ausprobieren. Es gibt auch viele Video-Einführungen in alle möglichen Blocksprachen.
Für die, die etwas mehr wissen wollen: Viele von den erwähnten Apps benutzen Blockly, eine JavaScript-Bibliothek von Google. Damit kann dann eine (wie in der App von Dash) grafische Programmierumgebung geschaffen werden, in der Blockbefehle dargestellt werden. Die Bibliothek kann die Befehle aus der Blocken-Form in eine gewählte Programmiersprache übersetzen und somit von Maschinen ausführbar machen. Blockly kann man hier ausprobieren https://developers.google.com/blockly?hl=de unter Tutorials schauen.