Block oder Text - ist das die Frage?

Worum geht es?

Nach aktuellem Kenntnissstand haben blockbasierte Programmiersprachen gegenüber textuellen Programmiersprachen folgende Vorteile:
  • Biblionetz:a01273 Blockbasierte Sprachen verhindern Syntaxfehler (praktisch unwidersprochen)
  • Biblionetz:a01274 Blockbasierte Sprachen erleichtern den Einstieg ins Programmieren (wissenschaftlich noch nicht vollends geklärt)

Insbesondere auf der Sekundarstufe kommt aber häufiger Kritik an blockbasierten Programmiersprachen wie Scratch, weil es nicht der Vorstellung von ernsthafter Programmierung entspricht (Biblionetz:a01275):

«Scratch ist für Kinder, weil es wie Lego aussieht.»

Nicht verschwiegen werden soll, dass in einem reinen BYOB-Abiturkurs aber auch einige SchülerInnen unzufrieden mit der Auswahl der Sprache sind. Die Argumente, warum sie ungern mit BYOB arbeiten, sind eher emotionaler Natur, z.B. „Java ist näher an der Maschine“ oder „näher an der echten Informatik“ (vgl. dazu auch [Mo11b]). Interessanterweise schätzten diese SchülerInnen ein Java-Programm hoch ein, das zwar ein beeindruckendes Ergebnis lieferte, intern jedoch fast ausnahmslos aus dem Aufruf von Methoden verschiedener Java-Bibliotheken bestand und algorithmisch wenig anspruchsvoll war.

Von Kerstin Strecker im Konferenz-Band Informatik allgemeinbildend begreifen im Text Grafische Programmiersprachen im Abitur (2015) (Biblionetz:t19147)

Somit stellt sich die Frage, wie wir damit umgehen. Grundsätzlich gibt es folgende Massnahmen:

  • Ignorieren wink
  • Auf eine textbasierte Sprache wechseln
  • Zusätzlich eine textbasierte Sprache zeigen
  • Ein Werkzeug einsetzen, das sowohl textbasiert als auch blockbasiert programmieren kann

Blockbasiertes Programmieren für Nichtinformatiker an der Universität

Texteditor Tosh für Scratch-Programme

Eine Möglichkeit besteht darin, Schülerinnen und Schülern in einer Lektion mit dem textbasierten Scratch-Editor Tosh einmal das textuelle Programmieren erleben und mit dem blockbasierten Programmieren vergleichen zu lassen. Stefan Huber von der Projektschule Sek eins höfe hat das erprobt:

Die Lernziele einer solchen Unterrichtseinheit könnten sein: Lernziele
  • Text- und blockbasiertes Programmieren miteinander vergleichen
  • Vor- und Nachteile von Tastatur- und Drag&Drop-Bedienung erkennen
  • Blockbefehle in Textbefehle umsetzen und deren Aufbau verstehen
  • Unterschiede in der Hierarchisierung & Zuordnung bei Bedingungen & Schleifen beschreiben
  • Verstehen, dass die Form einer Programmiersprache keine Aussage über ihre Mächtigkeit / Komplexität zulässt

  textbasiert blockbasiert
URL https://tosh.blob.codes/app https://scratch.mit.edu/
BILD text.jpg blocks.jpg
PROGRAMMIERSPRACHE Scratch
DARSTELLUNG Text in verschiedenen Farben Blöcke in verschiedenen Farben & Formen
BEDIENUNG Primär Tastatur Primär Maus
ÜBERSICHT Schwierig Einfach
AUFBAU
  • Befehls(teile) müssen durch Einrückungen manuell einander zugeordnet werden
  • Bei jedem Befehl/jeder Schlaufe muss dem Computer mit «end» gezeigt werden, wo er endet
  • Drag & Drop von Befehlen, Automatisches Anhaften / Zuordnen
  • Durch die Klammern der Befehle/Schlaufen ist das Ende automatisch definiert.
EFFIZIENZ
  • AnfängerInnen haben sehr lange Befehle/Befehlsketten zu schreiben,
  • Fortgeschrittene arbeiten mit Tastatur effizienter, als mit Maus.
  • AnfängerInnen sind durch Drag und Drop sehr effizient.
  • Die Wege mit der Maus kosten jedoch Zeit
FEHLERTOLERANZ
  • Fehler passieren sehr schnell
  • Fehler werden kaum toleriert
  • Sehr sauberes Arbeiten nötig
  • Weniger Fehler durch vorgegebene Struktur
  • Teilweise automatische Fehlerkorrektur
KOMPLEXITÄT Genau gleich! Beides ist Scratch!

Fazit von Stefan Huber: Primäre Erkenntnis: Die Lernenden haben tatsächlich zuerst das Gefühl, dass sie jetzt wie echte Profis programmieren ("Geil endlich!"), nach etwa einer Stunde kommt dann die Ernüchterung: Es ist einfach viel schwieriger, mit denselben Möglichkeiten wie bei Scratch. Mit etwas Übung kann man mit reiner Tastaturbedienung jedoch tatsächlich schneller Programmieren als mit Drag&Drop.

Kritische Anmerkung von Beat Döbeli Honegger: Wer so schnell programmiert, macht was falsch. Meist sollte das Denken und Planen massiv mehr Zeit benötigen als das tatsächliche Coden wink

Kontakt
Pädagogische Hochschule Schwyz
Zaystrasse 42
CH-6410 Goldau
T +41 41 859 05 90
info@phsz.ch Dies ist ein Wiki des Fachkerns Medien und Informatik der Pädagogischen Hochschule Schwyz. Für Fragen wenden Sie sich bitte an wikiadmin@phsz.ch