Didactique de la programmation et apprentissage du numérique
À chacun son parcours, à chacun son approche
La robotique est au carrefour de trois disciplines que sont l’informatique, pour concevoir la logique de commande, la mécanique pour la construction des châssis et des éléments mobiles et enfin l’électronique pour la réalisation des circuits nécessaires aux capteurs et à certains actionneurs.
D’expérience, chaque discipline se retrouve dans les parcours des pratiquants ou des apprenants en robotique. La difficulté est de montrer que tout cela peut être abordé simplement sans cacher que dès qu’un programme prend une certaine ampleur ou gère des composants un peu techniques ou dont le comportement doit être précis et sans faille, il doit être conçu, réalisé et testé dans les règles de l’art.
Les informaticiens connaissent la démarche de conception d’un programme, un ou plusieurs langages informatiques et les algorithmes de gestion des données. Certains parmi eux ont des connaissances dans les logiciels embarqués et sont à l’aise avec les microcontrôleurs et leur environnement. En revanche, leur connaissance se focalise sur des traitements internes à la machine et les interactions se font principalement à l’écran. Ils sont en général peu familiarisés...
Didactique de la programmation et apprentissage du numérique
La question la plus importante qui se pose dans l’apprentissage du numérique est celle du temps. Du temps nécessaire pour acquérir des connaissances et une pratique suffisante pour pouvoir posséder une « habilité » numérique qui permet de se débrouiller pour faire des achats, des téléprocédures ou suivre des comptes bancaires via Internet. La courbe d’apprentissage dans ce cas de figure a une pente plus ou moins prononcée selon les individus, du fait de différents facteurs dont le plus déterminant semble être l’accès à une formation ou à une aide à la prise en main de ces technologies.
À un autre niveau d’habileté, se placent la programmation et plus communément, le codage. Ramener la programmation au simple code est un raccourci qui cache une différence sémantique importante, car la programmation est l’activité tandis que le code est le résultat de cette activité. Cette distinction semble anodine, mais elle met en lumière l’objet et le processus qui le crée. La finalité du code est la satisfaction d’un besoin fonctionnel ou la solution d’un problème et répond à la question du « pourquoi écrire ce programme ? »....
Le travail en atelier de codage : autonomie et collaboration
Le succès d’un atelier comme Scratch ne doit rien au hasard et les pédagogues du MIT ont non seulement conçu et réalisé cet environnement, mais en ont également accompagné le déploiement avec un contenu pédagogique tourné vers l’apprentissage de l’algorithmique et de la programmation.
Depuis plus de dix ans, il est possible d’apprendre à programmer en assemblant des briques dont l’action est indiquée en langage naturel ou par leur couleur. Les supports pédagogiques, l’environnement de codage et des animateurs compétents sont désormais disponibles et c’est un formidable terrain pour accélérer cet apprentissage.
Des ateliers de codage ont vu le jour et attirent de plus en plus de jeunes ou de moins jeunes sur une durée de quelques heures à une journée. Les formations d’animateurs, qui peuvent même être qualifiantes et donner des perspectives à des personnes en voie d’insertion connaissent également un grand succès.
Cette approche nécessite un travail à deux niveaux : individuel et collectif.
1. Le codage individuel
L’individu est poussé par une recherche de connaissances et de compétences en programmation, soit dans le but d’une application la plus immédiate possible à un projet personnel comme la fabrication d’un jeu ou d’un robot, soit dans le but d’une valorisation et d’amélioration des liens sociaux.
L’interaction avec une tablette ou un ordinateur, associée au monde virtuel sans limite physique qu’est...
Un autre triptyque : parcours pédagogique - documents d’appui - outils
La sérendipité est le fait de faire une découverte totalement inattendue alors que la recherche initiale concernait un autre sujet. Elle résulte d’une combinaison de trajectoires de réflexion et d’associations d’idées que favorise la multiplicité des points de vue. Favorisant l’inventivité et un mode de pensée out of the box, elle est précieuse dans le processus d’innovation pour peu que l’on soit capable de reconnaître une opportunité et de la concrétiser.
Mais elle n’est pas suffisante pour produire la connaissance nécessaire à l’apprentissage de la programmation. En simplifiant, il ne suffit pas de combiner tous les blocs possibles dans Scratch ou les instructions du C++ de l’Arduino pour obtenir un code qui fonctionne et il est assez rare qu’un code mal écrit débouche au final sur une application utilisable pour faire autre chose (à l’inverse de la pâtisserie où les exemples de maladresses heureuses sont nombreux).
Trois éléments sont nécessaires pour réaliser un atelier codage dans de bonnes conditions :
-
Un parcours pédagogique qui comprend un ensemble d’activités dont le résultat peut être évalué et qui sont agencées de façon à garantir une progression au prix d’un effort supportable par les participants, ce qui suppose d’identifier trois caractéristiques des participants qui sont le niveau de départ, la capacité à apprendre et la volonté de progresser ou motivation. Il existe d’autres paramètres...
Encourager pour aller plus loin et développer l’expertise
On le voit, la didactique de la programmation a fait d’énormes progrès et permet à des cohortes de programmeurs en herbe d’accéder à la réalisation de montages dont la robotique, par exemple, est une application féconde.
Puisque certaines des compétences acquises sont également celles des professionnels du code, et lorsqu’une motivation suffisante est présente pour aller plus loin, c’est le rôle de l’animateur que d’encourager tous ceux qui se forment et acceptent d’aller un peu plus loin à réaliser des montages de plus en plus élaborés ou de rentrer dans le détail de certains points très techniques pour essayer de les maîtriser.
Dans un groupe, les niveaux ne sont pas homogènes et la plupart des membres se situent à un niveau de compétence moyen jugé satisfaisant tandis qu’une petite partie est au-dessous et que la même proportion se situe au-dessus.
La logique d’apprentissage a été décrite et le processus d’élévation et de validation niveau par niveau de Deming a déjà démontré son efficacité. Il s’agit de décliner cet apprentissage sur le collectif en prenant en compte le niveau de départ...