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.

Schaltblock, der äquivalenten blockbasierten und textbasierten Code in VEXcode VR anzeigt

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. Im folgenden Video sehen Sie ein Beispiel dafür, wie Python-Code in einen Switch-Block eingegeben wird.


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. Der Prozess der Umwandlung eines Blocks in einen Switch-Block wird in diesem Video gezeigt.

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.

VEXcode VR-Arbeitsbereich mit blockbasierten Befehlen zur Programmierung des virtuellen Roboters

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, wie in diesem Video gezeigt, ü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 wie in diesem Video gezeigt 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, wie in diesem Video gezeigt.


 

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. VEXcode VR-Arbeitsbereich mit einem Schalterblock, der den entsprechenden Block und die Python-Befehle für eine Antriebsstrangdrehung im Playground anzeigt. Beispiele für Hut-, Stapel-, Boolesche- und Reporterblockformen, die mit Schalterblöcken in VEXcode VR verwendet werden
Stapelblöcke Führe die Hauptbefehle aus. Sie sind so geformt, dass sie oberhalb oder unterhalb anderer Stapelblöcke angebracht werden können. Beispiele für Switch-Blöcke der Blocktypen Hat, Stack, Boolean und Reporter in VEXcode VR Beispiele für Hut-, Stapel-, Boolesche- und Reporterblöcke mit ihren entsprechenden Schalterblöcken in VEXcode VR
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. VEXcode VR-Arbeitsbereich mit der Blocks-Werkzeugleiste und dem Codierungsbereich zum Erstellen eines Projekts mit Blöcken Beispiele für Hut-, Stapel-, Boolesche- und Reporterblöcke mit ihren entsprechenden Switch-Block-Äquivalenten in VEXcode VR
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. Beispiele für Switch-Blöcke, die blockbasierten und textbasierten Code in VEXcode VR kombinieren VEXcode VR-Blockpalette mit Hut-, Stapel-, Booleschen- und Reporter-Blockkategorien, die in Schalterblöcken verwendet werden
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. Beispiele für VEXcode VR-Hut-, Stapel-, Boolesche- und Reporter-Blockformen mit entsprechenden Schalterblockformen Beispiele für Switch-Blöcke für Hat-, Stack-, Boolean- und Reporter-Blöcke in VEXcode VR Beispiele für Switch-Blöcke, die die in textbasierten Code übersetzten Blockformen zeigen. VEXcode VR-Projekt, das Schalterblöcke zeigt, die verwendet werden, um blockbasierte und textbasierte Codierung im Arbeitsbereich zu kombinieren.

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: