Faire vivre des réussites grâce à la programmation informatique

Une femme m’a confié que son enfant de neuf ans était incapable de nommer une source de fierté. À l’école, tout semble trop facile. Rien à faire, son enfant s’ennuie tous les jours, malgré les bonnes intentions de son enseignant.e.

Apprendre à programmer a été pour moi très bénéfique à l’adolescence. D’abord par curiosité, j’ai appris à créer des pages Web à partir de HTML et CSS. Par la suite, c’est devenu une véritable passion, et je réalise aujourd’hui que la programmation m’a peut-être amené beaucoup plus que des compétences en informatique. En effet, ma compétence en résolution de problèmes et ma capacité à créer ont été fortement développées. Plus encore, j’avance même que la programmation a été pour moi une façon de mieux me connaître : l’ordinateur est un véritable miroir de notre raisonnement. Si notre programme ne fonctionne pas, ce n’est très probablement pas un défaut dans ses composantes : le problème vient de notre code, de notre programmation, de ce qu’on lui a demandé de faire. Ainsi, programmer nous force à être conscients de la façon par laquelle on réfléchit. C’est tout l’aspect métacognitif de la chose. Ça, c’est ma situation personnelle. Dans le cadre de ma maîtrise en technologie éducative à l’Université Laval, mes recherches visent à comprendre et documenter la nature des bénéfices que cet apprentissage m’a apportés. Je m’affaire également à vérifier si, vraiment, d’autres peuvent en profiter de la même façon.

J’en conviens, ce projet est ambitieux et ne sera certainement pas terminé demain – peut-être même ne le sera-t-il jamais, tant les chemins sont nombreux et prometteurs. D’ici là toutefois, on peut assumer que la programmation informatique est au moins un moyen comme bien d’autres de parvenir à des réalisations concrètes de façon créative. Plus encore, personne ne peut mettre en doute l’essence même de la programmation informatique : résoudre des problèmes. Ces problèmes sont toujours ancrés dans un contexte dont on doit tenir compte, et il y a toujours de la place pour l’invention, pour la créativité. Voilà pourquoi quiconque cherche un nouveau moyen de rendre son enfant fier de ses réalisations devrait considérer la programmation comme une activité « à essayer ». Je m’affairerai ici à décrire quelques pistes par lesquelles n’importe qui peut s’y initier (parent, enseignant, enfant, …) : activités débranchées, Scratch et robotique pédagogique.

Activités débranchées

_12

Comme leur nom l’indique, les activités débranchées ont l’avantage de ne pas nécéssiter beaucoup de matériel : la plupart peuvent se réaliser à partir de papier et de crayons, ou de quelques accessoires faciles à adapter. Leur objectif : développer la logique, les opérations arithmétiques, les bases de l’algorithmie (séquences logiques d’opérations). Elles ont fait leurs preuves : ces activités sont amusantes et éducatives, en plus de bien poser les bases nécessaires à la programmation informatique. Parmi les activités débranchées, on peut intégrer tous les petits jeux de logiques, puzzles, labyrinthes, dans lesquels on doit réfléchir de façon à considérer des mouvements dans l’espace et le temps. La photo à gauche est celle d’une tour de Hanoï, un célèbre puzzle que je viens de me procurer. Le but est simple : déplacer la tour sur une autre colonne en respectant deux règles : ne jamais placer un bloc sur un bloc plus gros, et ne déplacer qu’un bloc à la fois.

programme

Voici un exemple : une personne possède une feuille avec des instructions simples. Lorsqu’on lui affiche la lettre A, elle doit avancer d’un pas. Lorsqu’elle reçoit B, elle recule, C, elle pivote à gauche et D, elle pivote à droite, de sorte qu’on peut la déplacer à peu près n’importe où en alternant entre les lettres. En plaçant quelques obstacles au sol et en définissant un point d’arrivée, le jeu peut prendre place. Un individu doit « programmer » une séquence de A, B, C et D permettant à l’individu-robot d’atteindre sa cible. Cette activité permet d’apprendre l’importance de décortiquer une instruction à un niveau de précision requis par un ordinateur (ou à tout le moins s’en approchant).

guide

Le Guide d’activité technocréatives pour les enfants du 21e siècle constitue à cet égard une ressource intéressante à explorer. Il a été construit par la professeure Margarida Romero de l’Université Laval et Viviane Vallerand, à ce jour bachelière en enseignement préscolaire et primaire. Les activités y figurant sont des cadres que l’on peut facilement adapter à plusieurs contextes, selon le matériel, le nombre d’enfants et les ressources.

Scratch

scratch

Scratch est un langage (et un logiciel) de programmation visuelle développé par le MIT. Il a été conçu spécialement pour rendre accessible la programmation aux enfants dès 7 ans, en faisant une place de choix à la créativité des enfants. Le logiciel est sans doute un des meilleurs dans sa catégorie, les alternatives étant un peu désuettes ou moins adaptées à l’enfance. N’importe qui peut comprendre l’interface intuitive en y mettant un peu de temps. La couleur et la forme des blocs donnent des indices sur leur utilisation. L’avantage est donc la facilité d’accès et les multiples possibilités de créations. L’inconvénient, c’est qu’on peut être limité par les fonctions incomplètes et l’interface. Rien qui empêche un enfant de s’amuser, mais on manque parfois d’options pour organiser nos données. Si un enfant a l’impression de maîtriser Scratch et d’avoir fait le tour, alors il est sans doute prêt pour des langages comme Python, Javascript et PHP.

Scratch est gratuit, tous les projets sont libres de droits, et il est très bien entretenu depuis sa création. Il est disponible en ligne, mais il peut aussi être téléchargé et installé sur l’ordinateur (Windows, Mac ou Linux).

Robotique pédagogique

Mêler le concret et l’abstrait, voilà bien l’intérêt de la robotique pédagogique. Le problème de mathématiques ne se termine plus par une simple rétroaction à savoir si la réponse est bonne ou pas. Non, il se termine par un résultat tangible : le robot avance ou n’avance pas, le moteur tourne ou ne tourne pas, la grue soulève la charge ou non. Autant vous le dire d’avance : les robots pédagogiques coûtent cher (parfois trop cher pour ce qu’ils sont). Plusieurs écoles et organismes commencent à en acheter et peut-être vous est-il possible de les emprunter ou louer, à défaut de vouloir investir quelques centaines de dollars.

bee-botLes Beebots sont des robots programmables pouvant se déplacer sur une surface plane à partir d’une programmation composée de cinq instructions: avancer, reculer, tourner à gauche, à droite ou attendre. Les codes peuvent contenir jusqu’à 40 instructions. Ils sont idéals pour développer une représentation spatiale, particulièrement pour les enfants de moins de 10 ans. L’enfant doit anticiper les mouvements du robot. Par exemple, appuyer sur la flèche de gauche peut avoir pour résultat de faire tourner le robot à droite, dépendamment du point de vue/perspective. On a par contre rapidement fait le tour de ce qu’ils peuvent faire. Par exemple, trois élèves de huit ans étaient déjà moins intéressées par les Beebots après deux séances de 30 minutes.

Les Lego Wedo sont des kits de composantes Lego adaptées à la robotique. Ils contiennent un moteur, un détecteur de mouvements, une petite lumière et un senseur. Les pièces sont par contre très limitées : les possibilités sont beaucoup plus nombreuses si on dispose déjà d’un bon stock de Lego. Ils peuvent être utilisés avec Scratch grâce à l’extension Wedo. Les kits coûtent environ 300$. Il y a un intérêt pédagogique certain, mais, personnellement, je ne paierais pas plus de 50$ pour le tout (vue la fragilité et le faible nombre des pièces). C’est mon avis.

Raspberry Pi est un système de robotique modulable. En achetant plusieurs composantes séparément, il est possible de construire un robot et de le programmer en Python (un langage informatique a priori pas conçu pour les enfants, mais tout de même assez accessible). Raspberry Pi est donc plutôt destiné aux enfants à partir de 11-12 ans, quoique des plus jeunes bien intéressés pourraient finir par faire leur chemin.

En conclusion

En conclusion, la programmation informatique est aujourd’hui plus que jamais accessible aux enfants de tous les âges (et pas seulement aux enfants, évidemment !). Elle offre de nouveaux moyens pour produire des réalisations concrètes en combinant apprentissages et créativité. N’importe quel adulte impliqué auprès d’enfants (enseignants ou parents) ne devrait surtout pas avoir peur ou se sentir impuissant au point de ne pas tenter le coup. C’est l’enfant qui bénéficiera de votre ouverture !