Des briques aux blocs : connaissances, objets et code
STEAM : une approche par blocs de connaissance
1. Qu’est-ce que STEAM ?
Au milieu des années 2000 émerge le mouvement STEM (Science, Technologie, Engineering et Mathématiques) ou STIM en français (le « I » de Ingénierie remplace le « E » de Engineering). Le sigle STEM est cependant porteur de sens puisqu’il signifie aussi « tige » en anglais et c’est à partir de cette tige que vont se développer des feuilles matérialisant les connaissances dans différents domaines dont les initiales composent cet acronyme.
Cette démarche est lancée sous forme d’un projet visant à préparer les élèves, depuis leur entrée dans le système scolaire jusqu’à la terminale, aux emplois de demain. Le terme « K-12 » est souvent employé et fait référence à l’étendue de ce cursus dans la plupart des pays anglo-saxons. Ce sigle désigne en effet le cursus ou la progression depuis la maternelle ("Kindergarten") jusqu’à la fin des études secondaires ("12th grade"). Il sert de point de repère aux enseignants, aux formateurs et aux animateurs, d’abord à l’étranger, et de plus en plus fréquemment en France. Il a pour but d’établir une correspondance leur permettant de positionner leurs contenus pédagogiques en fonction du stade de développement de leur public.
Le mouvement STEM, très fécond, est basé sur une simple observation. Du fait du développement de la technique et des évolutions de liens sociaux, une grande partie des métiers qu’exerceront les écoliers actuels n’existe pas encore. Une autre observation conduit à dire que ceux qui ont une idée assez précise de ce qu’ils vont faire plus tard ne le feront probablement pas toute leur vie. Ce pourrait être le cas, par exemple, d’un changement radical qui conduirait un ingénieur comme Joseph Cooper dans le film Interstellar, de Peter Nolan, à devenir fermier, ou en cas de remplacement total ou partiel, par une intelligence artificielle, de la réalisation des tâches pour lesquelles ils ont été formés....
Les systèmes classiques et historiques pour la construction d’objets par assemblage de blocs
Les systèmes de construction par assemblage ne sont pas nouveaux. Ils ont marqué l’enfance de bon nombre d’entre nous et sont toujours de pleine actualité. Ils sont plébiscités par les spécialistes de l’ingénierie structurelle et du génie civil et permettent, entre autres, de se familiariser avec les principes de construction de ponts, de bâtiments, de véhicules et de machines.
1. Les briques et les blocs dans le monde réel : Meccano et Lego
Le cas de Meccano est exemplaire. Cette création britannique plus que centenaire proposait (et propose encore) aux mécaniciens en herbe d’appliquer les principes de construction à partir de pièces de tôle qu’il fallait assembler avec des boulons et permettait de comprendre les différents types de mouvement et leur transformation avec des poulies, des courroies, des rouages et des engrenages en laiton. Ce choix dans les matériaux fera sans doute sourire les partisans du PLA et de l’impression 3D, mais était très proche du monde de la mécanique et offrait de nombreuses possibilités de création. Au fil du temps, la marque a changé de propriétaire et a su évoluer en intégrant des matières plastiques et des modèles novateurs ainsi qu’un kit dédié à la robotique, qui permet de créer un robot équipé d’un microcontrôleur capable de reconnaissance vocale.
Ce principe de construction par assemblage suit une logique classique d’apprentissage. La personne à qui est destiné le kit, le plus souvent un enfant scolarisé éventuellement soutenu par un adulte accompagnant, est d’abord guidée par une notice donnant un pas à pas d’assemblage d’un modèle dont la configuration est figée. Cette étape fait appel à une capacité de reconnaissance des formes des différents composants et une étape préliminaire de reconnaissance du contenu du kit facilite la compréhension de l’ensemble. Un peu comme l’identification des pièces et des vis d’assemblage pour un meuble en kit. Ensuite...
Des briques et des blocs de code avec Scratch, mBlock, Ardublock et Blockly
1. Scratch et le paradigme de la programmation visuelle par blocs
L’idée de programmer visuellement en assemblant des objets graphiques plutôt qu’en écrivant du code n’est pas nouvelle. Son éclosion a été facilitée dès la fin des années 1990 par l’arrivée d’outils de conception graphique intégrés dans des ateliers de génie logiciel et qui permettaient de générer du code dans un ou plusieurs langages. Très efficaces en termes de rapidité de développement, ces outils reportent l’effort de création du code au niveau de la création ou de l’implémentation de l’algorithme.
Ainsi, c’est en agençant des blocs correspondant à une action, telle que lire un fichier, trier ou filtrer ses enregistrements ou enregistrer des données dans une nouvelle structure, que les programmeurs ont pu concevoir des programmes de plus en plus importants. Ce qui a permis d’alléger leur tâche, puisqu’ils n’avaient plus à se préoccuper de la programmation de plus bas niveau (ouverture/fermeture d’un fichier, tri binaire ou plus évolué).
La chaîne de développement d’applications s’en est trouvée facilitée. Pour la plupart des programmeurs, il s’agissait d’une progression vers un niveau d’abstraction supplémentaire en remontant du code vers le concept, de la même façon que le passage d’un langage « machine » à un langage évolué tel que le C a permis de simplifier la programmation.
Toutefois, la programmation textuelle reste importante, voire nécessaire dans les cas non prévus ou non encore couverts par la programmation visuelle. Certaines applications, et c’est le cas pour les systèmes embarqués et la robotique, nécessitent d’accéder à des fonctions de bas niveau, voire de gérer des instructions directement au niveau du processeur. D’autres sont spécifiques et font appel à des commandes particulières comme les commandes « AT » pour la gestion d’un protocole de communication.
Dans la recherche...
Prendre des composants sur étagère ou les faire soi-même
C’est un choix qui n’est pas si fréquent et parfois même inconscient. Il dépend de la situation dans laquelle se trouve le concepteur ou l’inventeur et de ce qu’il a envie ou besoin de faire.
Faire soi-même, c’est vouloir apprendre en concrétisant une idée. D’abord en la creusant pour en faire les tours et contours avec quelques recherches en bibliothèque ou sur Internet. Ensuite, c’est travailler dans une logique pédagogique en se confrontant aux difficultés et surtout en apprenant à les résoudre.
Enfin, c’est la grande satisfaction d’avoir approfondi ou acquis des connaissances et des savoir-faire pour réaliser un montage ou un projet valorisant.
Comprendre comment un objet ou une machine fonctionne, le réparer ou l’améliorer, le mettre au point et le faire évoluer sont des sources de satisfaction pour les artisans, inventeurs, ingénieurs, makers et adeptes du DIY.
Le premier réflexe dans une démarche d’apprentissage est donc de chercher à fabriquer soi-même tous les composants du projet.
Mais cela a un coût, celui du temps passé sur des choses basiques et déjà bien maîtrisées techniquement. Il est plus rapide et plus efficace d’acheter ce qui est déjà maîtrisé pour laisser du temps à la construction de ce que l’on n’a pas encore en main pour mieux s’approprier un fonctionnement global. C’est un adage qui vaut pour les projets personnels comme pour les projets professionnels : acheter la technologie innovante, vendre la technologie diffusante. En effet, en termes d’intérêt et de progression, refaire des composants ou des assemblages qui sont largement diffusés et donc à moindre coût présente peu d’intérêt. En revanche, intégrer des composants déjà assemblés dans un ensemble dont la conception et le plan sont innovants est nettement plus intéressant.
La solution la plus efficace est un « mixte » des deux en achetant ou en récupérant des composants tout prêts sur étagère pour créer des macrocomposants...