Créer leur propre message en convertissant des lettres de l'alphabet en chiffres décimaux, puis en binaire.
Pensée informatique: Décomposition
Discuter des raisons pour lesquelles il est important de pouvoir stocker plus que l'alphabet français standard.
Apprentissage des langues
Expliquer comment les codes pour des alphabets plus grands pourraient être créés pour également inclure les lettres majuscules, la ponctuation, les symboles et les signes diacritiques (par exemple les macrons, les accents).
Pensée informatique: Généralisation et motifs
Interpréter un message en utilisant le binaire.
Pensée informatique: Généralisation et motifs
Savoir à l'aide d'une méthode simplifiée comment les ordinateurs représentent les lettres de l'alphabet sous forme de bits.
Pensée informatique: Logique
Questions clés
Combien de caractères différents pouvez-vous taper sur un ordinateur ? (La discussion peut commencer par les 26 lettres de l'alphabet latin, puis s'étendre à d'autres caractères du clavier, y compris les lettres majuscules, les caractères accentués, les chiffres et les ponctuations. Les élèves savent peut-être que d'autres langues peuvent avoir des milliers de caractères et le nombre de caractères est également en pleine expansion depuis l'invention des émoticônes !)
Lancement du cours
Notes sur les ressources
Il existe également une version interactive en ligne des cartes binaires ici, du Computer Science Field Guide , mais il est préférable de travailler avec des cartes physiques.
Discutez de la manière dont vous communiqueriez une lettre de l'alphabet à quelqu'un si vous ne pouviez le faire qu'en utilisant des nombres entre 0 et 26. (Les élèves recommanderont généralement d'utiliser un code de 1 pour a, 2 pour b, et ainsi de suite).
Calculez et écrivez les nombres binaires en utilisant 5 bits de 0 à 26 sur la feuille Binaire vers Alphabet, puis ajoutez les lettres de l'alphabet.
Observations pour l'enseignant
Vérifier que leur code binaire pour 3 est bien 00011 parce que les élèves écrivent couramment 00100 en anticipant le motif sans forcément vérifier qu'elle est correcte.
Vérifier qu'ils écrivent le code binaire dans le bon ordre avec la valeur la plus petite à droite - par exemple, certains vont commencer avec 1 écrit 10000 au lieu de 00001.
Identifiez les élèves qui montrent une ou plusieurs caractéristiques de la pensée informatique ; ceux qui sont très méthodiques, qui alignent tout de façon exacte, qui sont les premiers à reconnaître la logique et n'ont plus besoin des cartes.
Vérifiez que tous les étudiants peuvent vous décrire comment calculer le nombre qu'ils doivent chercher. Cela permet d'identifier ceux qui devinent le motif.
Notez que si votre alphabet local est légèrement différent (par exemple, avec des signes diacritiques tels que les macrons ou les accents) vous pouvez adapter le code pour faire correspondre les caractères les plus communs ; cette question est également examinée ci-après.
Activités de la leçon
En utilisant le tableau que les élèves ont créé ci-dessus, donnez-leur un message à décoder, tel que votre nom ou le nom d'un auteur (par exemple 00001 00010 00010 11001 pour ABBY).
Maintenant, demandez aux élèves d'écrire et de communiquer leurs propres messages. Rappelez-leur qu'ils peuvent écrire les 0 et les 1 en utilisant n'importe quels symboles, tels que des case à cocher vides ou remplies.
Considérez aussi des représentations inhabituelles ; par exemple, chaque bit pourrait être communiqué avec un son qui soit grave ou aigu. Ou bien, un nombre à 5 bits peut être représenté par les cinq doigts de la main, chaque doigt correspondant à un bit.
Ajouter plus de caractères
Certaines langues ont un peu plus ou moins de caractères, en incluant celles qui ont des marques diacritiques. Si les élèves pensent à un alphabet avec plus de 32 caractères, alors 5 bits ne seront pas suffisants. Les élèves peuvent aussi se rendre compte qu'un code est nécessaire pour une espace (0 est un bon choix pour cela), donc 5 bits ne couvrent que 31 caractères alphabétiques.
Demandez aux élèves de concevoir un système qui peut gérer quelques caractères supplémentaires tels que les caractères diacritiques. (Cela peut généralement être fait en allouant des nombres plus importants, comme 27 à 31, aux autres caractères).
Un clavier français typique possède environ 100 caractères (lettres majuscules et minuscules, ponctuations, chiffres et symboles spéciaux). Combien de bits sont nécessaires pour donner un nombre unique à chaque caractère du clavier ? (En général 7 bits sont suffisants, car ils permettent 128 codes différents).
Demandez maintenant aux élèves d'envisager des alphabets plus grands. Combien de bits sont nécessaires si vous voulez un nombre pour chacun des 50 000 idéogrammes chinois ? (16 bits permettent jusqu'à 65 536 représentations différentes).
Observations pour l'enseignant
Il peut être surprenant que seuls 16 bits soient nécessaires pour des dizaines de milliers de caractères. C'est parce que chaque bit double la quantité, de sorte que vous n'avez pas besoin d'ajouter beaucoup de bits pour couvrir un grand alphabet. Il s'agit d'une propriété importante du codage binaire que les étudiants doivent connaitre.
Liens mathématiques
L'augmentation rapide du nombre de valeurs différentes qui peuvent être représentés au fur et à mesure que des bits sont ajoutés est une croissance exponentielle c'est à dire qu'elle double à chaque bit supplémentaire. Après avoir doublé 16 fois, nous pouvons représenter 65 536 valeurs différentes, et 20 bits peuvent représenter plus d'un million de valeurs différentes. La croissance exponentielle est parfois illustrée par le pliage d'un papier en deux, et à nouveau en deux. Après ces deux plis, on a une épaisseur de 4 feuilles, et un seul pli de plus donne une épaisseur de 8 feuilles. 16 plis font une épaisseur de 65 536 feuilles ! En fait, environ 6 ou 7 plis sont déjà impossibles, même avec une grande feuille de papier.
Observations pour l'enseignant
L'utilisation d'un code de 5 bits pour un alphabet remonte à au moins 1870 (le code "Baudot") ; beaucoup de systèmes de codage de nombres en lettres ont été utilisés au fil des années pour représenter des alphabets, mais celui qui a été utilisé un certain temps s'appelle le code "ASCII", il utilisait 7 bits et donc pouvait représenter plus de 100 caractères différents. À l'heure actuelle, l'"Unicode" est fréquent, il est capable de représenter plus de 100 000 caractères différents. Néanmoins, chacun de ces codes, y compris Unicode, contient toujours des éléments de code simple utilisé dans cette leçon (1 pour A, 2 pour B, ...). Par exemple, le code ASCII pour "A" est 65 et pour "B" 66, etc. ; si vous calculez les représentations binaires de ces nombres, gardez les 5 bits les plus à droite, vous obtiendrez le code que nous avons utilisé ci-dessus.
Réflexion sur la leçon
Quelles sont certaines des raisons pour lesquelles nous n'utilisons pas le système de numération binaire pour notre langue écrite ?
Comment pensez-vous que les Égyptiens de l'antiquité auraient converti leurs hiéroglyphes en binaire ?
Qu'avez-vous trouvé difficile au cours de cette leçon ?
Comment avez-vous surmonté ces défis ?
Voir les liens avec la Pensée Informatique
Tout au long des leçons, il y a des liens vers la pensée informatique. Ci-dessous nous avons noté quelques liens généraux en lien avec ce contenu.
Teaching computational thinking through CSUnplugged activities supports students to learn how to describe a problem, identify what are the important details they need to solve this problem, break it down into small logical steps so that they can then create a process which solves the problem, and then evaluate this process. These skills are transferable to any other curriculum area, but are particularly relevant to developing digital systems and solving problems using the capabilities of computers.
Ces concepts de Pensée Informatique sont tous connectés les uns aux autres et s’appuient les uns sur les autres, mais il est important de noter que tous les aspects de la Pensée Informatique n'apparaissent pas dans chaque module ou chaque leçon. Nous avons mis en évidence les connexions importantes pour vous permettre d’observer vos élèves en action. Pour plus d’informations sur notre définition de la Pensée Informatique : voir nos notes sur la Pensée Informatique.
Pensée algorithmique
Nous avons utilisé deux algorithmes dans cette leçon : un pour convertir une lettre en un nombre décimal, puis en un nombre binaire, et vice versa. On les appelle des algorithmes car ce sont des processus pas-à-pas qui donneront toujours le bon résultat quels que soient les paramètres fournis en entrée, tant que ces processus sont appliqués correctement.
Voici un algorithme pour la conversion d'une lettre en un nombre décimal :
Choisissez une lettre à convertir en un nombre décimal. Trouvez le numéro de la lettre dans l'alphabet comme suit :
Disons « A » (la première lettre de l’alphabet)
Disons « 1 » (le premier nombre dans notre séquence de nombres)
Répétez les instructions suivantes jusqu'à ce que vous arriviez à la lettre que vous cherchez à convertir
Dites la lettre suivante dans l'alphabet
Dites le nombre suivant (en ajoutant 1 au précédent)
Le nombre que vous venez de dire est le nombre décimal correspondant à votre lettre convertie.
Par exemple, pour convertir la lettre E, l'algorithme vous ferait compter ainsi : A,1 ; B,2 ; C,3 ; D,4 ; E,5.
(Un algorithme plus efficace serait d'avoir une table d'équivalence, comme celle créée au début de l'activité, et la plupart des langages de programmation peuvent convertir directement des lettres en nombres, à l'exception notable de Scratch, qui a besoin d'utiliser l'algorithme ci-dessus.)
L'algorithme suivant est le même algorithme que celui utilisé dans la leçon 1, qui nous servait à convertir un nombre décimal en nombre binaire :
Trouvez le nombre de points à afficher. (Nous nous référerons à "le nombre de points restants" qui, initialement, est le nombre total devant être affiché.)
Pour chaque carte, de la gauche vers la droite (c'est à dire 16, 8, 4, 2, 1) :
Si le nombre de points sur la carte est plus grand que le nombre de points restants :
Cachez la carte
Sinon :
Montrez la carte
Soustrayez le nombre de points sur la carte du nombre de points restants
Exemples de ce que vous pourriez observer :
Demandez aux élèves de créer des instructions pour la conversion d'une lettre dans un nombre décimal (avec ou sans la table) ou d'en faire une démonstration, puis de convertir un nombre décimal en binaire ; sont-ils en mesure de trouver une solution valable pour tous les cas ? Peuvent-ils expliciter ce qu'ils font à chaque étape et pourquoi ?
Abstraction
Cette activité est particulièrement pertinente concernant l'abstraction, puisque nous représentons du texte écrit avec un simple nombre, et ce nombre peut être représenté à l'aide de chiffres binaires, qui, comme nous le savons depuis la leçon 1, sont une abstraction de l'électronique physique et des circuits à l'intérieur d'un ordinateur. Nous pourrions également élargir notre abstraction parce que nous pourrions utiliser deux symboles autres que des 0 et des 1 pour représenter notre message (bien que nous vous recommandons de rester sur les 1 et les 0 pour les élèves qui voient cette notion pour la première fois). Par exemple, vous pourriez représenter votre message par le clignotement d'une lampe torche (ce qui donne une idée de la façon dont les informations peuvent être envoyées sur un câble à fibre optique !), ou par le tracé d'une ligne de carrés et de triangles sur le tableau blanc.
L'abstraction permet de nous simplifier les choses parce que nous pouvons ignorer les détails que nous n'avons pas besoin de connaitre. La représentation du nombre binaire est une abstraction qui masque la complexité de l'électronique et du matériel à l'intérieur d'un ordinateur qui stocke les données. Les lettres sont une abstraction que l'homme peut comprendre rapidement ; parler de la lettre H est généralement plus significatif que de l'appeler "la 10e lettre de l'alphabet", et quand nous lisons ou parlons, nous n'avons pas besoin de savoir que c'est la 10e lettre de toute façon.
Exemples de ce que vous pourriez observer :
Lorsque vous utilisez différentes représentations pour le binaire, telles que l'activation de la lampe torche, quels sont les étudiants qui voient vite que c'est l'équivalent de l'activité où ils ont utilisé des 0 et des 1 ? Ils vont probablement se sentir à l'aise pour travailler avec cette nouvelle représentation rapidement, tandis que d'autres élèves peuvent être très dérangés par ce changement. Cherchez les élèves qui décident de créer leurs propres représentations de nombres binaires.
Décomposition
Le principal exemple de décomposition dans cette activité est de comprendre qu'en informatique nous devons décomposer toute information en petits morceaux pour que les ordinateurs puissent stocker et envoyer ces données sous forme de bits et d'octets. Tout ce que nous stockons à l'intérieur d'un ordinateur et voyons apparaitre sur l'écran doit avoir été, d'une façon ou d'une autre, décomposé en chiffres binaires.
Dans cette leçon, les élèves ont effectué plusieurs étapes de décomposition en codant un message et en le décomposant en étapes simples. Pour écrire un message en binaire, nous devons d'abord regarder le message une lettre à la fois et les convertir une par une, en nombres décimaux, et ensuite convertir chacun de ces nombres, un par un, en nombres binaires. Les élèves effectuent ces étapes dans l'ordre inverse pour convertir de nouveau le message en texte.
Exemples de ce que vous pourriez observer :
Les élèves peuvent-ils expliquer pourquoi il est important que nous puissions utiliser le binaire pour représenter des lettres ? Demandez-leur pourquoi il est utile de choisir une valeur de nombre (binaire ou décimal) représentant chaque lettre, plutôt que de choisir une valeur de nombre représentant chaque mot.
Généralisation et modèles
Reconnaître des motifs dans le fonctionnement du système de numération binaire nous aide à mieux comprendre les concepts impliqués et nous aide à généraliser ces concepts et ces motifs afin de les appliquer à d'autres problèmes.
Exemples de ce que vous pourriez observer :
Demandez aux élèves de décoder le message binaire d'un autre élève, par la conversion des nombres binaires en nombres décimaux, et ensuite en texte pour afficher le message. Demandez-leur ce qu'ils feraient s'ils voulaient inclure d'autres caractères dans leur message : que faire si nous voulions des lettres majuscules et minuscules ? Que faire si nous voulons utiliser le point d'exclamation ou d'interrogation ? Observer quels élèves trouvent qu'on peut généraliser la méthode qu'ils utilisent déjà et faire correspondre à d'autres caractères de plus grands nombres décimaux, par exemple, a-z peut être 1-26, et A-Z peuvent être 27-52. Si l'on peut représenter 32 caractères différents en binaire avec 5 bits pour chaque caractère, combien en aurions-nous besoin pour 64 caractères ? Quels élèves peuvent voir le motif du binaire et du doublement dans cette situation, et voir que nous avons simplement besoin d'utiliser 1 bit de plus pour ce faire?
Logique
La pensée logique implique de prendre des décisions fondées sur les connaissances que vous avez, et ces décisions doivent être raisonnable et bien pensées. Si vous mémorisez que la lettre H est représentée par 01010 en binaire, ce n'est pas aussi utile que d'apprendre à représenter n'importe quel caractère à l'aide de la procédure décrite dans cette activité. Si vous pouvez comprendre la logique des étapes que vous suivez pour convertir une lettre en un nombre binaire, et comment vous pouvez convertir dans l'autre sens, alors vous serez en mesure de représenter n'importe quel caractère binaire, et plus important encore, vous comprendrez le processus, puisque que vous le ferez certainement faire à un ordinateur plutôt que de le faire vous-même à la main. Ceci est particulièrement vrai si vous voulez représenter un grand nombre de caractères. Que faire si nous voulions représenter chaque caractère chinois ? Il en existe plus de 50 000, donc essayer de les mémoriser tous pourrait prendre un certain temps ! Lorsque nous choisissons d'utiliser les nombres décimaux pour chacune des lettres, nous n'avons pas à choisir de 1 à 26, on aurait pu décider de commencer plutôt à 17 et aller de 17 à 42, ou bien nous pourrions avoir choisi des nombres complètement au hasard ! Que se passerait-il si nous décidions que A = 82, B = 5, C = 42, ... Serait-ce une décision logique à prendre ? 1 à 26 c'est beaucoup plus logique, parce que c'est beaucoup plus facile à décrire et à mémoriser.
Exemples de ce que vous pourriez observer :
Observez les systèmes que les élèves ont créés pour traduire leurs lettres en binaire et vice-versa. Quelle logique a-t-elle été appliquée ? Ces systèmes sont-ils efficaces ? Peuvent-il expliquer ce qu'ils font à chaque étape ? Demandez aux élèves pourquoi nous utilisons les nombres de 1 à 26 pour représenter nos lettres, ou s'ils pensent qu'il pourrait y avoir un meilleur choix. Demandez-leur comment ils choisiraient les nombres pour les autres caractères, par exemple un nombre pour représenter une espace. Lesquels donnent des réponses logiques et peuvent expliquer pourquoi leur solution est un bon choix ?
Évaluation
Un exemple d'évaluation est de travailler sur la façon dont beaucoup de caractères différents peuvent être représentés par un nombre donné de bits. Par exemple 5 bits peuvent représenter 26 caractères confortablement, mais 16 bits sont nécessaires pour une langue avec 50 000 caractères. Lorsque vous pensez à combien de bits doivent être utilisés pour représenter quelque chose, les chercheurs en informatique doivent aussi réfléchir à la quantité d'espace que cela prendra dans un ordinateur (les caractères de 16 bits prennent deux fois plus d'espace que les caractères 8 bits), et si nous devrions utiliser des bits supplémentaires au cas où nous voudrions ajouter plus de caractères dans le futur. Évaluer les bénéfices et les coûts de l'utilisation d'un certain nombre de bits est également une idée que les élèves peuvent explorer.
Exemples de ce que vous pourriez observer :
Un élève peut-il déterminer combien de bits sont nécessaires pour représenter les caractères dans une langue qui en compte 100 ? (7 bits sont nécessaires) Comment représenter les émoticônes, lorsque vous avez au bas mot 4 000 émoticônes disponibles (12 bits seront nécessaires pour chacun).
Désolé ! Cette définition n'est pas disponible en français.