"Mehrfach-Belastung" von Programmieranfängern - bietet Lernsoftware einen Ausweg ? |
Beim Einstieg in eine "richtige" Programmiersprache wie C++ oder JAVA muss sich der Programmieranfänger gleichzeitig das Verständnis für die Grundprinzipien des Programmierens (Variablen, Kontrollstrukturen etc.), die Bedienung einer komplexen Entwicklungsumgebung und die Syntax der Programmiersprache aneignen. Durch den Einsatz von entsprechender Lernsoftware (zum Beispiel Scratch oder Ceebot) kann man diese Gleichzeitigkeit auflösen, wodurch sich die Einstiegsprobleme wesentlich reduzieren lassen.
Das Problem der "Mehrfach-Belastung"
Beim Erlernen einer "klassischen" Programmiersprache wie C / C# / C++ oder JAVA kommen ist ein Programmieranfänger gleichzeitig mit drei unterschiedlichen Anforderungen konfrontiert:
-
Bedienung der Entwicklungsumgebung (IDE)
Professionelle Entwicklungsumgebungen sind für Programmieranfänger unnötig komplex, da sie die meisten angebotenen Optionen gar nicht nutzen können. Die Vielfalt wirkt lediglich verwirrend und kann sehr schnell das Gefühl der Überforderung verursachen. Die für einen Programmieranfänger häufig unverständlichen Fehlermeldungen tragen durchaus auch zu dieser Verwirrung bei.
-
Erlernen der sprachspezifischen Syntax
-
Erfassen der Grundkonzepte einer Programmiersprache
Das Konzept von einer Variable als Speicherplatz und das grundlegende Verständnis von Schleifen und Verzweigungen sind für die aktive Beherrschung einer Programmiersprache unabdingbar. Damit ist dieser Punkt sicherlich der wichtigste, allerdings für viele SchülerInnen der Sekundarstufe II auch der schwierigste.
Gerade zu Beginn der Sekundarstufe II (9./10. Schulstufe, Alter der SchülerInnen ca. 15-16 Jahre) verursacht diese Mehrfachbelastung bereits am Anfang des Programmierunterrichts bei vielen SchülerInnen das Gefühl der Überforderung und in weiterer Folge Frustration und Abneigung gegen das Programmieren.
Ein Lösungsansatz: Der Einsatz von Lernsoftware
Durch den Einsatz geeigneter Lernsoftware kann man vermeiden, dass die SchülerInnen mit den oben genannten Anforderungen zugleich konfrontiert werden. In einer "Maximalvariante" lassen sich die oben erwähnten drei Anforderungen zeitlich vollständig getrennt behandeln:
-
In einem ersten Schritt bietet sich das graphische bzw. "Drag-and-Drop"-Programmieren (zum Beispiel mit Scratch oder Alice) zur Vermittlung des konzeptionelles Verständnisses an. Auf dieser Stufe lässt sich der "Ballast" einer komplizierten Syntax oder einer komplexen Entwicklungsumgebung praktisch vollständig ausschalten.
-
Erst wenn das konzeptionelle Verständnis für ein bestimmtes Element der jeweiligen Programmiersprache (zum Beispiel: Bedingte Schleifen) prinzipiell vorhanden ist, werden die SchülerInnen mit der entsprechenden Syntax konfrontiert. Hier bietet sich Lernsoftware wie Ceebot oder der JAVA-Hamster an, bei der die Programmierung eines Roboters oder eines sonstigen aktionsfähigen Objekts zwar in einer "richtigen" Programmiersprache erfolgt, aber mit einer für den Programmieranfänger adäquaten "Entwicklungsumgebung". Die Veranschaulichung zeitlicher Programmabläufe durch die Aktionen des programmierten Objekts fördert weiter das konzeptionelle Verständnis und unterstützt den Prozeß der Fehlersuche im Programmcode ("Debugging").
-
Wenn für ein bestimmtes Element einer Programmiersprache sowohl Funktion als auch Syntax weitgehend vermittelt wurden, erfolgt in einem dritten Schritt der Umstieg auf eine professionelle Entwicklungsumgebung.
Bemerkungen zum Einsatz in der Praxis
-
Ob in der Unterrichtspraxis tatsächlich diese "Maximal-Trennung" der erwähnten drei Anforderungen zum Einsatz kommt, wird wesentlich von der unterrichteten Gruppe abhängen. Denkbar ist beispielsweise eine individuelle Differenzierung in Form von zusätzlichen "Drag-and-Drop"-Programmierübungen (auch als Hausübung) für SchülerInnen mit Verständnisproblemen, während sich leistungsstärkere SchülerInnen bereits mit der Umsetzung von Programmen in der jeweiligen Sprachsyntax beschäftigen. Eine derartige Differenzierung des Unterrichts wird wohl erst durch die Verwendung von Arbeitsblättern oder sonstigen Unterlagen ermöglicht, die den SchülerInnen ein weitestgehend selbständiges Arbeiten erlaubt.
-
Nachdem einige Zeit mit entsprechender Lernsoftware gearbeitet wurde, bietet sich je nach Einschätzung der Lehrperson die Option an, abwechselnd zur Lernsoftware auch eine professionelle Entwicklungsumgebung zu verwenden. Dabei kann jeweils ein bestimmtes Konzept (zum Beispiel: Bedingte Schleifen) zuerst in der Lernsoftware eingeführt und gefestigt werden, bevor entsprechende Programmieraufgaben in der professionellen Entwicklungsumgebung behandelt werden.
|
Last Updated ( Wednesday, 05 March 2008 )
|
No Comments.