3. Pensée computationnelle et programmation
La programmation ne se résume pas à taper des lignes de code que les ordinateurs doivent suivre; c’est une compétence puissante qui nous permet de transformer des idées en applications concrètes, de relever des défis complexes et de mieux comprendre le fonctionnement du monde numérique. Dans la société actuelle, dominée par la technologie, la programmation est devenu une compétence indispensable, qui nous permet de créer et de façonner tant des simples pages Web que des technologies d’intelligence artificielle de pointe. Apprendre à programmer permet aux jeunes de mieux comprendre les technologies qu’ils utilisent au quotidien, tout en développant des compétences essentielles en matière de résolution de problèmes, de créativité et de logique.
Cette section présente les principes fondamentaux de la programmation, vous guidant à travers les différentes façons de l’intégrer dans vos programmes de STIM et de l’adapter à divers environnements d’apprentissage. Vous acquerrez les outils nécessaires pour inspirer et accompagner les jeunes novices dans le monde de la programmation.
Même si vous possédez déjà de solides connaissances en programmation, nous vous encourageons à explorer cette section. En plus de constituer un bon moyen de rafraîchir vos connaissances, celle-ci propose également des approches originales spécialement conçues pour aborder la programmation avec les jeunes de manière attrayante, accessible et adaptée à leur âge. Ces stratégies peuvent vous aider à mettre à profit vos connaissances actuelles afin d’animer efficacement des activités de programmation dans le cadre de vos ateliers, camps ou programmes.
Si vous maîtrisez les bases, vous pouvez commencer par consulter la section Au-delà de l’écran ci-dessous, qui aborde les aspects à prendre en compte pour mettre en place des activités de programmation dans divers environnements d’apprentissage.
Pensée computationnelle
Alors que nous commençons à explorer la programmation, il est important de comprendre la mentalité qui va naturellement de pair avec celle-ci : la pensée computationnelle. La programmation ne se limite pas à la connaissance des règles et de la syntaxe (la « grammaire ») des instructions que les ordinateurs doivent suivre; il s’agit d’apprendre à décomposer les problèmes, à reconnaître des schémas et à élaborer des solutions.
Ce cadre de résolution de problèmes nous aide à aborder des tâches complexes de manière logique et créative. Vous encouragez sans doute déjà la pensée computationnelle chez les jeunes dans le cadre de vos activités de STIM : il s’agit d’une façon de penser naturelle et intuitive qui passe par la résolution de problèmes, l’apprentissage et la découverte. La programmation affine la pensée computationnelle, ce qui nous aide à relever plus efficacement des défis plus importants et plus complexes. La pensée computationnelle comprend quatre étapes principales, qui doivent être suivies dans l’ordre :
Décomposition : Décomposer un problème ou un système complexe en éléments plus petits et plus faciles à gérer.
Reconnaissance de schémas : Rechercher des similitudes entre les problèmes et au sein de ceux-ci.
Abstraction : Se concentrer uniquement sur l’information importante, en ignorant les détails non pertinents.
Algorithmes : Élaborer une solution étape par étape au problème, ou les règles à suivre pour résoudre le problème.
Pour développer efficacement la pensée computationnelle dans vos programmes de STIM, il est important de concevoir des activités et des scénarios qui favorisent l’acquisition des compétences et des mentalités essentielles. Voici quelques approches permettant d’intégrer la pensée computationnelle dans l’environnement d’apprentissage :
Renforcer la confiance dans la gestion de la complexité : Créer des tâches comportant plusieurs étapes interdépendantes, comme parcourir un labyrinthe ou construire un robot. Encourager les jeunes à décomposer les problèmes complexes en éléments plus faciles à gérer, en leur montrant que les grands défis peuvent être relevés grâce à de petites étapes logiques.
Cultiver la persévérance face aux problèmes difficiles : Créer un environnement favorable où les défis sont considérés comme des occasions de progresser, en encourageant la résilience et la résolution créative des problèmes.
Encourager la tolérance à l’ambiguïté : Encourager la créativité en proposant des projets ouverts qui permettent aux jeunes d’explorer différentes pistes pour trouver des solutions viables, ce qui les aide à cultiver leur curiosité, à développer leur patience et à comprendre que tous les problèmes n’ont pas de solution immédiate.
Favoriser une approche axée sur la résolution des problèmes : Donner aux jeunes l’occasion de développer leur esprit critique en leur posant des questions ouvertes, en leur proposant d’émettre des hypothèses sur des solutions possibles et en les invitant à envisager différentes possibilités.
Développer des compétences de collaboration et de communication : Préparer des activités de groupe où le travail d’équipe devient essentiel pour atteindre des objectifs communs, en insistant sur l’importance d’échanger des idées, de travailler ensemble et d’apprendre les uns des autres.
Activité 3 : La recette du succès
Mettez en pratique les fondements de la pensée computationnelle en concevant un organigramme pour préparer votre plat préféré. De la même manière que les algorithmes guident l’ordinateur pour effectuer des tâches, vous créerez un guide étape par étape pour préparer votre repas.
Vous pouvez le reproduire dans votre cahier d’activités imprimé ou numérique à l’aide de plateformes telles que Canva, Draw.io, Google Slides ou Microsoft PowerPoint.
Utilisez des formes simples (p. ex. des rectangles pour les étapes, des losanges pour les choix) afin de créer un organigramme qui guide l’utilisateur ou l’utilisatrice à travers les étapes de votre recette.
Ajoutez un peu de complexité en intégrant des étapes de prise de décision de base dans votre organigramme. Par exemple, si un plat au four n’est pas encore cuit, le remettre au four et poursuivre la cuisson.
Réfléchissez à la question suivante : De quelles manières les principes de la pensée computationnelle et de la conception d’algorithmes peuvent-ils être appliqués au processus de développement de contenu?
Programmation par blocs
La programmation revêt de nombreuses formes et utilise divers langages, chacun ayant ses propres règles et sa propre syntaxe (la grammaire d’un langage de programmation). La programmation par blocs constitue un excellent point de départ pour initier les jeunes à la programmation. Cette méthode permet aux jeunes de créer des algorithmes en glissant et en déposant des « blocs de code » prédéfinis qui s’emboîtent comme les pièces d’un casse-tête, chaque bloc représentant une instruction ou une fonction précise.
La programmation par blocs permet aux jeunes de se concentrer sur la logique, la structure et la résolution de problèmes sans être gênés par une syntaxe complexe ou des fautes de frappe. Celle-ci propose une approche visuelle et accessible pour apprendre les concepts de la programmation, ce qui en fait un point d’entrée attrayant et adapté aux débutants dans le monde de la programmation.
Activité 4 : La narration avec Scratch
Entraînez-vous à la programmation par blocs en apprenant les bases de Scratch, une plateforme Web gratuite dédiée à la programmation par blocs. Consultez la présentation ci-dessous qui fournit un guide rapide sur l’utilisation de Scratch. Celle-ci présente ses fonctionnalités et propose des ressources utiles pour enrichir votre apprentissage et faciliter votre animation.
Application Web : Plateforme Scratch (la création d’un compte est facultative)
Après avoir lancé un nouveau projet de programmation dans Scratch, suivez les tutoriels « Crée une histoire » et « Anime un personnage », puis posez-vous les questions suivantes pendant que vous programmez :
En quoi le fait d’assembler des séquences de blocs dans Scratch vous a-t-il aidé à saisir le concept d’algorithme et à renforcer votre compréhension de la pensée computationnelle?
Quelles possibilités d’intégration de la programmation par blocs dans vos programmes de STIM avez-vous remarquées? Comment pouvez-vous utiliser Scratch pour transformer vos leçons et activités de STIM?
Comment pouvez-vous adapter les activités Scratch pour qu’elles correspondent aux centres d’intérêt et au niveau d’apprentissage de vos jeunes?
Voici quelques conseils pour intégrer la programmation par blocs dans vos programmes de STIM :
Commencez par quelque chose de simple : Commencez par les concepts de programmation de base, comme la création d’une séquence simple de commandes. Au fur et à mesure que les jeunes se familiarisent avec la plateforme et les concepts, introduisez progressivement des idées plus complexes, telles que des boucles.
Favorisez l’apprentissage fondé sur les questions : Encouragez les jeunes à explorer et à mettre à l’essai la programmation par eux-mêmes. Posez des questions ouvertes pour inciter à la réflexion critique et à la résolution de problèmes (par exemple : « Que pensez-vous qu’il se passera si vous modifiez ce bloc de code? »). Insistez sur l’importance de tester et d’itérer leur code.
Faites des liens avec des applications concrètes et des thèmes transversaux : Intégrez la programmation par blocs dans diverses matières telles que les mathématiques, les sciences et les arts, tout en aidant les jeunes à prendre conscience du lien entre la programmation et les défis du monde réel.
Incorporez la narration : Utilisez la narration ou des projets créatifs comme moyen d’apprendre la programmation, afin de permettre aux jeunes de faire le lien entre les concepts de programmation et leurs propres centres d’intérêt et expériences.
Programmation textuelle
Tandis que la programmation par blocs utilise des éléments visuels, la programmation textuelle consiste à saisir les commandes et les instructions en utilisant le texte et la syntaxe d’un langage de programmation. Cette approche reflète la manière dont la programmation est pratiquée dans les milieux professionnels et offre davantage de souplesse et de contrôle. Même si cette méthode peut sembler plus complexe au premier abord, il s’agit d’une compétence indispensable pour mener à bien des projets plus avancés dans le domaine de la programmation ou du développement logiciel, ainsi que dans les carrières en STIM.
Activité 5 : Des blocs au texte
Comparez et mettez en parallèle la programmation par blocs et la programmation textuelle en explorant EduBlocks, une plateforme Web gratuite qui utilise des blocs familiers à glisser et déposer pour aider les utilisatrices et utilisateurs à programmer à l’aide de langages textuels tels que Python. Consultez la présentation ci-dessous qui fournit un guide rapide sur les fonctionnalités d’EduBlocks. Celle-ci présente également divers langages de programmation textuels et vous donne des conseils pour vous aider à choisir le langage de programmation à intégrer à vos camps, ateliers et programmes.
Application Web : Plateforme EduBlocks (la création d’un compte est facultative)
Suivez le tutoriel « Create a Happy Birthday Song » dans la section Apprendre en utilisant Python 3, un langage de programmation textuel. Réfléchissez aux questions suivantes pendant que vous programmez.
En quoi le fait d’avoir exploré à la fois les méthodes de programmation par blocs et textuelles vous a-t-il aidé à comprendre les différentes approches de programmation?
Qu’avez-vous découvert concernant la courbe d’apprentissage des jeunes lors du passage de la programmation par blocs à la programmation textuelle?
Quels projets créatifs ou occasions d’apprentissage pourriez-vous proposer par l’entremise de la programmation textuelle, et en quoi ces activités pourraient-elles être liées aux STIM?
Quelles stratégies pouvez-vous mettre en œuvre pour trouver un équilibre entre l’introduction des concepts de programmation et les activités d’apprentissage par l’expérience, afin de maintenir la motivation et l’intérêt des jeunes?
Lorsqu’on initie les jeunes à la programmation textuelle, il est important de tenir compte de leur âge, de leur expérience et de leur aisance par rapport à la programmation et la technologie. Voici quelques conseils pour intégrer la programmation textuelle dans vos programmes de STIM :
Commencez par des étapes simples : Commencez par présenter un langage de programmation textuel en explorant des commandes de base, telles que l’affichage de texte, tout en enseignant aux jeunes la syntaxe et les structures fondamentales étape par étape.
Appuyez-vous sur les connaissances acquises : Si vous avez déjà présenté la programmation par blocs, poursuivez sur cette lancée en expliquant en quoi les « blocs de code » avec lesquels ils ont travaillé auparavant correspondent avec les lignes de texte de la programmation textuelle. Soulignez en quoi la logique et la structure restent cohérentes dans les deux approches.
Offrez des occasions d’interagir : Faites participer les jeunes en leur proposant des activités, des exercices et des projets de programmation interactifs et pratiques. Favorisez l’expérimentation en les encourageant à mettre à l’essai leur code étape par étape et à observer les résultats en temps réel.
Stimulez la curiosité par le biais du code : Aidez les jeunes à résoudre des problèmes et à expérimenter de manière autonome, en les aidant non seulement à maîtriser le langage de programmation et sa syntaxe, mais aussi à comprendre la logique et les concepts qui le sous-tendent.
Préparez les supports visuels et les ressources : Utilisez des supports visuels tels que des diagrammes pour donner un aperçu de l’environnement de programmation, des organigrammes pour illustrer le fonctionnement du code, et des pages pour résumer les règles et la syntaxe d’un langage de programmation.
Créez des projets collaboratifs : Adoptez une approche de programmation en binôme pour favoriser l’apprentissage et la collaboration, en permettant aux jeunes de travailler ensemble sur des projets de programmation.
Faites preuve de patience et apportez votre soutien : Créez un environnement d’apprentissage ludique et créatif lorsque les jeunes s’initient à la programmation. Offrez-leur beaucoup d’encouragements, utilisez des exemples clairs, et faites preuve de patience pendant que vous les guidez dans le processus de dépannage et de correction de leur code.
Au-delà de l’écran
L’intégration de la programmation dans l’environnement d’apprentissage des STIM peut prendre de nombreuses formes, selon les ressources disponibles et les résultats souhaités. Certaines activités nécessitent l’utilisation de la technologie, tandis que d’autres peuvent être réalisées sans, ce qui permet d’adopter des approches créatives pour explorer les concepts de programmation. Que ce soit en utilisant des appareils ou en privilégiant les activités hors ligne, ces deux approches peuvent encourager les jeunes à développer leur esprit critique, à collaborer efficacement et à mettre en pratique la pensée computationnelle.
Nous explorerons comment ces différentes approches peuvent être intégrées à vos camps, ateliers et programmes de STIM afin de créer des expériences d’apprentissage attrayantes et efficaces.
Activité 6 : Solutions à faible technicité
Explorez les activités de programmation et de compétences numériques d’Actua pour les jeunes de la 5e à la 12e année et réfléchissez à des façons d’adapter le contenu à divers contextes, y compris l’apprentissage à distance (en ligne) ou les milieux sans support technologique. Utilisez le tableau ci-dessous, ou un tableau similaire, pour consigner quelques notes.
| Activité d’Actua | Apprentissage à distance Comment pourriez-vous adapter cette activité aux contextes d’apprentissage en ligne? | Milieux sans support technologique Comment pourriez-vous adapter cette activité à des milieux où la technologie est inexistante ou minime? | Adaptations du programme Comment pourriez-vous modifier cette activité en utilisant les ressources dont vous disposez actuellement? |
Course
Viewed 100 times