Skip to main content

Évaluer et expliquer

Icône Boîte à outils de l'enseignant Boîte à outils pour les enseignants - Présentation de l'efficacité du code

Maintenant que les élèves se sont entraînés à écrire des séquences de code pour accomplir une tâche spécifique, il leur sera demandé d'appliquer ces compétences à la lecture des séquences de code et à leur évaluation. Dans cette activité, les élèves recevront une carte similaire à celle de la section Jouer, et il leur sera demandé de regarder 3 séquences de codes pour choisir la solution préférée. Pour chaque séquence, les élèves répondront à 3 questions :

  • Ce code accomplit-il la tâche ?

  • Si cela fonctionne, quels sont les avantages de ce code par rapport aux autres ?

  • Quels sont les inconvénients de ce code par rapport aux autres ?

Ensuite, en regardant toutes les séquences, les élèves seront initiés à l'idée d'efficacité du code et on leur demandera quelle est leur solution préférée, basée sur l'efficacité et leurs propres préférences, et pourquoi. Cela peut être un tremplin pour toute une discussion en classe sur l'efficacité et la précision du codage.

Lecture des séquences de codes pour choisir une solution préférée

Au fur et à mesure que votre classe travaillait sur la section Play, vous avez probablement remarqué qu'il existait de nombreuses solutions différentes au même problème présenté. C'est quelque chose qui arrive souvent dans le monde de la programmation. Bien qu'il puisse y avoir différentes façons de faire quelque chose, tout le monde aura une méthode ou une solution préférée, et cela pourrait être basé sur un certain nombre de facteurs. Dans cette activité, votre groupe examinera 3 solutions possibles par blocs de code à un problème, déterminera si elles fonctionnent de la manière prévue, puis choisira une solution préférée du groupe et expliquera pourquoi vous l'avez choisie.

Le problème : créez une séquence qui, lorsque le robot commence au début, entrera et sortira des 3 salles de classe (dans n'importe quel ordre) et reviendra au point final. Le robot doit naviguer dans les escaliers et peut passer par les portes marquées par les petits rectangles sur l'image de la carte.

Mise en page esquissée montrant le début dans le coin inférieur gauche et la fin dans le coin inférieur droit. Au-dessus du départ se trouve la salle A avec une porte face au départ et une à droite, face aux escaliers au centre. Directement à droite de l'escalier se trouvent la salle B et la salle C empilées au-dessus de l'extrémité. Il y a des portes vers les chambres B et C en face des escaliers, et une reliant les deux.

  • Pour chaque solution ci-dessous, répondez à ces 3 questions dans votre cahier d'ingénierie :
    • Ce code accomplit-il la tâche ? Pourquoi ou pourquoi pas ?
    • Si cela fonctionne, quels sont les avantages de ce code par rapport aux autres ?
    • Quels sont les inconvénients de ce code par rapport aux autres ?
  • La plupart du temps, la programmation est évaluée sur son efficacité, et la solution préférée est celle qui atteint l'objectif de la manière la plus efficace possible.

Cliquez sur les solutions ci-dessous pour voir une image plus grande.

Exemple de solution pour le défi consistant à 19 Drive to and Turn pour les blocs connectés au bloc When Started. Dans l'ordre, les blocs feront tourner le robot à droite de 90 degrés, avancer de 10 pouces, tourner à gauche de 90 degrés avancer de 3 pouces, puis reculer de 6 pouces, puis tourner à gauche de 90 degrés, avancer de 10 pouces. Tournez ensuite à droite à 90 degrés, avancez de 8 pouces et reculez de 4 pouces, tournez à droite à 90 degrés, avancez de 10 pouces. Ensuite, tournez à gauche de 90 degrés, avancez de 1 pouce, tournez à droite de 90 degrés, avancez de 3 pouces et reculez de 4, puis tournez à droite de 90 degrés et avancez de 5 pouces.
Solution A (pouces)

Un exemple de solution avec 11 Drive for et Turn pour les blocs connectés à un bloc When started. Dans l'ordre, les blocs feront avancer le robot de 10 pouces, tourner à gauche de 90 degrés, avancer de 1 pouce, tourner à gauche de 90 degrés, avancer de 1 pouce, tourner à droite de 90 degrés, avancer de 10 pouces, tourner à droite de 90 degrés, puis inverser de 5 pouces, tourner à droite de 90 degrés et avancer de 10 pouces.
Solution B (pouces)
Un exemple de solution avec 10 Drive for et Turn pour les blocs connectés au bloc When started. Dans l'ordre, les blocs feront avancer le robot de 8 pouces puis de 4 pouces, tourner à droite de 90 degrés, avancer de 13 pouces, tourner à gauche de 90 degrés, avancer de 8 pouces, tourner à gauche de 90 degrés, avancer de 4 pouces, tourner à droite de 90 degrés et reculer de 5 pouces.
Solution C (pouces)
Exemple de solution pour le défi consistant à 19 Drive to and Turn pour les blocs connectés au bloc When Started. Dans l'ordre, les blocs feront tourner le robot à droite de 90 degrés, avancer de 254 mm, tourner à gauche de 90 degrés avancer de 76 mm, puis reculer de 152 mm, puis tourner à gauche de 90 degrés, avancer de 254 mm. Ensuite, tournez à droite à 90 degrés, avancez de 203 mm et reculez de 101 mm, tournez à droite à 90 degrés, avancez de 254 mm. Ensuite, tournez à gauche de 90 degrés, avancez de 25 mm, tournez à droite de 90 degrés, avancez de 76 mm et reculez de 101 mm, puis tournez à droite de 90 degrés et avancez de 127 mm.
Solution A (métrique)
Un exemple de solution avec 11 Drive for et Turn pour les blocs connectés à un bloc When started. Dans l'ordre, les blocs feront avancer le robot de 254 mm, tourner à gauche de 90 degrés, avancer de 25 mm, tourner à gauche de 90 degrés, avancer de 25 mm, tourner à droite de 90 degrés, avancer de 254 mm, tourner à droite de 90 degrés, puis inverser 127 mm, tourner à droite de 90 degrés et avancer de 254 mm.
Solution B (métrique)
Un exemple de solution avec 10 Drive for et Turn pour les blocs connectés au bloc When started. Dans l'ordre, les blocs feront avancer le robot de 203 mm puis de 101 mm, tourner à droite de 90 degrés, avancer de 330 mm, tourner à gauche de 90 degrés, avancer de 203 mm, tourner à gauche de 90 degrés, avancer de 10 mm, tourner à droite de 90 degrés et reculer de 127 mm.
Solution C (métrique)

Qu'est-ce que l'efficacité du code ?

Si vous aviez besoin d'obtenir 3 choses de votre cuisine, vous iriez probablement obtenir les 3 choses en une seule course, au lieu de faire 3 courses distinctes. Pourquoi ? Parce que ce serait plus efficace. Efficace signifie « atteindre une productivité maximale avec un minimum d'efforts ou de dépenses gaspillés ». Alors, comment cela se connecte-t-il à la programmation ? L'efficacité

du code signifie qu'un programme est écrit pour bien fonctionner et rapidement, en utilisant le moins de travail, ou d'étapes, correctement, tout en continuant à faire son travail. C'est important car cela réduit le risque qu'un programme ne fonctionne pas bien et, par conséquent, pose des problèmes pour d'autres parties d'un programme qui tournent autour de lui. L'efficacité d'un code peut être une mesure de qualité, et lorsque nous écrivons des projets en bloc VEXcode IQ, nous recherchons souvent le projet le plus « efficace » comme solution préférée.

Fondamentalement, l'efficacité du code est un principe qui signifie que vous voulez écrire un code qui atteint votre objectif en utilisant le moins de commandes ou de blocs possible.

Dans votre cahier d'ingénierie, répondez aux questions suivantes :

  • Avec l'efficacité du code à l'esprit, quelle est votre solution préférée et pourquoi ?
  • Pensez-vous que c'est la meilleure solution, pourquoi ou pourquoi pas ?

Icône Boîte à outils de l'enseignant Boîte à outils de l'enseignant - Réponses

Les réponses peuvent varier car aucune dimension spécifique n'a été donnée ci-dessus pour créer une séquence permettant de naviguer dans trois pièces.
Cliquez ici pour un exemple de solution possible.

Icône Motiver la discussion Motiver la discussion

Bien que l'efficacité soit utile, nous avons souvent d'autres considérations sur la façon ou la raison pour laquelle nous faisons les choses d'une certaine manière. Demandez aux élèves de partager leurs réponses dans leur cahier d'ingénierie et/ou d'utiliser cette question pour encadrer une discussion sur l'équilibre entre l'efficacité et les actions.
Q : En programmation, l'efficacité est généralement la méthodologie préférée ; pouvez-vous penser à une raison pour laquelle c'est le cas ?
R : Les réponses varient, mais certaines incluent :

  • L'édition de projets afin qu'ils soient plus efficaces aide ceux qui pourraient éventuellement travailler avec le même projet à l'avenir. Par exemple, si vous travaillez sur un projet et que quelques jours plus tard, demandez à votre ami de mettre à jour le projet et d'ajouter quelques éléments supplémentaires pour augmenter la fonctionnalité, il sera plus facile pour votre ami de lire et de travailler avec si le projet est écrit efficacement.

  • Les projets sont toujours susceptibles d'erreurs. Plus un projet est écrit efficacement, moins une erreur est susceptible d'être commise.

  • Les personnes qui utilisent la programmation pour manœuvrer des robots industriels comptent sur l'efficacité de ces projets afin d'économiser du temps, de l'énergie et des ressources à l'entreprise.