Verwenden von Blöcken, um Neulingen jeden Alters das Codieren beizubringen
Die Verwendung von blockbasierten Codierungsumgebungen wie VEXcode ist ein effektiver Weg, um Anfängern von Programmierern jeden Alters Informatikbeizubringen. Obwohl viele Menschen blockbasierte Programmierung nur für junge Schüler oder informelle Lernumgebungen für geeignet halten, unterstützt blockbasiertes Codieren tatsächlich Schüler jeden Alters beim Codierenlernen.
Auf der vex Educators Conference 2023 gab Dr. David Weintrop in seinem Vortrag „Computer Science Research in K-12 Classrooms“2 einen Überblick über seine Forschung zur Unterstützung der Verwendung von blockbasierter Codierung für beginnende Informatikstudenten. Dr. Weintrops Arbeit zeigt, wie blockbasierte Codierung ein leistungsfähiges Werkzeug für den Unterricht von Informatikanfängern ist, da sie die kognitiven Belastungen der Schüler senkt, das Engagement und die Motivation erhöht und das konzeptionelle Verständnis der Schüler für Informatikkonzepte fördert.
In seinem Vortrag beschrieb Dr. Weintrop eine Studie, in der er mit Schülern arbeitete, die einen Einführungskurs in Informatik an einer großen, städtischen öffentlichen High School belegten. Die Schüler in drei verschiedenen Abschnitten derselben Klasse kamen mit dem gleichen minimalen Vorwissen herein und wurden mit dem gleichen Lehrplan, vom gleichen Lehrer und unter Verwendung der gleichen Codierungsumgebung unterrichtet. Der einzige Unterschied bestand darin, dass jede Gruppe eine andere Codierungsmethode verwendete - textbasiert, blockbasiert oder eine Mischung aus beidem. Nach Abschluss des fünfwöchigen Lehrplans erzielten die Schüler, die mit blockbasierter Codierung lernten, eine statistisch höhere Punktzahl als die Schüler in den anderen Gruppen.
Geringere kognitive Belastung für Anfänger
Ein Grund dafür, dass blockbasierte Codierung mit Anfangscodierern so effektiv ist, ist, dass sie die kognitive Belastung senkt und es ihnen ermöglicht, sich auf die Informatikkonzepte zu konzentrieren, die Lehrer verinnerlichen möchten. Wenn die Schüler lernen, mit Text zu programmieren, müssen sie sich auf eine Vielzahl von Syntaxdetails konzentrieren, nur um die einfachsten Befehle korrekt auszuführen. Dies wird durch das folgende Bild eines sehr einfachen VEXcode VR Python-Projekts veranschaulicht, bei dem ein Roboter 200 Millimeter vorwärts fährt und dann rechts abbiegt. Allein in diesem einfachen Projekt müssen die Schüler sicher sein, dass Klammern, Doppelpunkte und Unterstriche an der richtigen Stelle sind, dass die Parameter in der richtigen Reihenfolge eingegeben werden, dass alle Einrückungen korrekt sind und dass es keine Rechtschreibfehler gibt! Ein Fehler mit einem dieser Details würde dazu führen, dass das Projekt nicht ausgeführt wird.
Durch die Codierung mit Blöcken entfällt hingegen die Notwendigkeit, sich von Anfang an auf solche Details zu konzentrieren. Bei Blöcken wählen die Schüler aus einer Toolbox mit Befehlsoptionen, anstatt Befehle aus dem Speicher abzurufen und perfekt einzugeben. Blöcke sind leicht zu lesen – sie ähneln eher der gesprochenen Sprache und können von links nach rechts, von oben nach unten gelesen werden. Die Blöcke sind so gestapelt, dass sich die Schüler keine Gedanken über Einrückungen machen müssen und wissen, dass das Projekt wie beabsichtigt abläuft.
Das folgende Bild zeigt ein Projekt, bei dem sich der Roboter genau wie das Python-Projekt oben verhält, aber ein unerfahrener Programmierer kann leicht Blöcke herausziehen, sie zusammenstapeln, Parameter nach Bedarf ändern und sich darauf konzentrieren, die involvierte Sequenzierung zu verstehen.
In seinem Vortrag beschrieb Dr. Weintrop eine weitere Studie, in der er Studenten untersuchte, die AP Computer Science Principles-Kurse belegen, um zu sehen, ob die Verwendung von blockbasiertem Unterricht und Bewertung ihre Leistung bei der AP-Prüfung3 beeinflusste. Er stellte fest, dass alle Schüler bei den blockbasierten Prüfungsfragen besser abschnitten und dass Schüler aus Bevölkerungsgruppen, die historisch vom Informatikunterricht ausgeschlossen waren, wie Minderheitsschüler und Frauen, noch größeren Nutzen aus blockbasiertem Unterricht und Bewertungen zogen.
Steigerung der Motivation und des Engagements
Darüber hinaus kann das Codieren mit Blöcken die Motivation der Schüler und die weitere Beschäftigung mit der Informatik erhöhen4. Mit Blocks ermöglicht ein schneller visueller Feedbackzyklus, wie das Beobachten des Verhaltens eines virtuellen Roboters in VEXcode VR, zusammen mit der Leichtigkeit, Blockprojekte zu modifizieren, den Schülern erfolgreiche Programmiererfahrungen, die ihr Lernen validieren.
Beim Codieren mit Text sind Anfänger oft mit mystifizierenden Compiler-Fehlern aufgrund falscher Syntax oder Rechtschreibfehlern konfrontiert. Ein kleiner Fehler kann dazu führen, dass ein Problem nicht ausgeführt wird, was überwältigend und frustrierend sein kann. Diese Frustrationen können sich schnell aufbauen, und das Feedback, das Studenten verinnerlichen können, ist, dass Informatik zu schwierig ist und daher nicht für sie.
Blockbasierte Codierung soll dies vermeiden. Da Blockformen nur auf bestimmte Weise zusammenpassen, ist es unmöglich, einen Compilerfehler zu machen. Zum Beispiel ist es bei der Codierung in Blöcken unmöglich, einen ovalen Reporterblock als Bedingung in den sechseckigen [Warten bis] -Block zu setzen. Es wird nur ein sechseckiger Block akzeptiert. (siehe Bild unten), weil sie nicht zusammenpassen. Während sich ein blockbasiertes Codierungsprojekt möglicherweise nicht wie beabsichtigt verhält, sind die Schüler in der Lage, die Logik ihres Projekts leicht zu beheben, anstatt mit der Syntax zu kämpfen.
Förderung des konzeptionellen Verständnisses von CS
Wenn die Schüler lernen, mit Blöcken zu codieren, werden komplexe Informatikprojekte leichter verständlich. Ein konzeptionelles Verständnis von Schleifen, Bedingungen, Algorithmen und Variablen kann in einer blockbasierten Umgebung entwickelt werden, da die Codierung mit Blöcken die Barriere für diese Konzepte senkt, wenn die kognitive Belastung gesenkt und die Motivation und Ausdauer der Schüler erhöht wird. In der Präsentation teilte Dr. Weintrop mit, wie die Wahrnehmung der blockbasierten Programmierung durch die Schüler dies bestätigt, wie unten gezeigt.
Wie in der Präsentation erläutert, ist blockbasiertes Codieren ein leistungsfähiges Werkzeug, das es Schülern jeden Alters ermöglicht, einführende Informatik zu erlernen. Die Idee, dass Gymnasiasten oder ältere Schüler anfangen müssen, in Text zu kodieren, tut den Schülern einen Bärendienst. Denn wenn ein Gymnasiast gerade erst anfangen würde, Klavier zu spielen, würden Sie ihn nicht damit beginnen, darauf zu bestehen, dass er Beethoven-Sonaten spielt, weil es „echte“ Klavierstücke sind. Sie würden mit den Werkzeugen von Tonleitern, Arpeggios und einführenden Liederbüchern – sehr "echte" Gerüste, die für erfolgreiches Klavierspielen benötigt werden - lernen, warum nicht den Informatiklernenden die gleiche Möglichkeit geben, das richtige Werkzeug für den Job zu verwenden!
Um die Präsentation anzusehen und mehr über Dr. Weintrops Arbeit zu erfahren, sehen Sie sich dieses Video von der vex Educators Conference 2023 in der PD+ Video Library an. Möchten Sie mehr über das Unterrichten mit VEXcode VR erfahren und warum es so leistungsfähig ist, Studenten mit blockbasierter Programmierung zu beginnen? Schauen Sie sich die neue PD+ Masterclass Making the Most of Teaching with VEXcode VR an. Und wenn Sie mit einem Vex-Experten über alles in diesem Artikel sprechen möchten, melden Sie sich für eine 1-on-1-Sitzung an oder posten Sie Ihre Frage in der PD+ Community.