Blockmodell
Im Kontext der Fachdidaktik der Informatik besteht eine Differenz zwischen Theorie und Praxis. Ein Ansatz, um diese bestehende Problematik zu eliminieren, besteht darin, die Theorie für den Informatikunterricht zugänglicher zu machen und praxisgerecht aufzuarbeiten. Darauf abzielend wurde das Blockmodell entwickelt. Dabei handelt es sich um ein fachdidaktisches Werkzeug, welches mit möglichst geringer Komplexität dabei unterstützt, Lern- und Lehrprozesse beim Erwerben von Programmierkompetenzen zu analysieren, Lernstände zu identifizieren sowie passende didaktische Konzepte zu entwerfen.
Ein Anwendungsbereich des Blockmodells ist die Kompetenz des Lesens im Informatikunterricht. Lesen ist zum einen ein zentraler, wenn auch impliziter, Bestandteil beim Schreiben, Analysieren, Testen und Verändern oder Erweitern von Programmen. Zum anderen bildet Lesen die Basis für das Verstehen von Programmen. Dennoch finden sich in der informatikdidaktischen Literatur kaum detailliertere Erläuterungen zum Lesen und Verstehen von Programmen. Informationen zu Themen wie Lernhürden, Unterrichtsmethoden oder Übungen fehlen bislang. Das didaktische Blockmodell bildet einen Ansatz, die vorliegende Forschungslücke zu schließen. Das Blockmodell befindet sich in ständiger Revision und Weiterentwicklung, weshalb zum aktuellen Zeitpunkt bereits mehrere Versionen des Modells existieren.
Konzept Blockmodell
Textbasis und Situationsmodell / Schritte des Programmverstehens: Verstehen, Verstehensprozess
Wie oben bereits erwähnt, bildet Lesen die Basis für das Verstehen. Das Verstehen wird von Schulte als ein Prozess aufgefasst, “in welchem dem vorliegenden Programmtext Bedeutung zugewiesen wird” (Schulte, 2007). Verstehen bedeutet somit nicht nur, die einzelnen Programmschritte erklären zu können, sondern davon gelöst auch die dahinterstehenden Ideen und Ziele benennen zu können. Um den Prozess des Verstehens beim Lesen im Informatikunterricht besser erklären zu können, greift Schulte auf das folgende Textbasis und Situationsmodell zurück.
Das Verstehende Lesen von Programmtextes beinhaltet folglich zuerst das Verstehen der Programmschritte, sodann das Verstehen des allgemeinen dahinterstehenden Ablaufs und darauf aufbauend darüberhinausgehende Schlussfolgerungen und die Entwickelung “eines generellen Verständnisses der algorithmischen Idee und der Ziele bzw. Zwecke des Texts.” (Schulte, 2007).
Der Prozess des Verstehens von Programmtexten lässt sich jedoch nicht nur hinsichtlich der Abstraktion des Gelesenen aufteilen. Auch der Umfang vom Verstehen eines Programmschrittes bis zum Verstehen des ganzen Programmes lässt sich in folgende vier Schritte bzw. Ebenen einteilen. Zunächst wird auf Konstrukt-Ebene die Bedeutung der einzelnen Konstrukte gebildet, Ziele sind noch nicht erkennbar. Diese Ebene wird in einer weiterentwickelten Version des Modells auch Atomebene genannt. Der Fokus liegt auf einem konkreten Schlüsselwort, einem sogenannten Atom. Auf der darauffolgenden Block-Ebene werden die einzelnen Blöcke (in sich geschlossene Abschnitte), inklusive deren Ziele, verstanden. In der Zusammenhangs-Ebene liegt der Fokus auf den Beziehungen zwischen den Blöcken. Diese Ebene wird auch Relationsebene genannte. Fokussiert wird hier die Verknüpfung der einzelnen Teile. Erst auf der Makro-Ebene wird das gesamte gelesene Programm verstanden.
Programmlesemodell / Blockmodell
Das Textbasis und Situationsmodell und die Schritte des Programmverstehens wurden zu folgendem Programmlesemodell zusammengeführt:
Dieses wurde anschließend zu folgendem Blockmodell weiterentwickelt, um eine geringere Komplexität und besseres Verstehen des Modells zu gewährleisten. Die Konstruktebene wurde hierbei zur Atomebene und die Zusammenhangsebene zur Relationsebene umbenannt.
“Das Blockmodell umfasst die […] Dimensionen Textoberfläche, Programmausführung und Funktion. Diese drei Dimensionen werden in den Spalten der Tabelle verortet und können sich auf unterschiedliche Teile des Programmtexts beziehen – dargestellt in den Zeilen: Auf ein einzelnes Schlüsselwort, ein so genanntes Atom, auf einen in sich geschlossenen Abschnitt, den sogenannten Block oder auf die Verknüpfungen der einzelnen Teile, die Relationen, sowie schließlich sogar auf den gesamten Text, die Makroebene.” (Busjahn und Schulte, 2011) Mit jeder höheren Ebene steigt das Verstehen des Verfahrens. Parallel dazu steigt auch das Verstehen des Zieles. “Bezüglich der Kompetenzentwicklung wird angenommen, dass sich die Verstehens-Kompetenz der Lernenden von unten nach oben entwickelt, dass also die unteren Ebenen schneller automatisiert verarbeitet werden als die oberen.” In dem Zusammenhang ist zu beachten, dass das Blockmodell keine Kompetenzstufen beschreibt, sondern nur die Stufen bzw. Ebenen des Verstehens innerhalb des Verstehensprozesses beim Lesen eines Programmtexts.
Anwendung des Blockmodells
Das Blockmodell kann vielseitig angewendet werden. Auf zwei Anwendungsgebiete, für die sich das Blockmodell besonders eignet, soll hier näher eingegangen werden.
Analyse von Leseaufgaben für den Informatikunterricht
Das Blockmodell eignet sich hervorragend, um für den Informatikunterricht entwickelte Leseaufgaben auf deren didaktische Eignung hin zu untersuchen und zu analysieren. Schulte hat in seinem Artikel “Lesen im Informatikunterricht” (2007) exemplarisch einige Aufgabentypen mit dem Blockmodell analysiert. Bei dem Aufgabentyp “Lesepuzzle”, bei dem die einzelnen Zeilen und Abschnitte eines Quelltextes von der Klasse zusammengepuzzelt werden, konnte er mit Hilfe des Blockmodells zeigen, dass bei dieser Aufgabe trotz richtigem Ergebnis kein Gesamtverständnis aufgebaut wird. Somit ist diese Aufgabe didaktisch nicht für den Informatikunterricht geeignet. Der Aufgabentyp “Finde den Fehler”, bei dem zwei Gruppen gegeneinander antreten und möglichst die meisten syntaktischen und semantischen Fehler in einem Programm finden und benennen müssen, schnitt bei einer Analyse durch das Blockmodell wesentlich besser ab. Es konnte gezeigt werden, dass sich die syntaktischen Fehler auf die unterste Ebene beziehen, während die semantischen Fehler die dritte und vierte Ebene abdecken. “Die Erklärungen unterstützten zudem die Verbindung von Textbasis und Situationsmodell.” (Schulte, 2007)
Entwicklung von Aufgaben für den Informatikunterricht
Zur Entwicklung von Aufgaben für den Informatikunterricht eignet sich die auf dem Blockmodell basierende Blockanalyse. Busjahn und Schulte beschreiben die Blockanalyse als ein Vorgehen, “bei der ein Quelltext zunächst in Blöcke eingeteilt wird, welche dann mit Hilfe der Dimensionen Textoberfläche, Ausführung und Funktion genauer analysiert werden. Schließlich werden die Verbindungen zwischen den einzelnen Blöcken sowie weitere Ideen notiert”. Die Blockanalyse hilft dabei der Lehrkraft vor allem, “sich selbst die eigentlich ‘klaren’ und unbewusst durchlaufenen Verstehensschritte deutlich zu machen und präzise zu beschreiben.” (Busjahn und Schulte, 2011) Aus diesen ausdifferenzierten Verstehensschritten lassen sich nun die verschiedensten Aufgabentypen und -stellungen ableiten (siehe Unterrichtsmaterialien).
Unterrichtsmaterialien
Das Blockmodell mit seinen unterschiedlichen Ebenen des Programmverstehens bietet Potential für eine Vielzahl an Unterrichtsaufgaben, die verschiedene Lernbereiche ansprechen und Kompetenzen entwickeln. Aufgabentypen, die sich aus dem Modell ableiten lassen, sind zum Beispiel Multiple-Choice-Aufgaben, Wahr-Falsch-Fragen oder Lückentexte. Ein Beispiel dafür ist die Anordung eines Quelltextes in der richtigen Reihenfolge, um Funktionen zu erfüllen. Dabei werden die Ebenen des Blockmodells gut erkennbar. Es müssen zunächst die einzelnen Konstrukte/ Atome erkannt werden, bevor über die Block- und Zusammenhangsebene schlussendlich die Aufgabe auf Makroebene erreicht wird.
Referenzen
- Busjahn, T., & Schulte, C. (2011). Vom Quelltext zur Unterrichtsgestaltung. In M. Weigend, M. Thomas, & F. Otte (Hrsg.), Informatik mit Kopf, Herz und Hand: Praxisbeiträge zur INFOS 2011 (S. 215–224). ZfL-Verlag.
- Schulte (2007): Lesen im Informatikunterricht. INFOS 2007. Bonn: Gesellschaft für Informatik