Utilisation de blocs de commutation pour passer de la programmation par blocs à la programmation textuelle dans VEXcode VR

Pour accéder aux blocs de commutation dans VEXcode VR, vous devez posséder une licence VEXcode VR Premium. Consultez cet article pour plus d'informations sur l'accès aux blocs de commutation dans VEXcode VR.

Alors que les programmeurs débutants sont plus enclins à utiliser l'interface par blocs, les étudiants plus avancés peuvent être intéressés par la programmation de leur robot à l'aide d'un langage de programmation textuel, comme Python. Historiquement, cette transition de la programmationblocs à la programmation textuelle peut donner l'impression aux étudiants d'apprendre une langue entièrement nouvelle, où ils ne peuvent pas appliquer la logique qu'ils avaient apprise auparavant à l'aide de blocs.1 Switch Blocks dans VEXcode VR a été développé afin de faciliter cette transition de la programmation par blocs à la programmation textuelle. Cet article vous expliquera comment utiliser les blocs Switch dans VEXcode VR et vous guidera à travers un scénario de classe pour expliquer et illustrer ces fonctionnalités en contexte.

Bloc de commutation affichant le code équivalent basé sur des blocs et sur du texte dans VEXcode VR

Utilisation des blocs de commutation

Switch intègre des éléments familiers de la programmation par blocs et des zones de texte permettant de saisir des commandes textuelles. Cela permet aux élèves de passer progressivement au texte à mesure qu'ils apprennent les commandes et la syntaxe associées à Python. Visionnez la vidéo suivante pour voir un exemple de code Python saisi dans un bloc Switch.


Switch offre aux étudiants une transition naturelle entre les blocs et la programmation textuelle. À mesure que les élèves se familiarisent avec la logique et l'enchaînement des commandes, ils peuvent commencer à convertir un projet bloc par bloc. Cette vidéo illustre le processus de conversion d'un bloc en bloc Switch.

Cela permet aux élèves de continuer à travailler sur le flux logique d'un programme à base de blocs, où ils peuvent visualiser concrètement des éléments comme l'enroulement d'une boucle autour d'autres blocs, tout en commençant à expérimenter eux-mêmes avec des commandes textuelles. Une fois les blocs convertis en Switch, les élèves peuvent facilement modifier les paramètres et commencer à comprendre la syntaxe de la commande textuelle. Cette section vous guidera à travers l'utilisation de Switch par un étudiant afin d'expliquer comment vous pouvez utiliser ces blocs dans un projet de réalité virtuelle VEXcode.

La Switch est disponible avec une licence VEXcode VR Premium. Pour en savoir plus sur les abonnements VEXcode VR, cliquez ici.

Une fois votre licence en poche, à accéder à Switch en utilisant les informations dearticle.

Changement en classe

Austin est un étudiant qui programme avec des blocs depuis plusieurs années. Alors que certains élèves de la classe sont encore des programmeurs débutants, Austin souhaite en apprendre davantage sur Python et sur la manière de programmer le robot de réalité virtuelle en utilisant du texte. Mme Hunter, la professeure d'informatique, a remarqué qu'Austin était prêt à relever un défi supplémentaire et a introduit Switch pour faciliter son apprentissage et lui faire découvrir la programmation textuelle. Mme Hunter a fait la démonstration de quelques notions de base, comme la conversion d'un bloc et l'ouverture de l'aide pour en savoir plus sur la commande Switch Python pour chacun des blocs. 

Aujourd'hui, Mme Hunter a attribué à la classe l'activité de nettoyage des récifs coralliens . Elle utilise VEXcode VR pour ses cours de programmation car elle sait qu'elle peut différencier son enseignement et atteindre des élèves de niveaux de programmation variés avec les mêmes activités. Le mode Switch facilite cette différenciation pour les élèves comme Austin. Dans l'activité de nettoyage des récifs coralliens, l'objectif est de ramasser autant de déchets que possible avant que la batterie du robot VR ne soit épuisée. Comprenant le défi et sachant coder des algorithmes de base, Austin crée un projet de réalité virtuelle VEXcode qui utilise le capteur Down Eye pour détecter les limites de l'aire de jeux et faire marche arrière afin d'éviter d'endommager le corail.

Espace de travail VEXcode VR avec commandes par blocs pour la programmation du robot virtuel

Conversion d'un seul bloc en interrupteur

Convertir 1 bloc


Maintenant qu'Austin dispose d'un projet qu'il a testé et dont il a vérifié le bon fonctionnement, la prochaine étape consiste à convertir un bloc en Switch afin de commencer à explorer Python. 


 

Il est possible de convertir un bloc en interrupteur en effectuant un appui long ou un clic droit sur le bloc, puis en sélectionnant l'option « Convertir en bloc interrupteur », comme indiqué dans la vidéo ci-jointe.

Austin peut maintenant voir que le bloc [Drive for] s'est transformé en la commande Python drive_for. Après la conversion, Austin supervise le projet pour s'assurer qu'il fonctionne toujours comme prévu. Après la conversion, Austin souhaite en savoir plus sur la commande drive_for. En ouvrant l'aide du bloc [Drive for], Austin peut établir des liens entre les paramètres du bloc et la commande Python.

Consultez l'aide pour en savoir plus sur les commandes Switch Python.

Ouvrir l'aide


Pour consulter les informations sur la commande Switch Python dans l'aide, Austin ouvre la fenêtre d'aide et sélectionne le bloc [Drive for], puis fait défiler vers le bas comme indiqué dans la vidéo ici. 

Mme Hunter a pris des nouvelles et a pu constater qu'Austin en apprenait davantage sur le quartier [Drive for]. Elle l'a mis au défi d'appliquer ce qu'il avait appris en convertissant un bloc et en le saisissant dans un nouveau bloc. Elle a montré comment faire glisser un bloc Switch, et a demandé à Austin d'essayer de taper une commande turn_for dans le bloc. Austin ouvre l'aide du bloc et prend note de la structure de la commande. 

Saisie dans un bloc Switch

Ajouter un bloc


Connaissant la commande Python grâce à l'aide en ligne, Austin souhaite la saisir directement dans un bloc Switch. En faisant glisser un bloc [Switch Stack] depuis la boîte à outils, Austin l'ajoute au-dessus du bloc [Turn for] comme indiqué dans cette vidéo. 

Saisissez du texte dans le bloc


Austin utilise ensuite le curseur pour sélectionner le bloc Switch et commence à taper la commande Python turn_for comme indiqué ici. 


 

Après avoir saisi la nouvelle commande et vérifié que les paramètres correspondent au bloc d'origine, le bloc [Tourner pour] peut être supprimé comme indiqué dans cette vidéo. 

Mme Hunter vient voir comment Austin progresse. Elle voit le projet Switch et demande à le voir fonctionner pour s'assurer que les commandes sont saisies correctement. Après avoir vérifié le bon fonctionnement du projet, elle présente une autre fonctionnalité : les blocs multilignes.

Copier et coller


Le bloc [Switch Stack] peut contenir plusieurs lignes de code. Austin copie le texte turn_for et le colle dans le bloc ci-dessus comme indiqué dans la vidéo ici.

 

Austin constate qu'en appuyant sur « Entrée » ou « Retour » au clavier, des lignes supplémentaires peuvent être ajoutées au bloc, et continue d'ajouter des commandes Python.

Se sentant désormais maître des commandes Drivetrain en Python, Austin imprime un certificat et enregistre le projet pour la prochaine fois.

Conversion de piles en commutateurs

Plus tard dans l'année scolaire, Mme Hunter revient sur l'activité de nettoyage des récifs coralliens et met les élèves au défi soit d'obtenir un meilleur score, soit d'utiliser la programmation textuelle. Alors qu'Austin a utilisé les commandes Drivetrain dans les blocs Switch, cette activité est l'occasion d'en apprendre davantage sur l'équivalent des blocs 'C' et des booléens en Python. 

Convertir le wrapper


Austin effectue un appui long ou un clic droit sur le bloc [If then else] et sélectionne « Convertir le conteneur et son contenu en bloc Switch ». Cela convertit la boucle et son contenu en un seul bloc Switch, comme le montre cette vidéo.


 

Notez l'indentation une fois la conversion terminée. Dans un même bloc Switch, plusieurs commandes doivent être correctement indentées pour fonctionner comme prévu.

Blocs de commutation supplémentaires

Bien qu'Austin utilise exclusivement le bloc [Switch Stack], d'autres blocs Switch sont disponibles. Austin est prêt à remettre un projet amélioré de nettoyage des récifs coralliens, mais il prévoit avec Mme Hunter d'essayer un nouveau type de bloc Switch comme ceux énumérés ci-dessous lors du prochain cours.

Les blocs de commutation suivent les mêmes conventions de forme que les autres blocs. Le tableau ci-joint présente la comparaison entre la forme du bloc, sa signification et les blocs Switch du même type.

Forme de bloc Description Exemples de blocs Exemples de commutateurs
blocs de chapeau Commencez par empiler des blocs, qui sont ensuite façonnés pour permettre la fixation de blocs situés en dessous. Espace de travail VR VEXcode avec un bloc interrupteur affichant le bloc équivalent et les commandes Python pour un virage de transmission dans l'environnement de test. Exemples de formes de blocs chapeau, pile, booléen et rapporteur utilisées avec des blocs switch dans VEXcode VR
Blocs empilés Exécuter les commandes principales. Ils sont conçus pour s'emboîter au-dessus ou en dessous d'autres blocs empilés. Exemples de blocs switch pour les types de blocs hat, stack, boolean et reporter dans VEXcode VR Exemples de blocs chapeau, pile, booléen et rapporteur avec leurs blocs switch correspondants dans VEXcode VR
blocs booléens Renvoie une condition sous forme vraie ou fausse et s'insère dans n'importe quel bloc avec des entrées hexagonales (à six côtés) pour les autres blocs. Espace de travail VR VEXcode avec la barre d'outils Blocs et la zone de codage pour la création d'un projet avec des blocs Exemples de blocs hat, stack, Boolean et reporter avec leurs équivalents en blocs switch dans VEXcode VR
Blocs de journalistes Les valeurs du rapport sont présentées sous forme de nombres et s'insèrent dans les blocs comportant des entrées ovales pour les autres blocs. Exemples de blocs de commutation combinant du code basé sur des blocs et du code textuel dans VEXcode VR Palette de blocs VR VEXcode avec les catégories de blocs chapeau, pile, booléen et rapporteur utilisées dans les blocs de commutation
Blocs C Parcourez les blocs qu'ils contiennent ou vérifiez si une condition est vraie ou fausse. Leur forme permet de fixer des blocs empilés au-dessus, en dessous ou à l'intérieur d'eux. Exemples de formes de blocs VEXcode VR (chapeau, pile, booléen et rapporteur) avec leurs formes de blocs switch correspondantes Exemples de blocs switch pour les blocs hat, stack, Boolean et reporter dans VEXcode VR Exemples de blocs de commutation montrant la forme des blocs traduite en code textuel Projet VEXcode VR illustrant les blocs de commutation utilisés pour combiner la programmation par blocs et la programmation textuelle dans l'espace de travail.

Synthèse du tout

Tandis que Mme Hunter observait Austin tester la saisie de différentes commandes Python dans des blocs Switch, elle pouvait constater comment Switch permettait à ses élèves de structurer leur propre apprentissage. Avant de commencer son cours, tous ses élèves avaient des expériences de programmation différentes, et les défis proposés par VEXcode VR leur permettent de programmer à leur propre niveau. Certains étudiants programment exclusivement en Blocks, d'autres en Python, et d'autres encore, comme Austin, utilisent Switch pour passer à la programmation en Python. Au cours des mois suivants, Austin est passé à la programmation exclusivement en Python, appliquant les enseignements tirés de l'utilisation de Switch pour rendre la transition des blocs au texte beaucoup plus facile et fluide. 

Dans VEXcode VR, la fonctionnalité Switch Blocks permet aux enseignants, comme Mme Hunter, de faciliter l'apprentissage tandis que des élèves de tous niveaux de programmation relèvent le même défi. Tout cela permet aux élèves, comme Austin, de se sentir capables d'essayer de nouvelles méthodes pour résoudre les activités de codage lorsqu'ils passent des blocs au texte grâce à Switch Blocks dans VEXcode VR.


1Weintrop, David et Uri Wilensky. « Comment les modalités par blocs, textuelles et hybrides blocs/texte façonnent les pratiques de programmation des novices. »  Revue internationale d'interaction enfant-ordinateur 17 (2018) : 83-92

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

Last Updated: