Pensée computationnelle

Mathématiquess (lucadp, iStockphoto)
Ce document d'information présente en détails ce qu’implique la pensée computationnelle (CT) et pourquoi elle est importante pour les élèves d’aujourd’hui.
LA PENSÉE COMPUTATIONNELLE: INTRODUCTION
Presque toutes les sphères de nos vies personnelles et professionnelles sont dorénavant imprégnées de technologie numérique. Les plus jeunes d’entre nous n’ont même jamais connu un monde sans ordinateurs ni téléphones intelligents. Mais, bien qu’ils soient de grands consommateurs de technologie, on se demande de plus en plus s’ils sont bien préparés à en devenir des créateurs. Les
chercheurs Kafai et Margolis (Washington Post en ligne, 2014 [traduction]) décrivent ainsi la situation :
« Aujourd’hui, être natif de l’ère du numérique ne se résume pas à naviguer sur le Web, à utiliser de la technologie pour communiquer ou à faire partie de réseaux de jeux en ligne. Cela implique en effet de savoir comment les choses sont faites, de décomposer et de résoudre des problèmes, de concevoir des systèmes, de fournir un apport créatif et de comprendre les ramifications sociales et éthiques de nos gestes. Les ordinateurs sous toutes leurs formes font dorénavant partie intégrante de notre vie collective; ils nous permettent non seulement d’interagir avec le monde, mais aussi de nous y sentir utiles. »
Selon nous, pour aujourd’hui comme pour demain, les élèves devront apprendre à penser « de façon computationnelle » en acquérant les compétences, les connaissances et les dispositions mentales associées à la pensée computationnelle (PC), parfois aussi appelée pensée informatique.
QU'EST-CE QUE LA PENSÉE COMPUTATIONNELLE?

Le terme « pensée computationnelle » commence à faire son apparition au sein des systèmes d’éducation du monde entier, y compris celui du Canada, de la maternelle à la fin du secondaire. Comme il s’agit d’une nouvelle notion, il importe que les enseignants en comprennent le sens avant de pouvoir en favoriser l’apprentissage par les élèves. C’est pourquoi nous nous sommes penchés sur de nombreux documents provenant d’un bout à l’autre de la planète (programmes scolaires, littérature didactique, ressources à l’intention d’éducateurs, sites Web d’organismes offrant des programmes en PC, etc.) pour y trouver des définitions et des explications.
Un milieu où la PC s’épanouit en est un où les utilisateurs peuvent développer les compétences requises pour devenir des créateurs. (Lee et coll., 2011, p. 35 [traduction])
La pensée computationnelle...
implique des processus intellectuels comme le raisonnement logique |
est associée de manière non exclusive aux processus |
prend appui sur les outils, techniques et concepts informatiques (c.-à-d. la décomposition, l’abstraction et le raisonnement algorithmique). |
implique une structuration systématique et logique de procédures (algorithmes) pour générer des solutions automatisables |
permet la création de solutions qui peuvent être efficacement réalisées par un appareil de traitement de l’information, comme un |
implique souvent la collecte, l’organisation (le tri, le groupement) et l’analyse de données (recherche de |
peut mener à la création de produits, de |
permet de développer et de maintenir des compétences en raisonnement de plus haut niveau, comme l’analyse, la synthèse et l’évaluation. |
favorise le développement d’habiletés et de |
Dans de nombreux cas, au lieu de définir franchement la PC, on l’explique du point de vue des connaissances et des compétences que les élèves doivent acquérir pour la développer. Certains résultats d’apprentissage sont conceptuels (la notion d’algorithmes, par exemple), certains sont axés sur des compétences (le raisonnement algorithmique, par exemple). Certaines sources décrivent également des activités d’apprentissage fondées sur la PC qu’elles désignent par des termes comme « stratégies », « méthodes », « approches », « processus » ou « pratiques ».
Bien qu’il semble y avoir peu de consensus quant à la terminologie, les chercheurs ont toutefois exprimé des idées récurrentes.
Il n’y a actuellement pas de définition universellement acceptée pour la PC. Celles qui nous sont données sont très semblables, mais expliquées de manières différentes selon les intérêts et opinions des chercheurs, des éducateurs et des organisations (en sciences informatiques, en sciences tout court, en mathématiques, etc.) qui les ont formulées.
OÙ LA PENSÉE COMPUTATIONNELLE S’INTÈGRE-T-ELLE?
À maints égards, la PC s’insère dans ce qu’on appelle la culture ou littératie numérique (LN). Selon le Conseil des technologies de l’information et des communications (CTIC) la LN se définit par « la capacité de repérer, de classer, de comprendre, d’évaluer et de générer de l’information en utilisant la technologie numérique pour établir une société fondée sur le savoir » (2012 p. 2). Le Brookfield Institute for Innovation + Entrepreneurship la caractérise quant à lui comme « la capacité, fondée sur une habileté à comprendre de manière critique le contenu et les instruments numériques, d’utiliser des outils technologiques pour résoudre des problèmes. Cela peut aussi inclure l’aptitude plus avancée de créer de nouveaux outils, produits et services technologiques » (2017, p. 11 [traduction]).
Les sciences informatiques (SI) sont moins « axées sur l’utilisation d’ordinateurs » et « vont au-delà de simples notions de programmation » (ministère de l’Éducation de l’Ontario, 2008, p. 3 [traduction]). Elles se situent là où la LN et la PC se chevauchent, comme on peut le voir à la figure 1. La programmation, parfois désignée par le terme « codage », s’inscrit parfaitement dans la LN, les SI et la PC. Elle consiste à dire quoi faire aux ordinateurs. Dans la plupart des cas, les gens utilisent un langage particulier qui définit la manière d’écrire le code pour que les appareils le comprennent. La programmation peut aider les élèves à développer de nombreux aspects de la PC.

Il importe de noter que certains aspects de la PC peuvent être développés sans la technologie numérique; c’est pourquoi les losanges de la LN et de la PC à la figure 1 ne se chevauchent pas complètement.
LE CADRE PÉDAGOGIQUE EN PENSÉE COMPUTATIONNELLE DE PARLONS SCIENCES
Le Cadre pédagogique en pensée computationnelle de Parlons sciences présente une synthèse des nombreuses définitions et explications proposées à ce jour. Son élaboration s’appuie sur des travaux effectués par la Computer Science Teachers Association (É.-U.), l’International Society for Technology in Education, Computing at School (R.-U.), le Brookfield Institute (Canada), Karen Brennan et Mitchell Resnick (MIT Media Lab), ainsi que Peter J. Denning. Il est conçu pour illustrer comment les diverses facettes de la PC permettent aux élèves d’acquérir les compétences, les connaissances et les habitudes mentales dont ils ont besoin pour créer des solutions et résoudre des problèmes au sein d’un monde numérique.

Ce qui suit donne plus de détails sur les attentes de chaque catégorie à observer chez les élèves alors qu’ils développent la pensée computationnelle.
Pratiques computationnelles (compétences)
Abstraction

Exemples
- Identifier toutes les étapes nécessaires afin de faire un gâteau.
- Expliquer comment les parties du corps d’une libellule lui procurent un avantage afin d’être un prédateur efficace.
- Créer un jeu vidéo avec vos amis. Comment pourriez-vous diviser les tâches?
- Créer un programme qui convertira une valeur de température en degrés Fahrenheit, en degrés Celsius. Quelles sont les étapes et processus importants?
Habiletés liées
Simplifier, recentrer, généraliser, trier
Collecte et analyse de données

Définition
La collecte de données est une méthode planifiée qui consiste à sélectionner et collecter l’information nécessaire à la résolution d’un problème ou pour répondre à une question précise. Lors qu’on définit les méthodes de consignation et d’organisation des données, il est important de considérer les types de données collectées (ex.: qualitatives, quantitatives) afin de définir la meilleure façon de les documenter et organiser, en considérant l’objectif que les données doivent être utilisées pour l’analyse et l’interprétation.
L’analyse de données implique l’observation des régularités pouvant en être extraites, telles des résultats répétitifs, des tendances à la baisse ou la hausse, etc. L’analyse inclut aussi l’exercice d’expliquer les régularités et tendances, autant que les écarts ou données irrégulières.
Exemples
- La nuit, combien d’animaux traversent la route à cet endroit? Quelles données devrait-on collecter? Comment collecter ces données?
- Qu’observez-vous sur la germination des semences au cours des deux dernières semaines?
- Quelle est l’espèce d’oiseau la plus commune venant se nourrir à la mangeoire? Quelles données devrait-on collecter? Comment collecter ces données?
Habiletés liées
Observer, comparer, analyser, interpréter, tirer des
conclusions
Débogage

Définition
Quand un programme informatique ne fait pas ce que vous pensiez qu’il ferait, il pourrait y avoir des erreurs. Les erreurs dans un ou des programmes informatiques sont appelées « bogues ». Déboguer un problème consiste à identifier et corriger les bogues trouvés. Les bogues peuvent inclure des erreurs de syntaxe ou d’orthographe, les erreurs de logique et autres types d’erreurs. Le débogage nécessite le raisonnement logique.
Exemples
- Pourquoi est-ce que l’ordinateur indique que le code ne peut se compiler, est-ce dû à une faute d’orthographe?
- Pourquoi est-ce que votre programme vous donne un résultat aussi éloigné de ce qui était prévu, est-ce dû à une erreur de logique?
- Quels tests simples pourriez-vous effectuer
afin de vous aider à trouver le bogue dans ce programme?
Habiletés liées
Observer, tester, analyser, interpréter
Décomposition

Définition
La décomposition consiste à diviser un problème en parties ou sous-problèmes. Travailler avec une portion d’un problème sert à réduire la complexité globale d’un problème. La décomposition peut aussi comprendre la compréhension d’un produit informatique (logiciel, site web, etc.) en termes de ces composantes (ex. : graphiques, données, interface, etc.). La pensée computationnelle implique non seulement la décomposition d’un problème, mais aussi l’application des connaissances acquises lors de la résolution de problèmes antérieurs et l’identification d’une solution au problème après que tous les sous-problèmes aient été réglés.
Exemples
- Identifier toutes les étapes nécessaires afin de faire un gâteau.
- Expliquer comment les parties du corps d’une libellule lui procurent un avantage afin d’être un prédateur efficace.
- Créer un jeu vidéo avec vos amis. Comment pourriez-vous diviser les tâches?
- Créer un programme qui convertira une valeur de température en degrés Fahrenheit, en degrés Celsius. Quelles sont les étapes et processus importants?
Habiletés liées
Décomposer, diviser, trier, classifier
Raisonnement algorithmique

Définition
Le raisonnement algorithmique est la compétence nécessaire à la création d’un algorithme. Un algorithme est une série de règles ou instructions ordonnées, logiques et précises nécessaires à la résolution d’un problème ou à l’atteinte d’un objectif déterminé. En identifiant les étapes qui peuvent être transmises comme instructions (verbales ou écrites), ou codes ou programmes à d’autres personnes ou appareils informatiques, le raisonnement algorithmique est la compétence utilisée.
Exemples
- Quelles étapes sont nécessaires afin de faire votre sandwich idéal?
- Est-ce que l’ordre des étapes est important? Pourquoi ou pourquoi pas?
- Créer un algorithme qui pourrait vous aider à décider ce que vous porterez comme vêtements chaque jour.
- Créer un algorithme qui peut vous aider à identifier les oiseaux que vous pouvez voir dans votre quartier.
- Créer un algorithme pour enseigner à un jeune élève comment faire une boucle avec ces lacets de chaussures.
Habiletés liées
Planifier, organiser, ordonner, classifier, trier
Raisonnement logique

Définition
Le raisonnement logique consiste à penser de façon logique. Ce raisonnement implique de débuter avec une prémisse (information que l’on sait vraie), puis d’utiliser sa logique pour terminer avec une conclusion qui est cohérente avec cette prémisse. Nous appliquons le raisonnement logique lorsque nous utilisons l’abstraction, le raisonnement algorithmique et l’observation de régularités.
Exemples
- Raisonnement déductif : lorsqu’on déduit, on débute avec une prémisse précise qui nous conduit à un conclusion exacte et précise( ex. : Tous les carrés sont des rectangles. Tous les rectangles ont quatre côtés; donc, tous les carrés ont quatre côtés.).
- Raisonnement inductif : lorsqu’on induit, on utilise une prémisse précise qui conduit à une conclusion générale, parfois même imprécise (ex. : Les élèves de ma classe 6e année aiment l’éducation physique; donc, tous les élèves de 6e année aiment l’éducation physique.).
Habiletés liées
Classifier, analyser, généraliser
Représentation des données

Définition
Une fois que les données sont collectées, elles sont souvent conservées dans une base de données informatique. Parfois, les utilisateurs voudront analyser toutes les données, parfois ils ne seront concernés que par une portion ou sous-groupe des données. Afin de pouvoir adéquatement analyser et communiquer ces résultats, il est souvent pratique de représenter les données de façon plus visuelle et conviviale, tel que dans un graphique, un tableau, une infographie, etc.
Exemples
- Quelles villes du Canada ont le plus haut taux de CO2 dans leurs classes? Quelle est la meilleure façon de représenter ces données?
- Comment organiseriez-vous les données sur les précipitations quotidiennes des grandes villes afin d’aider les chercheurs à comparer les futures données, que ce soit entre différentes périodes ou différents endroits?
- Quelle est la méthode la plus utile pour représenter mes notes en mathématiques afin de m’aider à analyser mon progrès?
Habiletés liées
Organiser, trier, interpréter
Reconnaissance de régularités

Définition
La reconnaissance de régularités implique la capacité de reconnaître, identifier et utiliser des régularités pour décrire et représenter les séquences dans des données ou processus. En identifiant ces régularités, il est possible de prédire comment fonctionneront certains éléments ou ce qui peut arriver sous certaines conditions. La reconnaissance de régularités permet la création de règles, comme lorsque des actions peuvent être répétées automatiquement. La reconnaissance de régularités permet aussi d’appliquer une méthode reconnue comme précédemment valable et de l’appliquer à une nouvelle problématique, ce qui améliore grandement l’efficacité du processus de résolution de problèmes.
Exemples
- Quelle régularité remarquez-vous
lorsque vous dessinez un carré?
Comment pourriez-vous appliquer
cette connaissance au dessin d’un
pentagone? - Quelles notes sont répétées dans
la musique? Quand est-ce que ces
parties sont répétées? - Au baseball, qu’arrive-t-il après
deux prises? Et après trois prises?
Habiletés liées
Observer, prédire, comparer, généraliser
Tests et évaluation

Définition
Tester implique l’essai de quelque chose et l’observation du résultat. L’évaluation implique l’utilisation de la pensée critique et du bon sens afin de déterminer si une liste de critères sont respectés. Si ce n’est pas le cas, alors des corrections ou améliorations seront peut-être nécessaires. La programmation informatique est bien souvent un procédé interactif pendant lequel la phase de test et d’évaluation est utilisée de façon récurrente.
Exemples
- Est-ce que le personnage animé bouge de la façon prévue et espérée?
- Qu’arrive-t-il lorsque vous testez le robot? Était-il capable d’atteindre le panier à chaque lancer?
- Qu’arrive-t-il lorsque vous téléchargez le code pour faire défiler votre nom sur l’écran du micro:bit? Est-ce que les lettres de votre nom défilent dans le bon ordre?
Habiletés liées
Observer, comparer, analyser
Concepts en pensée computationnelle (connaissances)
Données

Définitions
Les ordinateurs et autres systèmes de communication fonctionnent avec différents types de données. Les données sont des valeurs que les ordinateurs peuvent conserver et récupérer. Types de données : les différents types de données sont propres aux différents langages informatiques, mais comprennent normalement des types tels: les caractères (lettres, ponctuation, espaces), chaînes (séquences de caractères), nombres entiers, nombres à virgule fixe ou flottante et données de type booléen, souvent utilisées dans les expressions conditionnelles.
Exemples
- Caractère (ex.: A); Chaîne (e.g., Allo!); Nombre entier (ex.: 12).
- Nombre à virgule flottante (ex.: 15,2203829) - peut avoir un nombre variable de chiffres après la virgule décimale.
- Condition booléenne (valeur vraie ou fausse seulement) - peut être interprétée comme activé/désactivé ou actif/ inactif.
- Si vous voulez suivre le nombre de buts qui ont été comptés, quel type de données utiliseriez-vous? (nombre entier).
- Si vous voulez conservez l’information sur l’état d’une lampe (allumée ou éteinte), quel type de données utiliseriez-vous? (de type booléen)
Entrées et sorties

Définitions
Les entrées et sorties (parfois abbréviées E/S mais plus souvent I/O pour l’anglais, Inputs et Outputs) est la forme de communication entre humains et ordinateurs, entre ordinateurs, à l’intérieur même d’un processus informatique, ou entre un ordinateurs/robot et son environnement. Les humains interagissent avec les ordinateurs grâce à des composants qu’on appelle périphériques. Lorsque les ordinateurs interagissent avec d’autres ordinateurs, c’est souvent à travers des réseaux comme l’internet. Les entrées et sorties sont impliquées à tous les niveaux opérationnels d’un ordinateur.
Exemples
- Les humains fournissent des entrées aux ordinateurs grâce à des périphériques comme les claviers, souris, caméras, microphones, etc.
- Les ordinateurs fournissent des sorties grâce à des haut-parleurs, un écran, imprimantes, etc.
- Les robots utilisent des dispositifs d’entrée comme des capteurs (capteur de lumière, de température, etc.), boutons, etc.
- Les dispositifs de sortie des robots incluent des composants tels moteurs, haut-parleurs, actionneurs, témoins lumineux, etc.
Événements

Définitions
Un événement implique une action qui en déclenche une autre, comme lorsqu’un ordinateur répond à une action de son utilisateur. Les entrées d’un utilisateur incluent des actions telles le clic d’un bouton de souris, taper une touche du clavier ou toucher un écran tactile à un endroit précis.
Exemples
- Agrandir une carte lorsque quelqu’un double-clique dessus.
- Défiler les images d’un téléphone lorsque quelqu’un glisse son doigt sur l’écran.
- Ajuster le volume d’un video lorsque quelqu’un presse un des boutons + ou - .
Expressions conditionnelles

Définitions
Parfois, dans un algorithme, il est nécessaire de sélectionner une action parmi une liste de possibilités, de façon similaire à la nécessité de prendre une décision quand à la voie à emprunter lorsqu’on arrivons à un embranchement de la route. Les expressions conditionnelles donnent des règles précises pour contrôler la séquence des actions, tel... si quelque chose est vrai, alors quelques chose se produit ou sinon quelque chose d’autre se produit. Les expressions conditionnelles permettent à un programme de prendre des décisions et contrôler la séquence d’actions, sans l’intervention humaine.
Exemples
- S’il pleut à l’extérieur, vous aurez alors besoin de porter des bottes de pluie, sinon vous pouvez mettre vos chaussures sport.
- Si le capteur indique une température supérieure à 25ºC, alors afficher un icône sourire, sinon le capteur indiquant une température inférieure à 25ºC, alors afficher un icône triste.
- Si vous arrivez à une intersection dans le labyrinthe, alors tournez à gauche, sinon continuez en ligne droite. Si (heure < 18:00) {salutation = “Bonjour”;} sinon {salutation
- = “Bonsoir”:}.
Fonctions

Définitions
Une fonction regroupe toutes les étapes d’une action complexe en une seule commande (ex. : brosser ses dents). Les fonctions sont particulièrement utiles pour définir une séquence de commandes qui peuvent être reproduites, par exemple comment faire tourner un robot à droite, à un angle de 90 degrés. La création de fonctions se base sur l’observation de régularités, l’abstraction et le raisonnement logique.
Exemples
- Brosser ses dents (implique ouvrir le robinet, mettre de la pâte à dents sur sa brosse à dents, etc.).
- Fonction : Dessiner un carré (tracer une ligne droite de 3 cm, tournez à 90º, tracer une ligne droite de 3 cm, tournez à 90º, tracer une ligne droite de 3 cm, tournez à 90º,tracer une ligne droite de 3 cm, tournez à 90º.).
- Fonction : Style de l’entête <h1 style=“color: Gray;”>
Opérateurs

Définitions
Les opérateurs sont des caractères qui demande à l’ordinateur d’exécuter une fonction précise, soit mathématique ou logique. Les opérateurs utilisés dépendent du langage de programmation mais peuvent inclure des opérateurs pour additionner (+), soustraire (-), multiplier (*), diviser (/), moins que (<), plus que (>) et égal à (==), aussi bien que des opérateurs logiques tels ET (&&), OU (II) et NON (!).
Exemples
- Quelle est la somme des âges de tous les membres de ma famille? (âgeMoi + âgeFrère + âgeMaman + âgePapa)
- Est-ce que ton frère est plus âgé que toi? (âge-Frère > âgeMoi)
- Les opérateurs Plus que et Moins que fournissent des résultats booléens (vrai ou faux) dans la plupart des langages de programmation.
Répétitions (boucles)

Définitions
La répétition dans un algorithme consiste à répèter une étape un certain nombre de fois jusqu’à ce que le point de terminaison soit atteint. Les tâches répétitives sont très communes en programmation informatique et programmer des actions afin qu’elles se répètent automatiquement (boucle) peut épargner bien du temps. Les boucles aident à mieux organiser et abréger les programmes en diminuant la quantité de code qui doit être écrite.
Exemples
- Expliquez à quelqu’un d’autre la façon la plus efficace de faire 100 sandwiches.
- Programmer une lampe afin q’elle s’allume et s’éteigne à des moments précis de la journées.
- Programmer un jeu de voitures pour que la course s’arrête automatiquement après 10 tours de piste.
- Créer un oeuvre d’art qui implique une répétition, comme une mosaïque, une frise, un mandala ou une figure fractale.
Séquences

Définitions
Les étapes d’un algorithme se produisent toujours selon une séquence déterminée. Il faut toutefois noter qu’une séquence est rarement linéaire et qu’elle peut impliquer des tâches répétitives ou s’exécuter seulement sous certaines conditions. Un diagramme de séquence est un bon outil pour comprendre et représenter les séquences.
Les séquences simples et linéaires font partie des premiers concepts à apprendre en programmation.
Exemples
- Quelles sont les étapes nécessaires à ……? (ex. : changer un pneu, brosser ses dents, se faire un sandwich). Y a-t-il des étapes que vous répétez?
- Déterminer les règles d’un jeu (ex. : qu’arrive-t-il au tout début, ensuite, pour finir une partie?).
- Décrire le trajet pour se rendre à l’école à l’aide d’une carte routière (ex. : où débuter, tourner? Où sont les points de départ, d’arrivée?).
- Expliquer à quelqu’un comment dessiner un carré avec un périmètre déterminé.
Variables

Définitions
Les variables sont des items où l’on peut conserver et récupérer des données. Les variables ont des noms qui représentent les données qu’elles conservent, ce qui rend une variable un concept abstrait puisqu’une chose (nom de variable) représente quelque chose d’autre (donnée). Les variables possèdent aussi un type de données (le type de données que l’on peut conserver) et une valeur (représentant ce qui est conservé dans la variable). Dans les langages de programmation, les variables sont sensibles à la casse, en un seul mot, sans espace.
Exemples
- var a = 10; var b = 5; a et b sont les noms des variables et le = vous indique quelle donnée est conservée dans chaque variable.
- La variable “âge” pourrait représenter l’âge des gens (ex. : var âge;).
- La variable “tauxdecroissance” pourrait être utilisée pour suivre la croissance d’une plante sur une certaine période de temps (ex. : var tauxdecroissance;).
- La variable “temperature” pourrait être utilisée pour conserver et récupérer les lectures de température d’un capteur.
- La variable “Nomdeleleve” pourrait être utilisée pour conserver le nom de l’élève et l’insérer automatiquement dans un courriel personnalisé.
Approches en pensée computationnelle (dispositions)
Bidouillage (apprentissage exploratoire)

Définitions
Dans le contexte de la pensée computationnelle, le bidouillage ou apprentissage exploratoire (tinkering en anglais) signifie explorer la programmation de façon ludique et grâce des essais et erreurs. L’apprentissage exploratoire inclut changer certaines parties du code d’un tiers pour voir ce qui s’ensuit. L’apprentissage exploratoire est important parce qu’il développe la pensée créative et la confiance de l’utilisateur qui prend un risque en essayant quelque chose de nouveau. C’est aussi une méthode efficace de commencer à apprendre les bases de la programmation, via les relations de cause à effet. L’apprentissage exploratoire concorde avec la phase d’UTILISATION de la progression des apprentissages en pensée computationnelle (Use-Modify-Create) selon Lee et al.
Exemples
- Modifier les couleurs de vêtements d’un lutin (personnage) dans Scratch.
- Ajuster le code pour afficher vos initiales sur l’écran matriciel dans MakeCode.
- Modifier le code pour qu’un robot puisse se déplacer différemment.
Débranché

Définitions
Utiliser la pensée computationnelle ne nécessite pas nécessairement un ordinateur! Plusieurs activités qui développent les compétences de pensée computationnelle peuvent être faites de façon « débranchée », signifiant sans ordinateurs. Jouer à un jeu avec des règles, faire un casse-tête de logique and créer et suivre des recettes sont différents façons de faire des exercices en pensée computationnelle de façon « débranchée ».
Exemples
- Programmation sur papier
- Dessiner des cartes routières ou la complétion de labyrinthes.
- Jouer à des jeux où une personne doit dire à une autre ce qu’il faut faire ou où aller.
- Compléter une table de vérité, aussi connu comme le jeu de « vérité ou mensonge ».
Fabrication

Définitions
Dans le contexte de la pensée computationnelle, la fabrication pure implique l’écriture d’un code de A à Z, sans débuter avec un code existant. Ceci est habituellement possible lorsqu’on est familier avec un langage de programmation et qu’on possède de l’expérience avec des approches telles l’apprentissage exploratoire et le remixage. La fabrication concorde avec la phase de CRÉATION de la progression des apprentissages en pensée computationnelle (Use-Modify-Create) selon Lee et al. (2011).
Exemples
- Créer son propre avatar et le dessiner avec Scratch.
- Concevoir et construire un robot LEGO™ Mindstorms les différentes pièces incluses dans l’ensemble.
- Créer et programmer un bandeau avec capteurs en utilisant un micro:bit.
Réutilisation et remixage

Définitions
La réutilisation signifie prendre une partie d’un code créée par d’autres et de l’utiliser pour résoudre un problème, au lieu de le créer à partir de zéro. Le remixage implique d’assembler ou « fusionner » du code pour créer un vidéo, un fichier sonore, du texte, etc. créés par d’autres afin de produire quelque chose de nouveau et unique. La réutilisation et le remixage concordent avec la phase de MODIFICATION de la progression des apprentissages en pensée computationnelle (Use- Modify-Create) selon Lee et al.
Exemples
- Utiliser les images existantes dans la bibliothèque de Scratch.
- Prendre un projet que quelqu’un d’autre a fait dans Scratch et le changer (remixer) afin de lui donner sa touche personnelle.
- Réutiliser une fonction que quelqu’un d’autre a créé (ex. : Au démarrage, afficher temp.).
En savoir plus
Éditeur et langage de programmation Scratch (le sélecteur de langues se trouve en cliquant sur le globe dans le coin supérieur gauche)
Programmez vos propres histoires interactives, jeux et animations avec ce langage de programmation en blocs créé par le MIT.
La pensée informatique ou computationnelle
Cet article du Magazine Swissinformatics traduit explique pourquoi enseigner la pensée computationnelles diffère de l'enseignement de la programmation.
Informatique débranchée : présentation et ressources
Ce site du DSDEN de la Meuse offre plusieurs ressources pour enseigner la pensée computationnelles de façon débranchée
Références
Brennan, K., & Resnick, M. (2012). Using artifact-based interviews to study the development of computational thinking in interactive media design. American Educational Research Association.
Brookfield Institute. (2017). Digital learning in a digital age: A discussion paper.
Computing at School Barefoot. (2014). Computational thinking.
Computing at School. (2014). Computing in the national curriculum. A guide for secondary teachers.
Computing at School. (2015). Computational thinking. A guide for teachers.
Computing at School. (2015). QuickStart computing. A CPD toolkit for primary teachers.
Computer Science Teachers Association. (2016). K-12 computer science framework.
Denning, P. J. (2017). Computational thinking in science. American Scientist, 105(1), 13-17.
Denning, P. J. (2017). Remaining trouble spots with computational thinking. Communications of the ACM, 60(6), 33-39.
Information and Communications Technology Council. (2012). Digital literacy: Canada’s productivity opportunity. A white paper from the Information and Communications Technology Council (ICTC).
International Technology in Education. (2016). ISTE standards for students.
International Technology in Education (ITTE), & Computer Science Teachers Association. (2011). Computational thinking teacher resources. ITTE.
Kafai, Y. & Margolis, J. (2014, October 7). Why the ‘coding for all’ movement is more than a boutique reform. Washington Post.
Let's Talk Science. (2018). Computational thinking framework.
Ontario Ministry of Education. (2008). The Ontario curriculum grades 10 to 12: Computer studies.
Phillips, P. (2009). Computational thinking: A problem-solving tool for every classroom. Computer Science Teachers Association & Microsoft.