A travers un jeu, l’animateur.ice sensibilise les participant.e.s aux notions de base d’algorithmie.
Objectif général
Temps de préparation pour l'animateur
Domaine de compétence
Temps requis pour compléter l'activité (pour l'apprenant)
Ressource originellement créée
Introduction
Dans cette activité, nous allons utiliser un jeu de devinette de chiffres pour faire découvrir la logique algorithmique de façon débranchée.
Elle peut donc servir comme séance d’introduction d’un parcours plus long autour de la programmation ou de la pensée informatique.
Préparation
Tracer sur le sol le schéma suivant, il faut que les cases soient assez grandes pour qu’un-e participant-e puisse être debout dessus :
Il est important que les flèches soient de couleurs différentes selon la réponse suivie, ou positive ou négative. Pour éviter l’ambiguïté, vous pouvez aussi inscrire « oui » et « non » sur les branches correspondantes.
Tour de magie
Dans un premier temps, nous allons démontrer l’intérêt de l’algorithme et piquer la curiosité des participant.e.s avec une approche de défi ou de mystère. Adaptez l’explication ci-dessous à l’âge de votre public, l’exemple donné ici est plutôt pour des moins de 12 ans.
Annoncez aux participant.e.s que vous avez appris à faire un tour de magie mentaliste : vous pouvez deviner le chiffre entre 1 et 8 auquel la personne pense, en maximum quatre questions !
Prouvez-le : demandez à un.e participant.e de choisir secrètement un chiffre, et posez-lui les questions en suivant discrètement le schéma préparé. Répétez éventuellement l’opération avec un.e autre participant.e pour montrer que vous y arrivez à chaque fois en trois (ou quatre) coups.
Révélez que ce n’était pas vraiment de la magie, mais que vous avez suivi un algorithme. Expliquez qu’un algorithme, c’est une suite d’étapes, simples et précises (des instructions), à suivre pour arriver à un but, ou de résoudre un problème. Il peut prendre différentes formes en fonction du but : une recette est un algorithme qui permet d’obtenir un plat, un chemin est un algorithme qui permet d’arriver à un endroit, une formule mathématique est un algorithme qui sert à calculer des choses, etc.
Avec des participant-es adolescent-es, vous pouvez leur demander de deviner/trouver d’autres exemples d’algorithmes. Attention, vous devrez être capable de confirmer, ou expliquer pourquoi l’exemple trouvé n’est pas bon.
Lire le schéma
Expliquez que vous aller leur apprendre à faire elleux-même le « tour de magie ». Présentez le tracé au sol, et expliquez comment le lire : se placer au début, choisir un chiffre, poser la question, « répondre » à la question en suivant la ligne oui/non, et ainsi de suite. La bulle finale donne la réponse. Expliquez bien qu’un chiffre n’est pas plus petit ou plus grand que lui-même, en utilisant un exemple : « Si vous prenez comme chiffre 9, et que je vous demande est-ce que votre chiffre est plus petit que 9, la réponse est non ».
Invitez les participant-es à se mettre par deux et utiliser le schéma ensemble : une personne choisit un chiffre et se place sur le schéma, l’autre personne lui pose les questions et lui dit où aller ensuite sur le schéma.
Laissez quelques minutes au groupe pour s’exercer en duo, idéalement deux fois pour que chaque personne occupe chaque rôle une fois. Restez à l’écoute pour corriger les éventuelles erreurs.
Explication
Faites le lien entre votre explication d’algorithme et celui qui vient d’être utilisé : il est bien composé d’étapes (les questions), faites d’instructions simples et claires (il n’y a toujours que deux réponses possibles, et on sait toujours comment répondre), et quand on arrive au bout de l’algorithme, on a atteint notre but. Mettez en avant que le fait d’utiliser un schéma permet de suivre facilement les étapes, mais il y a des algorithmes qui sont présentés autrement : en vidéo (recette de cuisine), en texte (formule de math), en carte (chemin),…
Faites le lien entre l’algorithme utilisé et l’informatique, en expliquant que informatique vient de « information » et « automatique ». On a traité une information (le chiffre à deviner) de façon automatique (en suivant le schéma ; on n’a pas « réfléchi » à chaque étape à ce qu’on allait faire). C’est ce que font les ordinateurs en permanence : traiter les informations de façon automatique, en suivant des algorithmes !
Variantes
Variante branchée
Vous pouvez laisser 30 minutes (pour un groupe habitué à Scratch) au groupe pour réaliser l’algorithme dans Scratch.
Variante pour aller plus loin
Avec un public à partir de 14 ans, il est possible d’étendre la séance pour couvrir la notion d’algorithme plus à fond, et montrer les limites des ordinateurs.
Mettre en avant qu’il n’y a pas besoin de réfléchir pendant qu’on suit le schéma. Par contre, on a besoin de réfléchir pour créer le schéma : comment faire pour deviner le chiffre le plus rapidement possible ? Vous pouvez soit expliquer ex-cathedra le raisonnement ci-dessous, soit le recréer avec vos participant-es en utilisant des questions guidées ou une réflexion à voix haute, voire (à partir de 16 ans et en prévoyant du temps), les laisser chercher :
Pour deviner rapidement, il faut éliminer rapidement un maximum de possibilités. Placez les chiffres de 1 à 8 sur un axe et indiquez les sous-ensembles dont vous allez parler pour illustrer votre propos. De 1 à 8 il y a 8 possibilités. Si ma première question est à une extrémité de cet axe, par exemple « est-ce que ton chiffre est plus grand que 7 ? », il n’y a qu’une seule réponse possible (8). Si la réponse est oui, bravo, on a trouvé en un seul coup ! Mais il faudrait beaucoup de chance pour que ça arrive ; et si la réponse est non, il reste encore sept réponses possibles ! On n’a donc pas réduit beaucoup le nombre de possibilités. Alors que si on pose une question pile au milieu de l’axe (« Est-ce que ton chiffre est plus petit que 4 ? »), peu importe que la réponse soit oui ou non, il ne restera plus que quatre possibilités. On a réduit le nombre de possibilités de moitié, autrement dit on est déjà à la moitié du chemin vers la solution ! Observez maintenant le schéma de l’algorithme : à chaque étape, on se place au milieu des possibilités restantes. C’est comme ça qu’on obtient le chemin le plus rapide vers la solution. Et peut importe le chiffre choisi, il n’y aura toujours que trois, maximum quatre, questions.
Voilà comment on a pris un problème (deviner un chiffre), on a réfléchi pour le résoudre de la meilleure façon (ici, la plus rapide), et on a mis cette résolution sous forme d’algorithme. N’importe qui peut utiliser l’algorithme sans devoir refaire toute la réflexion.
Il se passe la même chose avec les ordinateurs : ils ne réfléchissent pas ! Quelqu’un a réfléchi avant (les programmeur-euses), pour créer les algorithmes (programmes), et les ordinateurs ne font que suivre les algorithmes. Parfois, il y a tellement d’algorithmes mis ensemble pour faire différentes choses, que ça donne l’impression que l’ordinateur réfléchit, mais ce n’est pas vrai. Par exemple, quand on pose des questions à Siri, Google ou Alexa avec un smartphone, il y a plusieurs algorithmes pour découper puis reconnaître les mots, puis des algorithmes pour essayer de deviner ce qu’on demande, et ensuite des algorithmes pour trouver la réponse, et pour finir des algorithmes pour imiter la parole et prononcer la réponse.
Pour aller plus loin
Avec un public à partir de 14 ans, vous pouvez compléter en présentant quelques algorithmes simples répandus, et leur intérêt en informatique :
- Nous vous conseillons de vous référer à la fiche outil « Algorithmes et langages de programmation«
- Le site internet Akinator (qui devine l’identité de la personne qu’on a en tête), repose sur le même principe mais avec une arborescence beaucoup plus importante. Pareil pour le jeu : Qui est-ce ?
- Algorithme de calcul ou Algorithme d’Euclide (s’appuyer sur les vidéos pour nourrir l’explication, mais essayer de ne pas casser le rythme en les projetant) : Lorsqu’on cherche à déterminer le plus grand diviseur commun de deux nombres, on peut procéder ainsi : https://www.youtube.com/watch?v=Z2c922jlm-8 Mais cette technique est longue et plutôt laborieuse lorsqu’on s’attaque à de très grand nombres. L’algorithme d’Euclide permet de manière plus simple et plus rapide de trouver le plus grand diviseur commun de deux nombres. https://www.youtube.com/watch?v=pF_QyPAVXhM&nohtml5=False
- Algorithme de recherche : c’est ce qu’utilisent tous les programmes de recherche comme par exemple celui que l’on trouve quand on cherche un fichier sur le bureau.
- Algorithme PageRank : un algorithme qui a rendu les fondateurs de Google milliardaires. Il permet de classer les pages Web en fonction de leur popularité. Si vous trouvez une manière de l’améliorer, votre avenir financier est assuré !
- Algorithme de reconnaissance faciale : utilisé par Facebook par exemple, il permet de reconnaître une personne simplement à partir de ses photos.
- Algorithme des sites de voyages : qui sélectionne différentes possibilités en fonction des heures, des dates, des places disponibles, notre budget etc…