Använda Switch Blocks för att övergå från block till textbaserad kodning i VEXcode VR

För att komma åt Switch Blocks i VEXcode VR måste du ha en VEXcode VR Premium-licens. Se den här artikeln för mer information om hur du får åtkomst till Switch Blocks i VEXcode VR.

Medan nybörjarprogrammerare är mer benägna att använda det blockbaserade gränssnittet, kan mer avancerade studenter vara intresserade av att koda sin robot med hjälp av ett textbaserat programmeringsspråk, som Python. Historiskt sett kan denna övergång från blockbaserad till textbaserad programmering kännas för studenter som att läraett helt nytt språk, där de inte kan tillämpa den logik de tidigare lärt sig med hjälp av block.1 Switch Blocks i VEXcode VR utvecklades för att underlätta övergången från blockbaserad till textbaserad programmering. Den här artikeln beskriver hur man använder Switch Blocks i VEXcode VR och guidar dig genom ett klassrumsscenario för att förklara och illustrera dessa funktioner i sitt sammanhang.

Skärmdump av VEXcode VR-gränssnittet som visar den blockbaserade kodningsmiljön, utformad för att undervisa i kodningskoncept genom virtuell robotik, lämplig för klassrums- och individuellt lärande inom STEM-utbildning.

Använda brytarblock

Switch innehåller välbekanta element från blockbaserad programmering och integrerar textrutor där textkommandon kan skrivas. Detta gör att eleverna långsamt kan övergå till text allt eftersom de lär sig kommandona och syntaxen som hör ihop med Python.


Switch ger eleverna en naturlig brygga från Blocks till textbaserad kodning. Allt eftersom eleverna blir bekanta med logiken och sekvenseringen av kommandon kan de börja konvertera ett projekt ett block i taget. 

Detta gör det möjligt för eleverna att fortsätta arbeta med logikflödet i ett blockbaserat program där de fysiskt kan se saker som hur en loop lindas runt andra block, samtidigt som de själva börjar experimentera med textkommandon. När blocken har konverterats till Switch kan eleverna enkelt ändra parametrar och börja förstå syntaxen för textkommandot. Det här avsnittet går igenom en students användning av Switch för att förklara hur du kan använda dessa block i ett VEXcode VR-projekt.

Switch är tillgänglig med en VEXcode VR Premium-licens. Läs mer om VEXcode VR-prenumerationer här.

När du har din licens kan lära dig hur du får åtkomst till Switch med hjälp av informationen i denartikeln.

Växla i klassrummet

Austin är en student som har kodat med block i flera år. Medan vissa elever i klassen fortfarande är nya kodare vill Austin lära sig mer om Python och hur man går vidare till att koda VR-roboten med hjälp av text. Ms. Hunter, läraren i datavetenskap, märkte att Austin var redo för en ytterligare utmaning och introducerade Switch för att stödja Austins lärande och introducera textbaserad kodning. Fru Hunter demonstrerade några av grunderna, som att konvertera ett block och öppna hjälpen för att lära sig mer om kommandot Switch Python för varje block. 

Idag gav Ms. Hunter klassen aktivitet av korallrev. Hon använder VEXcode VR för sina kodningslektioner eftersom hon vet att hon kan differentiera sin undervisning och nå elever på olika kodningsnivåer med samma aktiviteter. Växlingsläget hjälper till att underlätta den differentieringen för elever som Austin. I aktiviteten Korallrevstädning är målet att samla så mycket skräp som möjligt innan batteriet tar slut på VR-roboten. Austin förstår utmaningen och hur man kodar grundläggande algoritmer och skapar ett VEXcode VR-projekt som använder Down Eye-sensorn för att upptäcka gränsen till lekplatsen och backa för att undvika att skada korallerna.

Skärmdump av VEXcode VR-gränssnittet som visar blockbaserade kodningsalternativ för programmering av en virtuell robot, utformad för pedagogiskt bruk i klassrum för att lära ut kodningskoncept och robotikprinciper.

Konvertera ett enda block till en switch

Konvertera 1 block


Nu när Austin har ett projekt som han har testat och verifierat fungerar, är nästa steg att konvertera ett block till Switch för att börja utforska Python. 


Block kan konverteras till Switch genom att trycka länge eller högerklicka på blocket och sedan välja alternativet "Konvertera till Switch-block", som visas i videon här.

Austin kan nu se att blocket [Drive for] förvandlades till Python-kommandot drive_for. Efter konverteringen driver Austin projektet för att säkerställa att det fortfarande fungerar som avsett. Efter konverteringen vill Austin lära sig mer om kommandot drive_for. Genom att öppna hjälpen för blocket [Drive for] kan Austin göra kopplingar mellan parametrarna från blocket till Python-kommandot.

Använda hjälpen för att lära dig mer om Switch Python-kommandon

Öppna hjälpen


För att kunna se informationen om Switch Python Command i hjälpen öppnar Austin hjälpfönstret och väljer blocket [Drive for] och rullar sedan ner till botten som visas i videon här. 

Fru Hunter checkade in och kunde se att Austin lärde sig mer om [Drive for]-blocket. Hon utmanade honom att tillämpa det han lärt sig genom att konvertera ett block och skriva in i ett nytt block. Hon visade hur man drar in ett Switch-block och lät Austin försöka skriva in ett turn_for -kommando i blocket. Austin öppnar hjälpen för blocket och antecknar kommandots struktur. 

Att skriva i ett switchblock

Lägg till ett block


Austin känner till Python-kommandot från hjälpen och vill skriva direkt i ett Switch-block. Genom att dra ett [Switch Stack]-block från verktygslådan lägger Austin till det ovanför [Turn for]-blocket. 

Skriv in blocket


Sedan använder Austin markören för att välja Switch-blocket och börjar skriva Python-kommandot turn_for som visas här. 


Efter att du har skrivit in det nya kommandot och kontrollerat att parametrarna matchar det ursprungliga blocket kan blocket [Turn for] raderas. 

Fru Hunter kommer förbi för att kolla hur Austin har det. Hon ser Switch-projektet och ber om att få se det köras för att säkerställa att kommandona är korrekt skrivna. Efter att ha verifierat att projektet fungerar demonstrerar hon en annan funktion – block med flera rader.

Kopiera och klistra in


Blocket [Switch Stack] kan innehålla flera rader kod inskrivna i det. Austin kopierar texten turn_for och klistrar in den i blocket ovan som visas i videon här.

 

Austin ser att genom att trycka på 'enter' eller 'return' på tangentbordet kan ytterligare rader läggas till i blocket, och fortsätter att lägga till Python-kommandon.

Austin känner sig som en mästare på Drivetrain-kommandon i Python, skriver ut ett certifikat och sparar projektet till nästa gång.

Konvertera stackar till switch

Senare under läsåret återkommer Ms. Hunter till aktiviteten med korallrevstädningen och utmanar eleverna att antingen få ett högre poäng eller använda textbaserad kodning. Även om Austin har använt Drivetrain-kommandon i Switch-block, är den här aktiviteten ett tillfälle att lära sig mer om motsvarigheten till 'C'-block och booleska värden i Python. 

Konvertera omslag


Austin trycker länge eller högerklickar på blocket [If then else] och väljer "Convert wrapper and contents to Switch Block". Detta konverterar loopen och loopens innehåll till ett enda Switch-block.


Observera indraget efter att konverteringen är klar. Flera kommandon i ett Switch-block måste ha rätt indentering för att fungera som avsett.

Ytterligare brytarblock

Även om Austin uteslutande har använt blocket [Switch Stack] finns det ytterligare Switch-block tillgängliga. Austin är redo att lämna in ett förbättrat projekt för att städa upp korallreven, men gör upp en plan med Ms. Hunter för att prova en ny typ av strömbrytarblock som de som listas nedan i nästa lektion.

Växelblock följer samma formkonventioner som andra block. Tabellen här visar jämförelsen mellan blockformen, dess betydelse och Switch-block av samma typ.

Blockform Beskrivning Blockexempel Exempel på brytare
Hattblock Börja med en stapel med block och forma dem för att fästa block under dem. Skärmdump av VEXcode VR-gränssnittet som visar blockbaserade kodningsverktyg och en virtuell robot, utformad för att lära ut kodningskoncept och robotikprinciper i utbildningsmiljöer. Skärmdump av VEXcode VR-gränssnittet som visar den blockbaserade kodningsmiljön, utformad för att lära ut kodningskoncept genom virtuell robotik i klassrumsmiljöer, vilket stöder både nybörjare och avancerade användare.
Stapla block Utför huvudkommandon. De är formade för att fästas ovanför eller under andra stapelblock. Skärmdump av VEXcode VR-gränssnittet som visar blockbaserade kodningsalternativ för programmering av en virtuell robot, utformad för att förbättra STEM-utbildning i klassrum och stödja kodningskoncept för elever och lärare. Skärmdump av VEXcode VR-gränssnittet som visar den blockbaserade kodningsmiljön, utformad för att lära ut kodningskoncept genom virtuell robotik, lämplig för klassrumsanvändning och STEM-utbildning.
Booleska block Returnerar ett villkor som antingen sant eller falskt och passar in i alla block med hexagonala (sexsidiga) indata för andra block. Skärmdump av VEXcode VR-gränssnittet som visar den blockbaserade kodningsmiljön, utformad för att lära ut kodningskoncept genom en virtuell robot, lämplig för klassrumsanvändning och STEM-utbildning. Skärmdump av VEXcode VR-gränssnittet som visar den blockbaserade kodningsmiljön för programmering av en virtuell robot, utformad för att förbättra STEM-utbildning genom kodningskoncept och problemlösning i klassrummet.
Reporterblock Rapportera värden i form av siffror och passar in i valfria block med ovala indata för andra block. Skärmdump av VEXcode VR-gränssnittet som visar den blockbaserade kodningsmiljön, utformad för att lära ut kodningskoncept genom virtuell robotik, lämplig för klassrumsanvändning och STEM-utbildning. Skärmdump av VEXcode VR-gränssnittet som visar blockbaserade kodningsalternativ för programmering av en virtuell robot, vilket illustrerar dess användning i utbildningsmiljöer för att undervisa i kodningskoncept och robotikprinciper.
C-block Loopa blocket/blocken inom dem eller kontrollera om ett villkor är sant eller falskt. De är formade för att fästa stapelblock ovanför, under eller inuti dem. Skärmdump av VEXcode VR-gränssnittet som visar den blockbaserade kodningsmiljön, utformad för att lära ut kodningskoncept genom virtuell robotik, och belyser dess användning i klassrumsmiljöer för STEM-utbildning. Skärmdump av VEXcode VR-gränssnittet som visar blockbaserade kodningsalternativ för programmering av en virtuell robot, utformad för pedagogiskt bruk i klassrum för att lära ut kodningskoncept och robotikprinciper. Skärmdump av VEXcode VR-gränssnittet som visar en blockbaserad kodningsmiljö för programmering av en virtuell robot, utformad för pedagogiskt bruk i klassrum för att lära ut kodningskoncept och robotikprinciper. Skärmdump av VEXcode VR-gränssnittet som visar blockbaserade kodningselement och en virtuell robot, vilket illustrerar plattformens användning i utbildningsmiljöer för att undervisa i kodningskoncept och robotikprinciper.

Att sätta ihop allt

När Ms. Hunter tittade på när Austin testade att skriva olika Python-kommandon i Switch-block, kunde hon se hur Switch lät sina elever bygga upp sitt eget lärande. Hennes elever hade alla olika kodningserfarenheter innan de började hennes kurs, och utmaningarna inom VEXcode VR gör att de kan koda på sina egna nivåer. Vissa studenter kodar enbart i Blocks, vissa i Python, och andra, som Austin, använder Switch för att övergå till Python-kodning. Under de närmaste månaderna övergick Austin till att koda uteslutande i Python och tillämpade lärdomarna från Switch för att göra övergången från block till text mycket enklare och smidigare. 

Switch Blocks i VEXcode VR gör det möjligt för lärare, som Ms. Hunter, att vara lärandehandledare medan elever på alla olika kodningsnivåer genomför samma utmaning. Allt medan eleverna, liksom Austin, känner sig bemyndigade att prova nya metoder för att lösa kodningsuppgifter när de övergår från block till text med hjälp av Switch Blocks i VEXcode VR.


1Weintrop, David och Uri Wilensky. "Hur blockbaserade, textbaserade och hybrida block/text-modaliteter formar nybörjarprogrammeringspraxis."  Internationell tidskrift för barn-datorinteraktion 17 (2018): 83-92

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

Last Updated: