Stratégies d’enseignement de l’informatique
sans ordinateur :
L’informatique a besoin de la machine, les principes qui sous-tendent cette science peuvent se
penser sans elle. Pour aborder des concepts de base de la science informatique (algorithme,
langage, programme…), il n’est pas nécessaire d’utiliser du matériel numérique : on peut mettre
en œuvre des activités débranchées.
Activités débranchées :
La construction de dessins, à la main, en suivant la philosophie de la tortue logo, autrement dit
en utilisant un jeu d’instructions limité (tourne, avance, dessine) représentées par des cartes, se
prête bien à une découverte de la notion d’algorithme (Figure 1). Une autre approche passe par
l’analyse d’un jeu et la formalisation de stratégies gagnantes comme le jeu de NIM, ou les
haricots de Dijkstra. Une approche plus physique, autrement dit qui nécessite que les
participants se déplacent, peut être mise en œuvre pour illustrer certains algorithmes de tri. Il
est également possible d’aborder des notions plus avancées, en réfléchissant aux
caractéristiques des algorithmes trouvés pour résoudre un problème. Comment savoir s’ils sont
corrects ? Existe-t-il une solution unique ? S’il existe plusieurs solutions, l’une d’elles est-elle
meilleure que les autres ?
Figure 1: matériel pour des activités liées aux algorithmes.
Les activités autour des codes secrets (figure 2). Et plus particulièrement de la cryptographie
permettent d’aborder la notion du codage (et en l’occurrence même de chiffrement)
d’informations. Elles peuvent traiter de cryptographie symétrique, où la clé de chiffrement et la
même que celle de déchiffrement (chiffre de César, scytale) ou de cryptographie asymétrique,
où les clés de chiffrement et déchiffrement sont différentes (activité du coffre et des cadenas).
Un autre terrain de jeu intéressant est le codage des images. On peut s’intéresser aux images
binaires, autrement dit en noir et blanc, par exemple via un tableau de 0 et de 1. On peut
également se poser la question de la compression de telles images, autrement dit de trouver un
codage moins gourmand en mémoire. On peut aussi étendre l’activité à la représentation des
images en couleur. Enfin, il est possible de réaliser des activités autour de la stéganographie,
qui consiste à dissimuler une information dans une autre information. Une telle activité peut,
par exemple, consister à cacher des chiffes ou des lettres dans une « image » réalisée avec des
perles à repasser.
Figure 2: matériel pour des activités liées à la représentation des données.
De façon peut-être plus inattendue, il est aussi possible de réaliser des activités débranchées
autour du fonctionnement des machines (figure 3). Une approche jeu de rôle peut, par
exemple, permettre aux participants de se familiariser avec les différents composants d’un
ordinateur en se mettant à leur place et en coopérant pour exécuter un petit programme (par
exemple, la saisie et l’affichage d’un caractère). Des activités permettent également de
s’immerger dans les principes du parallélisme, c’est le cas de l’activité réseau de tri. D’autres
donnent à expérimenter le fonctionnement d’un réseau d’ordinateurs pour comprendre
comment les messages y circulent de point à point, comment on peut pallier les défaillances
d’une machine du réseau, comment la structure du réseau (on parle aussi de sa topologie)
influe sur le temps d’acheminement des messages, etc.
Figure 3: matériel pour des activités liées aux machines.
Les activités débranchées illustrant la notion de langage sont très souvent liées aux activités
algorithmiques (figure 4). Dans l’activité du robot-idiot, on peut notamment réfléchir à la
manière d’exprimer les instructions qui permettront de diriger le robot pour atteindre le but
fixé. L’activité met à disposition un langage simplifié dont les instructions sont exprimées par
des cartes représentant des flèches. Enfin, il est aussi possible de s’intéresser à la manière dont
un langage peut être reconnu par un ordinateur, autrement dit, étant donné un mot, comment
savoir s’il appartient ou non à un langage donné. Il s’agit d’aborder la notion d’automate, ce
que propose notamment l’activité « jeu du labyrinthe ».
Figure 4: matériel pour des activités liées aux langages.
Voici deux exemples d’activité ludiques :
Activité 1 : Compter les points – Écriture binaire des nombres
Résumé
Les données de l’ordinateur sont stockées et transmises sous la forme d’une série de 0 et de 1.
Comment peut-on représenter des mots et des nombres à l’aide de ces deux chiffres
unique- ment ?
Liens pédagogiques
- Mathématiques : nombres. Étudier les nombres dans d’autres bases que la base 10.
Représenter les nombres en base deux.
- Continuer une séquence et décrire la règle qui la définit. Séquences et relations en
puissances de deux.
Compétences
Compter
Regrouper
Séquence
Matériel
Préparez, pour la démonstration, un jeu de cinq cartes binaires. Des cartes de format
A4 avec des points, ou des « smileys » autocollants conviennent très bien.
Introduction
Avant de distribuer l’exercice, il peut être utile de présenter les principes de l’activité à toute la
classe. Pour cette activité, vous avez besoin de cinq cartes, comme montré ci-dessous, avec des
points sur le recto mais rien sur le verso. Choisissez cinq enfants pour tenir les cartes de
démonstration face à la classe. Les cartes doivent être dans l’ordre suivant :
Questions pour lancer la discussion
- Que remarquez-vous à propos du nombre de points qui figure sur les cartes ? (Chaque
carte a deux fois plus de points que la carte située à sa droite).
- Combien de points devrait avoir la prochaine carte si nous devions en ajouter une à
gauche ? (32) Et la suivante... ?
Nous pouvons utiliser ces cartes pour représenter des nombres : il faut en retourner certaines
et additionner les points qui restent visibles. Demandez aux enfants d’afficher 6 (cartes 4 points
et 2 points), puis 15 (cartes 8, 4, 2 et 1 points), puis 21 (16, 4 et 1), etc. Maintenant, essayez de
compter à partir de zéro.
Le reste de la classe doit regarder attentivement comment les cartes pivotent, vous verrez ainsi
si les enfants sont capables de reconnaître une séquence dans le retournement des cartes
(chaque carte est retournée deux fois moins souvent que la carte située à sa droite). Vous
pouvez faire le test avec plusieurs groupes d’élèves.
Lorsqu’une carte d’un nombre binaire n’est pas visible, elle est représentée par un 0.
Lorsqu’elle est visible, elle est représentée par un 1. C’est le système de numération binaire
(l’écriture des nombres dans ce système se fera uniquement avec les caractères 0 et 1,
contrairement à l’écriture des nombres du système décimal qui utilise les chiffres de 0 à 9).
Demandez aux enfants d’afficher 01001. Quel nombre représente-t-il dans le système décimal ?
Comment écrirait-on 17 en binaire ? (10001)
Essayez avec d’autres nombres jusqu’à ce qu’ils comprennent bien le principe.
Vous trouverez plus loin cinq exercices supplémentaires en option qui permettent de bien
assimiler cette notion. Proposez aux enfants d’en faire le plus possible !
Activité 2 : le jeu de NIM
Compétences du socle visées
En lien avec les mathématiques :
Comprendre, s’exprimer en utilisant la langue française à l’oral et à l’écrit ;
Comprendre, s’exprimer en utilisant les langages mathématiques, scientifiques et
informatiques.
Intentions pédagogiques
Dans un jeu de stratégie pure, il n’y a aucune part pour le hasard, les règles sont importantes,
une stratégie est indispensable. Pour le jeu de Nim en particulier, il existe toujours une
stratégie gagnante. Quand on la connaît, et si les conditions sont réunies (choix de la personne
qui commence par exemple), on peut toujours gagner... mais encore faut-il la trouver. Le jeu de
Nim utilise des algorithmes qui mettent en œuvre la stratégie gagnante. L’utilisation du « si…
alors » est essentielle dans le raisonnement scientifique. Le choix de faire vivre avec son corps
cette démarche permet d’appréhender un raisonnement abstrait. C’est pourquoi, l’approche
pédagogique proposée permet aux élèves de découvrir l’algorithme en utilisant des
applications visuelles et ludiques. L’intention pédagogique est d’aborder la notion d’algorithme
à partir d’une information qui permet d’organiser une série de données ou d’objets selon une
relation d’organisation déterminée. L’approche de l’algorithme de tri procède par
comparaisons successives, « Si…alors ».
Consigne du jeu :
Voici la règle du jeu de NIM : deux joueurs ramassent tour à tour 1, 2 ou 3 bouchons sur une
table. Celui qui prend le dernier a gagné.
Connaissances et compétences associées
• Calculer avec des nombres entiers et des nombres décimaux.
• Mettre en œuvre un algorithme de calcul posé pour l’addition, la soustraction, la
multiplication, la division (calcul posé).
Tâche finale
Concevoir et écrire un algorithme qui permet d’atteindre le résultat visé : la stratégie gagnante.
Problématique élève
Quel algorithme mettre en jeu comme stratégie gagnante pour résoudre un problème ?
Matériel
16 bouchons ou bâtonnets pour 2 élèves, la règle du jeu projetée au tableau, un schéma
couleur ou noir et blanc.
Description de la séance
Première phase : une hypothèse est émise par les élèves (ou par l’enseignant si nécessaire)
Il s’agit dans un premier temps de travailler avec les élèves la capacité à tester une hypothèse.
Les groupes d’élèves testent le jeu en parallèle et certains affirment que l’hypothèse est exacte.
D’autres n’ayant pas réussi, affirment qu’elle est erronée. Les joueurs jouent contre les élèves
ayant réussi à gagner en commençant en dernier et observent leur technique. Si aucun joueur
n’a trouvé comment faire, le professeur peut jouer le rôle du joueur. Les élèves, aidés de leur
professeur, peuvent constater que l’hypothèse émise est exacte mais incomplète : il faut en
plus, appliquer un algorithme précis pour gagner. Il s’agit donc d’une hypothèse exacte mais
pas suffisante en elle-même.
Deuxième phase : une hypothèse est émise par les élèves (en groupe)
Suite à l’observation d’élèves (ou du professeur) réussissant à gagner à tous les coups. Une
autre hypothèse est alors émise par les groupes d’élèves :
Exemple avec 4 bouchons :
• si le premier prend 1 bouchon alors l’autre en prend 3 et gagne !
• si le premier prend 2 bouchons alors l’autre en prend 2 et gagne !
• si le premier prend 3 bouchons alors l’autre en prend 1 et gagne !
Conclusion : si l’on joue avec 4 bouchons, le premier joueur a perdu !
Troisième phase : une formalisation de l’algorithme
Les élèves sont ensuite amenés à formaliser leur réponse par écrit, à chaque tirage d’un joueur.
Il est possible de faire rédiger les prises et les résultats par les deux membres en train de jouer
ou bien par un autre binôme d’élèves qui observent le jeu. Toutes les formes de réponses
exactes seront acceptées : réponses mathématiques, schématiques, etc. Une formalisation par
groupe de quatre est ensuite envisagée : il s’agit de créer une affiche claire et exacte
permettant de donner l’astuce infaillible, c’est-à-dire l’algorithme sous-jacent (suite
d’opérations qui fonctionne à coup sûr). Bien sûr, il s’agit d’amener l’adversaire à 4 pour être
sûr de gagner.
En groupe, les élèves essaient de jouer avec un nombre de bouchons variables. Ils remarquent
dans certaines équipes que les multiples de 4 sont des positions perdantes.
Indice à donner si besoin pour les élèves ayant des difficultés : faire des groupes de 4 bouchons.
Les élèves peuvent jouer entre eux, afin de vérifier si tous les multiples de 4 semblent être des
positions perdantes ou pas. Suite aux différentes recherches, les élèves sont amenés à rédiger,
avec ou sans l’aide du professeur, l’algorithme complet.
Deux situations différentes peuvent être données :
• Avec 16 bouchons :
Réponses attendues :
Avec 16 bouchons, on gagne en laissant commencer l’adversaire car 16 est une position
perdante ;
• on a mal appliqué l’algorithme ! Demander aux élèves s’ils sont en position perdante ou
gagnante. S’il est en position gagnante, lui demander d’expliquer comment mettre l’adversaire
en position perdante.
• Avec 26 bouchons :
Réponse attendue : il faut commencer et prendre deux bouchons alors mon adversaire aura 24
bouchons. 24 est un multiple de 4, c’est une position perdante.
Figure 5: Schématisation de l’algorithme dans le jeu de NIM avec 4 bouchons.
Construction des ateliers
Selon qu’un atelier est imaginé dans le cadre d’activités de médiation scientifique ou dans le
cadre scolaire, le processus de création sera différent : les créateurs ne sont pas les mêmes, les
objectifs non plus.
Pour construire une activité dans le cadre de la médiation scientifique, on choisira
probablement en premier un thème informatique puis on fixera autour de lui un certain
nombre d’objectifs. Ici la difficulté, étant donné un thème, consiste à identifier les aspects que
l’on peut travailler en fonction du contexte dans lequel se déroulera l’activité (atelier court ou
long, ponctuel ou régulier, devant un public « homogène » (par rapport à l’âge par exemple) ou
« hétérogène »...).
Dans le contexte scolaire, il sera sans doute plus naturel de commencer par fixer les objectifs en
fonction des attendus du programme puis de trouver le thème informatique qui permettra de
les illustrer au mieux. Cette approche nécessite une culture informatique solide pour trouver le
thème le plus approprié en fonction des objectifs fixés.
Dans les deux cas, il est primordial de connaître le public auquel on s’adresse, ses capacités
cognitives, et quand cela est possible les compétences censées avoir été acquises
précédemment.
Pour rendre ceci plus concret, considérons comment il est possible de construire un atelier
autour de l’algorithmique.
Familiarité avec l’informatique
Deux questions relatives à l’utilisation de cette approche débranchée pour se familiariser avec
l’informatique sont cependant encore insuffisamment explorées.
On peut tout d’abord se demander comment évaluer l’impact de cette approche. Ces activités
ont, initialement, été développées dans un contexte de médiation scientifique où l’objectif
n’est pas d’acquérir des connaissances et compétences mais de susciter la curiosité et l’envie
d’en découvrir davantage. Aussi les évaluations classiquement réalisées dans ce contexte
s’intéressent-elles plutôt au ressenti des participants qu’à l’estimation de ce qu’ils ont appris et
à la manière de réinvestir ces connaissances et compétences. Des analyses didactiques autour
de l’enseignement de l’informatique, notamment par le biais de l’informatique débranchée,
commencent à se développer pour tenter d’aller plus loin et de déterminer l’impact de cette
approche en termes d’apprentissage.
En outre, l’informatique débranchée, si elle donne un certain nombre de clés de la science
informatique, ne peut être suffisante lorsqu’il s’agit d’approfondir les connaissances et
d’acquérir des compétences techniques. Pour atteindre ces objectifs, il est nécessaire de
rebrancher les activités, que ce soit avec un langage de blocs (comme Scratch) ou un langage de
programmation textuel (comme Python). Un bon dosage est à trouver en fonction des attendus
des programmes des différents niveaux, en gardant à l’esprit qu’il ne s’agit pas de former des
informaticiens mais des citoyens capables d’appréhender les enjeux informatiques de la société
dans laquelle ils sont appelés à vivre.
Construire sa pensée informatique sans ordinateur
Un algorithme est une méthode qui permet de résoudre un problème de manière
systématique. Les données appelées à être manipulées par un ordinateur permettent de
représenter des informations de nature très diverses : des images, des sons, du texte, des
nombres. Pour ce faire, elles doivent d’abord être codées de manière appropriée pour pouvoir
être traitées.
Avant l’ordinateur, machine « universelle » imaginée par Turing, les machines existantes ne
permettaient de traiter qu’un type d’algorithme sur un jeu de données de nature unique. Parmi
ces machines, on peut citer le métier à tisser Jacquart, et les bien plus anciens bouliers pour
calculer. Au 20ème siècle, est donc apparue la notion de machine « universelle », machine qui
peut exécuter, n’importe quel algorithme traitant n’importe quel type d’information tant
qu’algorithmes et informations sont codés de manières adéquates. Ces ordinateurs sont
maintenant partout et de toutes tailles : des grands calculateurs aux objets connectés
(télévision, grille-pain, etc.) en passant par les ordinateurs de bureau, les ordinateurs portables,
les tablettes et les Smartphones. Concrètement, ces machines ont deux composants principaux
leur permettant de fonctionner : un processeur (autrement dit une unité de calcul) et une
mémoire. Ces deux éléments centraux sont bien entendu couplés à des mécanismes d’entrée /
sortie permettant de fournir les données d’entrée du problème et de récupérer les résultats
après traitement.
Enfin, pour implanter les algorithmes, généralement exprimés en langage naturel, donc ambigu,
il est nécessaire de disposer de langages de programmation précis et sans ambiguïté.