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

För att få åtkomst till 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 man 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.

Växelblock som visar motsvarande blockbaserad och textbaserad kod i VEXcode VR

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. Se följande video för att se ett exempel på Python-kod som matas in i ett Switch-block.


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. Processen att konvertera ett block till ett Switch-block visas i den här videon.

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.

VEXcode VR-arbetsyta med blockbaserade kommandon för programmering av den virtuella roboten

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, som visas i den här videon. 

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 som visas i den här videon. 

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, som visas i den här videon.


 

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. VEXcode VR-arbetsyta med ett switchblock som visar motsvarande block och Python-kommandon för en drivlina-sväng i lekplatsen Exempel på hatt-, stack-, booleska och reporterblockformer som används med switchblock i VEXcode VR
Stapla block Utför huvudkommandon. De är formade för att fästas ovanför eller under andra stapelblock. Exempel på switchblock för hat-, stack-, booleska och reporterblocktyper i VEXcode VR Exempel på hat-, stack-, booleska och reporterblock med motsvarande switchblock i VEXcode VR
Booleska block Returnerar ett villkor som antingen sant eller falskt och passar in i alla block med hexagonala (sexsidiga) indata för andra block. VEXcode VR-arbetsyta med verktygsfältet Block och kodningsområdet för att skapa ett projekt med block Exempel på hat-, stack-, booleska och reporterblock med deras motsvarigheter i VEXcode VR
Reporterblock Rapportera värden i form av siffror och passar in i valfria block med ovala indata för andra block. Exempel på switchblock som kombinerar blockbaserad och textbaserad kod i VEXcode VR VEXcode VR-blockpalett med hat-, stack-, booleska och reporterblockkategorier som används i switchblock
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. Exempel på VEXcode VR-hatt-, stack-, booleska och reporterblockformer med motsvarande switchblockformer Exempel på switchblock för hat-, stack-, booleska och reporterblock i VEXcode VR Exempel på switchblock som visar blockformer översatta till textbaserad kod VEXcode VR-projekt som visar switchblock som används för att kombinera blockbaserad och textbaserad kodning i arbetsytan

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: