Om toegang te krijgen tot Switch Blocks in VEXcode VR, hebt u een VEXcode VR Premium-licentie nodig. Zie dit artikel voor meer informatie over hoe u toegang krijgt tot Switch Blocks in VEXcode VR.
Terwijl beginnende programmeurs vaker de op blokken gebaseerde interface gebruiken, zijn gevorderde studenten wellicht geïnteresseerd in het coderen van hun robot met behulp van een tekstgebaseerde programmeertaal, zoals Python. Historisch gezien kan deze overgang van blokken naar tekstgebaseerd programmeren voor studenten aanvoelen als het leren van een geheel nieuwe taal, waarbij ze de logica die ze eerder met behulp van blokken hebben geleerd, niet kunnen toepassen.1 Switch Blocks in VEXcode VR zijn ontwikkeld om de overgang van blokgebaseerd naar tekstgebaseerd programmeren te vergemakkelijken. In dit artikel leggen we uit hoe u Switch Blocks in VEXcode VR kunt gebruiken. Aan de hand van een klassikaal scenario leggen we de functies uit en illustreren we ze in context.
Switch Blocks gebruiken
Switch bevat bekende elementen van blokgebaseerd programmeren en integreert tekstvakken waarin tekstopdrachten kunnen worden getypt. Hierdoor kunnen de studenten langzaam overgaan naar de tekst, terwijl ze de opdrachten en de syntaxis van Python leren.
Switch biedt studenten een natuurlijke brug van Blocks naar tekstgebaseerd coderen. Naarmate leerlingen vertrouwd raken met de logica en de volgorde van opdrachten, kunnen ze een project blok voor blok converteren.
Hierdoor kunnen leerlingen blijven werken met de logische stroom van een op blokken gebaseerd programma, waarbij ze fysiek dingen kunnen zien zoals de wikkeling van een lus rond andere blokken, terwijl ze ook zelf beginnen te experimenteren met tekstopdrachten. Zodra de blokken zijn omgezet naar Switch, kunnen studenten eenvoudig parameters wijzigen en de syntaxis van de tekstopdracht begrijpen. In dit gedeelte laten we zien hoe een student Switch gebruikt en hoe je deze blokken kunt gebruiken in een VEXcode VR-project.
Switch is verkrijgbaar met een VEXcode VR Premium-licentie. Meer informatie over VEXcode VR-abonnementen vindt u hier.
Zodra u uw licentie hebt, leert hoe u toegang krijgt tot Switch met behulp van de informatie inartikel.
Schakelaar in de klas
Austin is een student die al enkele jaren met blokken codeert. Hoewel sommige studenten in de klas nog nieuwe programmeurs zijn, wil Austin meer leren over Python en hoe hij de VR-robot kan coderen met behulp van tekst. Mevrouw Hunter, de docent informatica, merkte dat Austin toe was aan een extra uitdaging en introduceerde Switch om Austins leerproces te ondersteunen en tekstgebaseerde codering te introduceren. Mevrouw Hunter demonstreerde enkele basisbeginselen, zoals het converteren van een blok en het openen van de Help om meer te leren over de opdracht Switch Python voor elk van de blokken.
Vandaag heeft mevrouw Hunter activiteit opruimen, aan de klas toegewezen. Ze gebruikt VEXcode VR voor haar programmeerlessen omdat ze weet dat ze hiermee haar lessen kan differentiëren en leerlingen met verschillende programmeerniveaus kan bereiken met dezelfde activiteiten. De schakelmodus helpt om dit onderscheid te vergemakkelijken voor studenten zoals Austin. Bij de activiteit 'Korrel opruimen' is het de bedoeling om zoveel mogelijk afval te verzamelen voordat de batterij van de VR-robot leeg is. Austin begrijpt de uitdaging en weet hoe hij basisalgoritmes moet programmeren. Daarom maakt hij een VEXcode VR-project dat de Down Eye Sensor gebruikt om de rand van de speeltuin te detecteren en achteruit te rijden om schade aan het koraal te voorkomen.
Een enkel blok omzetten naar een schakelaar
Converteer 1 blok
Nu Austin een project heeft getest en geverifieerd dat het werkt, is de volgende stap het converteren van een blok naar Switch om Python te kunnen gaan verkennen.
Blokken kunnen worden omgezet naar Switch door lang op het blok te drukken of er met de rechtermuisknop op te klikken en vervolgens de optie 'Omzetten naar Switch-blok' te selecteren, zoals in de video hier wordt getoond.
Austin kan nu zien dat het [Drive for]-blok is veranderd in de Python-opdracht drive_for. Na de conversie voert Austin het project uit om te controleren of het nog steeds werkt zoals bedoeld. Na de conversie wil Austin meer leren over de opdracht drive_for. Door de Help van het [Drive for]-blok te openen, kan Austin verbindingen maken tussen de parameters van het blok en de Python-opdracht.
De Help gebruiken om meer te leren over Switch Python-opdrachten
Open Help
Om de informatie over de Switch Python Command in de Help te bekijken, opent Austin het Help-venster en selecteert hij het blok [Drive for]. Vervolgens scrolt hij naar beneden, zoals getoond in de video hier.
Mevrouw Hunter checkte in en zag dat Austin meer te weten kwam over het [Drive for]-blok. Ze daagde hem uit om toe te passen wat hij had geleerd door een blok te converteren en te typen in een nieuw blok. Ze liet zien hoe je een Switch-blok naar binnen sleept en liet Austin proberen om een turn_for -opdracht in het blok te typen. Austin opent de Help voor het blok en maakt een aantekening over de structuur van het commando.
Typen in een Switch Block
Voeg een blok toe
Austin kent de Python-opdracht uit de Help en wil rechtstreeks in een Switch-blok typen. Door een [Switch Stack]-blok uit de Toolbox te slepen, voegt Austin het toe boven het [Turn for]-blok.
Typ in het blok
Vervolgens gebruikt Austin de cursor om het Switch-blok te selecteren en begint hij de Python-opdracht turn_for te typen, zoals hier wordt getoond.
Nadat u de nieuwe opdracht hebt getypt en hebt gecontroleerd of de parameters overeenkomen met het oorspronkelijke blok, kunt u het blok [Turn for] verwijderen.
Mevrouw Hunter komt langs om Austins voortgang te controleren. Ze ziet het Switch-project en vraagt of ze het mag uitvoeren om te controleren of de opdrachten correct zijn getypt. Nadat ze heeft gecontroleerd of het project werkt, demonstreert ze nog een andere functie: blokken met meerdere regels.
Kopiëren en plakken
Het [Switch Stack]-blok kan meerdere regels code bevatten. Austin kopieert de tekst turn_for en plakt deze in het bovenstaande blok, zoals getoond in de video hier.
Austin ziet dat door op 'Enter' of 'Return' op het toetsenbord te drukken, extra regels aan het blok kunnen worden toegevoegd en hij gaat door met het toevoegen van Python-opdrachten.
Austin voelt zich een expert in Drivetrain-opdrachten in Python, dus print hij een certificaat uit en slaat het project op voor de volgende keer.
Stacks converteren naar Switch
Later in het schooljaar herhaalt mevrouw Hunter de activiteit 'Korrel opruimen' en daagt ze leerlingen uit om óf een hogere score te halen óf tekstgebaseerde codering te gebruiken. Hoewel Austin Drivetrain-opdrachten in Switch-blokken heeft gebruikt, is deze activiteit een kans om meer te leren over het equivalent van 'C'-blokken en Booleans in Python.
Wrapper converteren
Austin drukt lang op het [If then else]-blok of klikt er met de rechtermuisknop op en selecteert 'Converteer wrapper en inhoud naar Switch-blok.' Hiermee worden de lus en de inhoud van de lus omgezet in één Switch-blok.
Let op de inspringing nadat de conversie is voltooid. Meerdere opdrachten in één Switch-blok moeten de juiste inspringing hebben om te werken zoals bedoeld.
Extra schakelblokken
Hoewel Austin uitsluitend het [Switch Stack]-blok gebruikt, zijn er aanvullende Switch-blokken beschikbaar. Austin is klaar om een verbeterd Coral Reef Cleanup-project in te leveren, maar maakt een plan met mevrouw Hunter om in de volgende les een nieuw soort Switch-blok uit te proberen, zoals hieronder vermeld.
Switch-blokken volgen dezelfde vormconventies als andere blokken. De tabel hier toont de vergelijking tussen de blokvorm, de betekenis ervan en de Switch-blokken van hetzelfde type.
| Blokvorm | Beschrijving | Blokvoorbeelden | Schakelvoorbeelden |
|---|---|---|---|
| Hoedenblokken | Maak een stapel blokken en zorg dat je er blokken onder kunt bevestigen. | ||
| Stapelblokken | Voer de belangrijkste opdrachten uit. Ze zijn zo gevormd dat ze boven of onder andere stapelblokken kunnen worden bevestigd. | ||
| Booleaanse blokken | Retourneert een voorwaarde als waar of onwaar en past binnen alle blokken met hexagonale (zeszijdige) invoer voor andere blokken. | ||
| Verslaggever blokkeert | Rapporteer waarden in de vorm van getallen en pas ze aan in blokken met ovale invoer voor andere blokken. | ||
| C-blokken | Herhaal de blokken binnen de blokken of controleer of een voorwaarde waar of onwaar is. Ze zijn zo gevormd dat je er boven, onder of in blokken op kunt stapelen. |
|
|
Alles bij elkaar voegen
Terwijl mevrouw Hunter toekeek hoe Austin verschillende Python-opdrachten in Switch-blokken typte, zag ze hoe Switch haar studenten hielp hun eigen leerproces te ondersteunen. Haar studenten hadden allemaal verschillende programmeerervaringen voordat ze aan haar lessen begonnen, en dankzij de uitdagingen in VEXcode VR kunnen ze op hun eigen niveau programmeren. Sommige studenten coderen uitsluitend in Blocks, anderen in Python en weer anderen, zoals Austin, gebruiken Switch om over te stappen op Python-coderen. In de daaropvolgende maanden ging Austin uitsluitend in Python coderen, waarbij hij de kennis die hij had opgedaan met Switch toepaste om de overgang van blokken naar tekst veel eenvoudiger en soepeler te laten verlopen.
Met Switch Blocks in VEXcode VR kunnen docenten, zoals mevrouw Hunter, als leerbegeleiders optreden terwijl leerlingen van verschillende programmeerniveaus dezelfde uitdaging voltooien. Tegelijkertijd voelen de studenten, net als Austin, zich gesterkt om nieuwe methoden voor het oplossen van codeeropdrachten uit te proberen terwijl ze de overgang maken van blokken naar tekst met behulp van Switch Blocks in VEXcode VR.