Verwendung von Switch-Blöcken zum Übergang von blockbasierter zu textbasierter Codierung in VEXcode VR

Um auf Switch Blocks in VEXcode VR zugreifen zu können, benötigen Sie eine VEXcode VR Premium-Lizenz. Weitere Informationen zum Zugriff auf Switch-Blöcke in VEXcode VR finden Sie in diesem Artikel.

Während Anfänger in der Programmierung eher zur blockbasierten Schnittstelle greifen, könnten fortgeschrittenere Schüler daran interessiert sein, ihren Roboter mit einer textbasierten Programmiersprache wie Python zu programmieren. Historisch gesehen kann sich dieser Übergang von der Blockprogrammierung zur textbasierten Programmierung für Schüler wie das Erlernen einer völlig neuen Sprache anfühlen, in der sie die Logikdie sie zuvor mit Blockprogrammen gelernt haben, nicht anwenden können. Switch Blocks in VEXcode VR wurde entwickelt, um den Übergang von der blockbasierten zur textbasierten Programmierung zu erleichtern. Dieser Artikel erklärt die Verwendung von Switch Blocks in VEXcode VR und führt Sie durch ein Unterrichtsszenario, um diese Funktionen im Kontext zu erläutern und zu veranschaulichen.

Screenshot der VEXcode VR-Oberfläche, die die blockbasierte Programmierumgebung zeigt. Sie wurde für die Vermittlung von Programmierkonzepten durch virtuelle Robotik entwickelt und eignet sich für den Einsatz im Klassenverband und beim individuellen Lernen im MINT-Bereich.

Verwendung von Schalterblöcken

Switch beinhaltet bekannte Elemente der blockbasierten Programmierung und integriert Textfelder, in die Textbefehle eingegeben werden können. Dies ermöglicht es den Schülern, schrittweise zum Text überzugehen, während sie die Befehle und die Syntax von Python erlernen.


Switch bietet Schülern einen natürlichen Übergang von Blocks zur textbasierten Programmierung. Sobald die Schüler mit der Logik und der Abfolge der Befehle vertraut sind, können sie beginnen, ein Projekt Block für Block umzuwandeln. 

Dies ermöglicht es den Schülern, weiterhin mit dem logischen Ablauf eines blockbasierten Programms zu arbeiten, bei dem sie Dinge wie das Umschließen anderer Blöcke durch eine Schleife physisch sehen können, während sie gleichzeitig beginnen, selbst mit Textbefehlen zu experimentieren. Sobald die Blöcke in Switch-Befehle umgewandelt sind, können die Schüler Parameter leicht ändern und die Syntax des Textbefehls verstehen lernen. In diesem Abschnitt wird Ihnen anhand eines Beispiels eines Schülers gezeigt, wie man Switch verwendet, um Ihnen zu erklären, wie Sie diese Blöcke in einem VEXcode VR-Projekt einsetzen können.

Switch ist mit einer VEXcode VR Premium-Lizenz erhältlich. Erfahren Sie hier mehr über VEXcode VR-Abonnements.

Sobald Sie Ihre Lizenz haben, erfahren inArtikel, wie Sie auf Switch zugreifen können.

Schalter im Klassenzimmer

Austin ist ein Student, der schon seit mehreren Jahren mit Blöcken programmiert. Während einige Schüler in der Klasse noch Anfänger im Programmieren sind, möchte Austin mehr über Python lernen und lernen, wie man den VR-Roboter mithilfe von Text programmiert. Frau Hunter, die Informatiklehrerin, bemerkte, dass Austin für eine zusätzliche Herausforderung bereit war und führte Switch ein, um Austins Lernprozess zu unterstützen und ihn in die textbasierte Programmierung einzuführen. Frau Hunter demonstrierte einige Grundlagen, wie das Konvertieren eines Blocks und das Öffnen der Hilfe, um mehr über den Switch-Python-Befehl für jeden der Blöcke zu erfahren. 

Frau Hunter hat heute der Klasse die Aufgabe Aufräumarbeiten am Korallenriff“ (Aktivität zugewiesen. Sie nutzt VEXcode VR für ihren Programmierunterricht, weil sie weiß, dass sie so ihren Unterricht differenzieren und Schüler mit unterschiedlichen Programmierkenntnissen mit denselben Aktivitäten erreichen kann. Der Schaltmodus hilft dabei, diese Differenzierung für Schüler wie Austin zu erleichtern. Bei der Korallenriff-Reinigungsaktion besteht das Ziel darin, so viel Müll wie möglich zu sammeln, bevor der Akku des VR-Roboters leer ist. Austin verstand die Herausforderung und wusste, wie man grundlegende Algorithmen programmiert. Daraufhin entwickelte er ein VEXcode VR-Projekt, das mithilfe des Down Eye Sensors die Grenze des Spielplatzes erkennt und rückwärts fährt, um die Korallen nicht zu beschädigen.

Screenshot der VEXcode VR-Oberfläche, die blockbasierte Codierungsoptionen zur Programmierung eines virtuellen Roboters zeigt. Entwickelt für den Bildungseinsatz in Klassenzimmern, um Codierungskonzepte und Robotikprinzipien zu vermitteln.

Umwandlung eines einzelnen Blocks in einen Schalter

1 Block umwandeln


Nachdem Austin nun ein Projekt hat, das er getestet und dessen Funktionsfähigkeit er bestätigt hat, besteht der nächste Schritt darin, einen Block in Switch umzuwandeln, um mit der Erkundung von Python zu beginnen. 


Blöcke können in Switch-Blöcke umgewandelt werden, indem man lange auf den Block drückt oder mit der rechten Maustaste darauf klickt und dann die Option „In Switch-Block umwandeln“ auswählt, wie im Video hier gezeigt.

Austin kann nun sehen, dass der [Drive for]-Block in den Python-Befehl drive_for umgewandelt wurde. Nach der Umstellung leitet Austin das Projekt weiter, um sicherzustellen, dass es weiterhin wie vorgesehen funktioniert. Nach der Umstellung möchte Austin mehr über den Befehl drive_for erfahren. Durch Öffnen der Hilfe des [Drive for]-Blocks kann Austin Verbindungen zwischen den Parametern des Blocks und dem Python-Befehl herstellen.

In der Hilfe erfahren Sie mehr über Switch-Python-Befehle.

Hilfe öffnen


Um die Informationen zum Switch Python Command in der Hilfe anzuzeigen, öffnet Austin das Hilfefenster, wählt den Block [Drive for] aus und scrollt dann bis ganz nach unten, wie im Video hier gezeigt. 

Frau Hunter schaute nach und konnte sehen, dass Austin mehr über den [Drive for]-Block erfuhr. Sie forderte ihn auf, das Gelernte beim Konvertieren eines Blocks und beim Tippen auf einen neuen Block anzuwenden. Sie zeigte, wie man einen Switch-Block hineinzieht, und ließ Austin versuchen, den Befehl turn_for in den Block einzugeben. Austin öffnet die Hilfe für den Block und macht sich eine Notiz zur Struktur des Befehls. 

Eingabe eines Switch-Blocks

Füge einen Block hinzu


Da Austin den Python-Befehl aus der Hilfe kennt, möchte er ihn direkt in einen Switch-Block eingeben. Austin zieht einen [Switch Stack]-Block aus der Toolbox und fügt ihn über dem [Turn for]-Block ein. 

Geben Sie im Block etwas ein


Dann wählt Austin mit dem Cursor den Switch-Block aus und beginnt, den Python-Befehl turn_for einzugeben, wie hier gezeigt. 


Nachdem der neue Befehl eingegeben und sichergestellt wurde, dass die Parameter mit dem ursprünglichen Block übereinstimmen, kann der [Turn for]-Block gelöscht werden. 

Frau Hunter kommt vorbei, um sich nach Austins Fortschritten zu erkundigen. Sie sieht das Switch-Projekt und bittet darum, es ausführen zu sehen, um sicherzustellen, dass die Befehle korrekt eingegeben wurden. Nachdem sie sich vergewissert hat, dass das Projekt funktioniert, demonstriert sie eine weitere Funktion – mehrzeilige Blöcke.

Kopieren und Einfügen


Der [Switch Stack]-Block kann mehrere Codezeilen enthalten. Austin kopiert den Text turn_for und fügt ihn wie im Video gezeigt in den darüber liegenden Block ein.

 

Austin erkennt, dass durch Drücken der Eingabetaste oder der Return-Taste auf der Tastatur weitere Zeilen zum Block hinzugefügt werden können, und fügt weiterhin Python-Befehle hinzu.

Austin fühlt sich wie ein Meister der Drivetrain-Befehle in Python, druckt ein Zertifikat aus und speichert das Projekt für das nächste Mal.

Umwandlung von Stacks in Switch

Später im Schuljahr greift Frau Hunter die Aktion zur Korallenriffreinigung erneut auf und fordert die Schüler heraus, entweder eine höhere Punktzahl zu erreichen oder textbasierte Codierung anzuwenden. Während Austin bisher Drivetrain-Befehle in Switch-Blöcken verwendet hat, bietet diese Übung die Möglichkeit, mehr über das Äquivalent von 'C'-Blöcken und Booleschen Werten in Python zu erfahren. 

Convert-Wrapper


Austin tippt lange auf den [If then else]-Block oder klickt mit der rechten Maustaste darauf und wählt „Wrapper und Inhalt in Switch-Block konvertieren“. Dadurch werden die Schleife und der Inhalt der Schleife in einen einzigen Switch-Block umgewandelt.


Beachten Sie die Einrückung nach Abschluss der Konvertierung. Mehrere Befehle in einem Switch-Block müssen die korrekte Einrückung aufweisen, um wie beabsichtigt zu funktionieren.

Zusätzliche Schaltblöcke

Während Austin ausschließlich den [Switch Stack]-Block verwendet, stehen weitere Switch-Blöcke zur Verfügung. Austin ist bereit, ein verbessertes Projekt zur Sanierung des Korallenriffs abzugeben, plant aber gemeinsam mit Frau Hunter, in der nächsten Unterrichtsstunde einen neuen Switch-Block auszuprobieren, wie er unten aufgeführt ist.

Schalterblöcke folgen den gleichen Formkonventionen wie andere Blöcke. Die Tabelle zeigt den Vergleich zwischen der Blockform, ihrer Bedeutung und den Switch-Blöcken desselben Typs.

Blockform Beschreibung Blockbeispiele Beispiele für Schalter
Hutblöcke Man beginnt mit einem Stapel Blöcke, die so geformt sind, dass man darunterliegende Blöcke befestigen kann. Screenshot der VEXcode VR-Oberfläche, die blockbasierte Codierungswerkzeuge und einen virtuellen Roboter zeigt und für die Vermittlung von Codierungskonzepten und Robotikprinzipien im Bildungsbereich entwickelt wurde. Screenshot der VEXcode VR-Oberfläche, die die blockbasierte Programmierumgebung zeigt. Sie wurde entwickelt, um Programmierkonzepte mithilfe virtueller Robotik im Unterricht zu vermitteln und unterstützt sowohl Anfänger als auch fortgeschrittene Benutzer.
Stapelblöcke Führe die Hauptbefehle aus. Sie sind so geformt, dass sie oberhalb oder unterhalb anderer Stapelblöcke angebracht werden können. Screenshot der VEXcode VR-Oberfläche, der blockbasierte Codierungsoptionen zur Programmierung eines virtuellen Roboters zeigt. Entwickelt, um die MINT-Bildung in Klassenzimmern zu verbessern und Programmierkonzepte für Schüler und Pädagogen zu unterstützen. Screenshot der VEXcode VR-Oberfläche, der die blockbasierte Programmierumgebung zeigt. Sie wurde für die Vermittlung von Programmierkonzepten durch virtuelle Robotik entwickelt und eignet sich für den Einsatz im Unterricht und in der MINT-Bildung.
Boolesche Blöcke Gibt eine Bedingung als wahr oder falsch zurück und passt in beliebige Blöcke mit hexagonalen (sechsseitigen) Eingaben für andere Blöcke. Screenshot der VEXcode VR-Oberfläche, die die blockbasierte Programmierumgebung zeigt. Sie wurde entwickelt, um Programmierkonzepte mithilfe eines virtuellen Roboters zu vermitteln und eignet sich für den Einsatz im Unterricht und in der MINT-Bildung. Screenshot der VEXcode VR-Oberfläche, die die blockbasierte Codierungsumgebung zur Programmierung eines virtuellen Roboters zeigt. Sie wurde entwickelt, um die MINT-Bildung durch Codierungskonzepte und Problemlösung im Unterricht zu verbessern.
Reporterblöcke Die Werte werden in Form von Zahlen ausgegeben und passen in beliebige Blöcke mit ovalen Eingängen für andere Blöcke. Screenshot der VEXcode VR-Oberfläche, der die blockbasierte Programmierumgebung zeigt. Sie wurde für die Vermittlung von Programmierkonzepten durch virtuelle Robotik entwickelt und eignet sich für den Einsatz im Unterricht und in der MINT-Bildung. Screenshot der VEXcode VR-Oberfläche, der blockbasierte Codierungsoptionen zur Programmierung eines virtuellen Roboters zeigt und dessen Einsatz im Bildungsbereich zur Vermittlung von Codierungskonzepten und Robotikprinzipien veranschaulicht.
C-Blöcke Durchlaufe die Blöcke innerhalb der Schleife oder prüfe, ob eine Bedingung wahr oder falsch ist. Sie sind so geformt, dass man Stapelblöcke darüber, darunter oder innerhalb von ihnen befestigen kann. Screenshot der VEXcode VR-Oberfläche, der die blockbasierte Programmierumgebung zeigt, die für die Vermittlung von Programmierkonzepten durch virtuelle Robotik entwickelt wurde und deren Einsatz im Unterricht für die MINT-Bildung hervorgehoben wird. Screenshot der VEXcode VR-Oberfläche, die blockbasierte Codierungsoptionen zur Programmierung eines virtuellen Roboters zeigt. Entwickelt für den Bildungseinsatz in Klassenzimmern, um Codierungskonzepte und Robotikprinzipien zu vermitteln. Screenshot der VEXcode VR-Oberfläche, die eine blockbasierte Codierungsumgebung zur Programmierung eines virtuellen Roboters zeigt. Sie ist für den Bildungseinsatz in Klassenzimmern konzipiert, um Codierungskonzepte und Robotikprinzipien zu vermitteln. Screenshot der VEXcode VR-Oberfläche, der blockbasierte Codierungselemente und einen virtuellen Roboter zeigt und die Verwendung der Plattform in Bildungseinrichtungen zum Vermitteln von Codierungskonzepten und Robotikprinzipien veranschaulicht.

Das Ganze zusammenfügen

Als Frau Hunter Austin dabei zusah, wie er verschiedene Python-Befehle in Switch-Blöcken ausprobierte, konnte sie erkennen, wie Switch es ihren Schülern ermöglichte, ihr eigenes Lernen zu strukturieren. Ihre Schüler hatten vor Beginn ihres Kurses alle unterschiedliche Programmiererfahrungen, und die Herausforderungen in VEXcode VR ermöglichen es ihnen, auf ihrem eigenen Niveau zu programmieren. Manche Studenten programmieren ausschließlich in Blocks, manche in Python, und andere, wie Austin, nutzen Switch, um in die Python-Programmierung einzusteigen. In den folgenden Monaten stellte Austin ausschließlich auf Python um und nutzte die Erfahrungen mit Switch, um den Übergang von Blöcken zu Text deutlich einfacher und reibungsloser zu gestalten. 

Mit Switch Blocks in VEXcode VR können Lehrkräfte wie Frau Hunter als Lernbegleiter fungieren, während Schüler aller Programmierniveaus die gleiche Herausforderung meistern. Währenddessen fühlen sich die Schüler, genau wie Austin, ermutigt, neue Methoden zur Lösung von Programmieraufgaben auszuprobieren, wenn sie mit Switch Blocks in VEXcode VR vom Block- zum Textmodus wechseln.


1Weintrop, David und Uri Wilensky. „Wie blockbasierte, textbasierte und hybride Block-/Text-Modalitäten die Programmierpraktiken von Anfängern prägen.“  International Journal of Child-Computer Interaction 17 (2018): 83-92

For more information, help, and tips, check out the many resources at VEX Professional Development Plus

Last Updated: