La décomposition est une compétence informatique fondamentale qui est essentielle pour développer la compréhension à long terme des étudiants sur la façon de résoudre des problèmes de codage. Cet article explore ce qu'est la décomposition, pourquoi elle est importante et comment faciliter l'apprentissage de la décomposition par les élèves.
Qu’est-ce que la décomposition ?
La décomposition est le processus consistant à diviser un problème complexe en parties plus petites et plus gérables. Cela simplifie le processus de création d'un projet de codage en permettant aux étudiants de résoudre un composant du problème à la fois.
Pourquoi la décomposition est-elle importante ?
Lorsque les élèves commencent à apprendre à coder, ils sont confrontés à une réflexion nouvelle et stimulante sur le langage. Ils doivent passer de la communication orale, pleine de déductions et de nuances, à la structure précise et logique requise par le codage. Cet ajustement est extrêmement difficile pour les étudiants et nuit souvent à leur réussite. La décomposition est une compétence informatique essentielle que les étudiants doivent acquérir pour pouvoir coder avec succès, car elle permet aux étudiants de commencer par le langage parlé et de l'affiner jusqu'à ce qu'il puisse être utilisé dans un projet de codage.
La décomposition d'un problème permet de le résoudre par petites étapes, ce qui évite qu'il ne devienne insupportable pour les élèves. Lorsque les élèves décomposent les problèmes en parties plus petites avant de commencer à coder, ils peuvent ensuite créer chaque petite section d'un projet et la tester pour s'assurer qu'elle fonctionne comme prévu, avant de passer à la partie suivante. C'est beaucoup plus facile que d'essayer de coder toutes les étapes nécessaires pour atteindre un objectif en même temps, et cela évite aux étudiants la frustration de se perdre dans un long projet lorsqu'ils tentent de résoudre des erreurs.
Le processus de décomposition donne également aux étudiants une approche systématique pour construire un projet, éliminant ainsi la tentation que les étudiants peuvent avoir de deviner et de vérifier pour trouver une solution. Deviner et vérifier est un moyen inefficace de résoudre un problème, et cela devient inefficace à mesure que les élèves commencent à s'attaquer à des défis de codage de plus en plus complexes.
De plus, la décomposition d'un projet permet aux étudiants d'identifier des modèles dans leur code et de s'appuyer sur, de modifier et de réutiliser des sections de code. Cela facilite la création et le dépannage des projets, tout en offrant aux étudiants une compréhension plus approfondie du code qu'ils créent, leur permettant ainsi d'utiliser cette compréhension dans de futurs projets.
Enfin, la décomposition facilite également la collaboration entre les étudiants lorsqu'ils travaillent ensemble pour créer des projets robotiques en groupe. Un projet décomposé enregistré dans un cahier d'ingénierie fournit un artefact que les étudiants peuvent utiliser lorsqu'ils discutent de projets de groupe ou les partagent avec d'autres groupes.
Faciliter la décomposition
La décomposition se produit lorsque les étudiants sont au stade de la planification, avant même de commencer à élaborer leurs projets. Les étudiants doivent enregistrer leur processus de décomposition dans leurs cahiers d'ingénierie et le partager avec vous avant de commencer à coder. Pour plus d’informations sur l’utilisation des cahiers d’ingénierie avec les étudiants, consultez cet article.
Fournissez aux élèves ce cadre simple en trois étapes pour aborder la décomposition :
- Identifiez l'objectif principal du projet en indiquant le résultat que le robot démontrera une fois le projet réussi. Enregistrez cet objectif dans le cahier d’ingénierie.
- Déterminer les principales étapes que le robot doit suivre pour atteindre l'objectif. Considérez et notez les étapes principales ou globales que le robot devra accomplir pour atteindre l'objectif. Enregistrez ces étapes de haut niveau dans le cahier d’ingénierie.
-
Décomposez les principales étapes en incréments les plus petits possibles du comportement du robot. Décomposez chacune des étapes principales en le plus petit comportement que le robot peut accomplir. Enregistrez ces étapes décomposées dans le cahier d’ingénierie.
- Chacun des comportements du robot doit pouvoir être associé à un bloc ou une commande correspondant. Sinon, les étapes peuvent être décomposées davantage.
Dans cet exemple, les élèves décomposent un projet pour compléter un labyrinthe dans le VEXcode VR Wall Maze + Playground.
Étape 1 : Identifiez l’objectif principal du projet. Enregistrez l'objectif dans le cahier d'ingénierie.
Étape 2 : Déterminez les principales étapes que le robot doit suivre pour atteindre l’objectif.
- Ici, l'élève a réfléchi à tous les comportements que le robot devra adopter pour conduire du point de départ au point final du labyrinthe et les a répertoriés dans l'ordre dans le cahier d'ingénierie.
Étape 3 : Divisez les étapes principales en plus petits incréments du comportement du robot.
- Les élèves peuvent commencer à déterminer les valeurs approximatives nécessaires pour réaliser chaque étape. Ces valeurs devront être testées et ajustées lors de la construction du projet dans VEXcode.
- Les étudiants doivent vérifier que chaque étape décomposée correspond directement à un bloc VEXcode. Dans le cas contraire, l’étape doit être décomposée davantage.
Une fois que les étudiants ont décomposé leur projet en blocs ou commandes individuels, ils peuvent passer de la phase de planification du projet à la phase de mise en œuvre. Ils doivent transférer les principales étapes déterminées à l'étape 2 dans les Commentaires, puis ajouter les blocs ou commandes correspondants à chaque comportement entièrement décomposé de l'étape 3 à chacun de ces Commentaires afin de construire leurs projets.
Les élèves doivent construire leurs projets une étape décomposée à la fois, en testant chaque comportement (ou ensemble de comportements logiquement regroupés) avant de passer au suivant. C’est à ce stade que les élèves devront utiliser les ressources dont ils disposent pour déterminer les valeurs correctes des paramètres. Par exemple, dans l'exemple VEXcode VR ci-dessus, les valeurs de distance ont été déterminées en sachant que chaque carré du labyrinthe mesure 300 mm de diamètre. La méthode de détermination des valeurs variera en fonction des circonstances, mais il sera toujours nécessaire de tester et d'ajuster les valeurs pendant le processus de création d'un projet de codage.
Soutenir les étudiants dans leur apprentissage de la décomposition
Avant que les étudiants ne commencent à travailler sur un défi d'un laboratoire STEM ou d'un autre projet VEXcode, prenez le temps de travailler vous-même sur la décomposition afin d'être prêt à répondre aux questions que les étudiants peuvent se poser. Encouragez les élèves à vous montrer le plan décomposé de leur projet avant de commencer à coder, afin que vous puissiez renforcer le processus de décomposition et vérifier qu'ils ont décomposé la tâche en comportements de robot les plus petits possibles. Rappelez aux élèves qu’ils doivent être capables d’identifier un blocage ou une commande qui correspond à chaque comportement.
- Si les élèves ont de la difficulté à imaginer les étapes principales ou globales que le robot doit suivre pour atteindre l’objectif du projet, encouragez-les à :
- Dessinez le chemin que le robot doit emprunter pour atteindre son objectif.
- Mettez en scène les étapes que le robot doit suivre pour atteindre l’objectif.
- Parlez des étapes que le robot doit suivre pour atteindre l’objectif.
- Si les élèves ont du mal à déterminer si leurs étapes ont été décomposées en bloc individuel ou en niveau de commande, demandez-leur :
- Combien de blocs ou de commandes faudrait-il au robot pour exécuter ce comportement ?
- Le robot peut-il effectuer cette étape en utilisant un seul bloc ou une seule commande ?
- Comment pouvez-vous décomposer ce comportement en actions de robot encore plus petites ?
Soutenir vos élèves dans leur apprentissage de la décomposition garantira qu’ils disposent d’une base solide pour la résolution future de problèmes en informatique.
Avez-vous d'autres questions sur la façon de faciliter l'apprentissage de la décomposition par les élèves dans votre classe ? Demandez-leur dans la communauté PD+, ou planifiez une session individuelle pour parler avec un expert VEX.