Programmation et codage en CM1/CM2

Disciplines
Espace et géométrie et Sciences et technologie
Niveaux
CM1, CM2.
Auteur
D. GIANORA
Objectif
Objectifs fondamentaux :
- Réaliser un programme en langage Scratch pour animer un personne, sous conditions
- Savoir comment sont transmises des images numériquement

Objectifs transversaux :
- Mettre en œuvre une démarche d’investigation ou de démarche de projet ;
- Développer des compétences transversales comme la prise de décision, le raisonnement, l’argumentation, l’autonomie, la collaboration, etc.
- Développer des compétences en codage et programmation
Relation avec les programmes

Cycle 3 - Programme 2020

  • Programmer les déplacements d’un robot ou ceux d’un personnage sur un écran en utilisant un logiciel de programmation. - vocabulaire permettant de définir des positions et des déplacements (tourner à gauche, à droite ; faire demi-tour, effectuer un quart de tour à droite, à gauche) ; - divers modes de représentation de l’espace : maquettes, plans, schémas.
Dates
Créée le 25 octobre 2018
Modifiée le 26 octobre 2018
Statistiques
679 téléchargements
6 coups de coeur
Licence
CC-BY-NC-SALicence Creative Commons : Paternité - Pas d'utilisation commerciale - Partage des conditions initiales à l'identique ?.

Séquence de cycle 3 à partir du guide gratuit "1, 2, 3...codez !" (La main à la pâte)

Déroulement des séances

1

Comment diriger un véhicule à distance ?

Dernière mise à jour le 26 octobre 2018
Discipline / domaine
Espace et géométrie
Objectif
- définir un langage de programmation et explorer les différences avec la langue naturelle.
- découvrir la notion de bug (optionnel)
Durée
50 minutes (5 phases)
Matériel
Fiche 28
ordinateurs avec une connexion internet
cahier de mathématiques et de sciences
Remarques
Le cahier de mathématiques contiendra les éléments relatifs aux déplacements, exercices de prolongement... qui sont en lien avec la géométrie.
Le cahier de sciences contiendra les éléments liés au projet dans son ensemble et la programmation.

1. Présentation du projet

collectif | 5 min. | découverte

" Nous commençons une séquence sur le langage de programmation informatique. Vous allez apprendre comment fonctionne un programmation et comment donner des informations à une machine. C'est un travail à la fois de mathématiques et de sciences. Nous utliserons les deux cahiers. Pour cela, nous allons imaginer que...

Nous partons en mission sur une planète lointaine. Avant notre expédition, nous allons préparer la mission, réfléchir à la façon dont nous nous déplacerons, et dont nous communiquerons. Ensuite, la classe va simuler la mission à travers un programme."  (trace écrite du projet à coller dans le cahier de sciences)

Première étape : notre véhicule (un rover).

Faire une affiche intitulée « Qu’est-ce que l’informatique ? » avec les différentes étapes de la mission , au fur et à mesure et prévoir un espace pour y ajouter les éléments de connaissance correspondants (notions de langage, d’algorithme, de programme, de machine, d’information…) → explicitation cognitive.

"Vous devez également savoir que la planète est déjà habitée et que la mission dispose d'un véhicule sur place. L'environnement est hostile et lors des sorties d'exploration, une personne doit toujours rester à la base par sécurité, ça s'appelle être d'astreinte.

Si les personnes sur le terrain ne sont plus en mesure de piloter le rover (perte de connaissance), cette personne d'astreinte doit pouvoir le diriger à distance pour le ramener à la base en utilisant des ondes, mais il faut inventer le langage qui va donner les ordres au véhicule."

2. Définition d'un langage

individuel | 15 min. | recherche

Affichage de la fiche 28 sur le vidéoprojecteur et distribution aux élèves :

"la zone de la mission a été quadrillée sur un plan et un chemin a été tracé. On ne peut pas modifier le chemin car il évite les zones dangereuses (donc pas de raccourci, pas de diagonale). Il faut donc suivre le parcours dans le sens de la flèche.

Vous devez définir les instructions à donner au rover"

cahier de mathématiques et crayon à papier

(6-7') Les élèves prennent connaissance de la fiche. Ils recherchent les instructions à donner au rover sur leur cahier de sciences.

L'enseignant circule dans les différents groupes pour s'assurer de la compréhension de la consigne. Il peut guider les groupes qui n'osent pas se lancer dans l'activité.

(6-7')  Les élèves testent leurs consignes en regroupement de 2 ou 3 binômes. Prévoir une phase d'ajustement des consignes données au rover de quelques minutes.

3. Déplacements allocentrés ou autocentrés

collectif | 10 min. | mise en commun / institutionnalisation

Les élèves vont tester leur réponse en grand groupe et on isole les réponses qui guident effectivement le rover à la base.

Temps 1 : "d'où viennent les erreurs de consignes qui ne conduisent pas à la base ? Tout le monde a bien travaillé mais pour certains groupes les consignes ne permettent pas de retourner à la base. Pour quelles raisons ? "

Faire émerger la difficulté à se repérer, la distinction entre la position du rover et son orientation, ainsi que les problèmes d'organisation au sein du binôme.

 

Temps 2 : les consignes qui fonctionnent, sont classées en deux catégories  : les consignes absolues ou allocentrées (va au Nord, va à l'Est...) et les consignes relatives ou autocentrées (qui dépendent de la position et de l'orientation du rover : tourne à gauche...). NB : les instructions du type "avance d'une case vers la droite" doivent être découpées en deux étapes "tourne vers la droite, puis avance d'une case".

Une troisième logique peut (plus rarement) être proposée : il s’agit de donner des coordonnées aux cases (A1, A2, B1…) et, comme dans un jeu de bataille navale, coder les déplacements en donnant le nom de la case de départ et d’arrivée. Exemple, « va de A1 vers A2 ». À noter : le chemin « A1 vers A2 » n’est pas ambigu car les cases sont adjacentes. En revanche, le chemin « A1 vers B7 » est ambigu (et, donc, non satisfaisant) : il y a plusieurs façons d’aller de la case A1 à la case B7. Nous ne détaillons pas cette méthode dans ce qui suit.

Il est probable que les 2 méthodes aient été trouvées par les uns ou les autres. Si cela n’est pas le cas, l’enseignant introduit les méthodes lors de cette mise en commun.

L’enseignant fait remarquer que les instructions sont exprimées dans un langage particulier, avec un vocabulaire très restreint, et non ambigu : chaque instruction est parfaitement explicite et ne peut pas donner lieu à plusieurs interprétations. Il s’agit d’un langage de «programmation ». Faire le lien avec la notation musicale, par exemple.


Ce langage peut encore être simplifié. Par exemple, il est inutile de dire « Va vers l’Est » quand on peut simplement dire « Est » ou « Va à droite » quand on peut simplement dire « Droite » (si on a bien défini au préalable ce que l’on entend par « Droite »,par exemple, « va d’une case vers la droite » et non pas « pivote sur toi-même d’un quart de tour vers la droite »).

Trace écrite

 

Langage absolu ou allocentré (4 mots)

Langage relatif ou autocentré (3 - 2 mots)

NORD

SUD

EST

OUEST

AVANCE

DROITE

GAUCHE (DROITE, DROITE, DROITE)

En informatique, on invente et on utilise des langages. Pour donner des instructions à une machine, on utilise un langage de programmation, compréhensible à la fois par la machine et par l'être humain. Un langage de programmation est différent d’une langue naturelle :
- Il possède très peu de mots et de règles de grammaire
- Il ne laisse place à aucune ambiguïté
Il existe de nombreux langages de programmation, adaptés à différents usages.

 

Compléter l'affiche « Qu’est-ce que l’informatique ? ».

 

4. Sensiblité des erreurs (optionnel)

collectif | 10 min. | entraînement

"D'après vous, que va-t-il se passer si on introduit une erreur dans le programme ?"

Faire un exemple avec la fiche 28.

Les élèves constatent que l'objectif n'est pas atteint.

De plus, cela peut conduire à des incidents graves (dans notre cas, le rover tombe dans une crevasse...)

Trace écrite

Si le programme contient une erreur cela s'appelle un bug. Un bug minime en apparence peut avoir des conséquences énormes.

Note pédagogique
Nous avons choisi d’utiliser l’orthographe anglaise « bug » (qui signifie « bestiole » en anglais) plutôt que l’orthographe francisée « bogue » de façon à respecter l’origine
historique de ce mot. C’est en effet Grace Hopper qui a popularisé l’expression « bug » lorsqu’elle a découvert l’origine d’une panne dans son
ordinateur : un insecte grillé au coeur des circuits. Prolongement : faire une recherche sur Grace Hopper (informaticienne américaine célèbre du début de l'informatique)

5. Exploration souterraine (prolongement optionnel)

binômes | 10 min. | réinvestissement

Ces exercices peuvent être faits à la suite de la séance ou à posteriori. (cahier de mathématiques)

http://www.fondation-lamap.org/fr/page/34537/1-2-3-codez-espace-eleves#exo_exploration

 

Prolongements possibles :

  • traduction d’un langage vers un autre langage, à faire en binôme :

Traduire la séquence d’instructions « Nord, Ouest, Nord, Est, Est, Est, Sud, Est, Sud, Ouest, Ouest, Nord, Nord » (langage allocentré) en une expression autocentrée. Vérifier
sur une feuille quadrillée que les 2 expressions conduisent bien au même résultat.


Traduire (pour un rover orienté initialement vers le Nord) « Droite, Avancer, Avancer, Gauche, Avancer, Gauche, Avancer, Avancer, Avancer, Avancer, Droite, Avancer » en
une expression allocentrée et, de même, vérifier sur une feuille quadrillée le résultat.

 

  • Si ce prolongement a été traité, ajouter dans la trace écrite la notion suivante :

On peut traduire le même ensemble d’instructions d’un langage vers un autre.

2

Comment encoder un message avec des nombres?

Dernière mise à jour le 26 octobre 2018
Discipline / domaine
Sciences et technologie
Objectif
- comprendre les principes d'un code
- convertir des informations textuels en code utilisant seulement des nombres
Durée
45 minutes (4 phases)
Matériel
Fiche 29
cahier de sciences
Informations théoriques
Dans le langage courant, les termes « coder », « chiffrer », « crypter » sont souvent confondus et employés à mauvais escient. Le terme « coder », par exemple, est parfois utilisé pour signifier « programmer » (on lit aussi « écrire du code »), parfois pour « représenter de l’information » (par exemple, le codage binaire), ou encore pour « altérer un message pour le rendre incompréhensible » (en référence à la notion de « code » secret…).
Dans tout ce qui suit, nous tâcherons d’employer les mots dans leur signification scientifique, c’est-à-dire Coder signifie représenter de l’information. Au cours de cette séance, les élèves vont représenter un message textuel à l’aide de nombres. Lorsqu’ils transformeront les lettres en nombre, on parlera d’encodage et, lorsqu’ils effectueront la transformation inverse, de décodage. C’est l’objet de cette séance, puis des deux suivantes sur le binaire.
Chiffrer un message consiste à le déformer pour le rendre incompréhensible à toute personne non destinataire du message (qui ne possède pas la clé pour le déchiffrer).
Les termes crypter/décrypter (que nous éviterons ici) sont en général employés comme synonymes de chiffrer/déchiffrer, mais il existe une nuance. La
cryptanalyse consiste à casser le chiffrement (on devine quelle est la clé alors qu’on n’est pas censé la connaître).

1. Inventer un code

binômes | 15 min. | recherche

"La personne d'astreinte à la base, communique avec l'équipe de terrain en utilisant des instruments électroniques. Ces instruments permettre d'envoyer et de recevoir seulement  des nombres, pas de lettres. Tout message sous forme de texte à transmettre doit donc être converti en une succession de nombres avant l'envoi (c'est l'encodage du message)., puis reconverti en une succession de caractères (lettres, espaces...) pour être lu (c'est le décodage). Les nombres sont tous collés entre eux, il n'y a pas d'espace dans le code."

"L’équipe de terrain souhaite prolonger sa sortie au-delà de l’horaire initialement prévu. Mais le vent semble se lever. Il faut envoyer au poste de contrôle un message qui commence comme ceci :
                                             ENVOYEZ BULLETIN METEO.

Comment encoder des messages textuels sous forme de nombres, puis les décoder?"

Recherche dans les cahiers de sciences.

Autovalidation.

L’enseignant donne en secret à chaque groupe un petit papier sur lequel est écrit un court message textuel contenant au moins un espace ou un point : par exemple « PLUS VITE. », « TRES BIEN. » ou « TOUT VA BIEN.».

Il demande aux élèves d’encoder le message à destination de leur camarade, qui doit ensuite le décoder (les nombres du message encodé devront être tous collés les uns à la suite des autres, sans espace ni ponctuation). Les deux élèves vérifient si la transmission de l’information s’est bien passée. Si ce n’est pas le cas, le binôme peut identifier le problème et changer ou améliorer sa stratégie.

Les élèves qui mettent en place un code instable (cryptage) devront revenir à un code simple avec l'argument

2. La table de correspondance

collectif | 15 min. | mise en commun / institutionnalisation

Les différents codages sont regroupés et commentés sur leurs avantages et leurs inconvénients.

La classe choisira un codage qui fera consensus (sans ambigüité, stable) et qui sera de la forme.

ABCDEFGH
0102030405060708
IJKLMNOP
0910111213141516
QRSTUVWX
1718192021222324
YZpointespace    
25262728    

À noter que les nombres de 1 à 9 sont notés 01 à 09 pour que tous les nombres utilisés soient écrits avec deux chiffres. Cela évite les confusions du type : 12 = AB ou L ?

L'enseignant doit insister sur le fait que le message textuel et le message encodé donne la même information mais de deux manières différentes.

3. Codage et décodage

individuel | 10 min. | entraînement

Distribution du haut de la fiche 29.

"Vous allez effectuer l'encodage du message en utilisant la table de correspondance."

 

Distribution du bas de la fiche 29.

"Nous venons de recevoir la réponse de la base. Vous devez le décoder."

APPROCHE CYCLONE MAJEUR. RETOUR PARKING OBLIGATOIRE. INDIQUEZ DELAI PREVU.

Note pédagogique
L’exercice d’encodage et le défi de décodage peuvent être menés de façon collaborative : un élève donné encode ou décode seulement une ligne du message, et les résultats sont mis en commun. Nous proposons toutefois de distribuer les messages en entier aux élèves, ce qui simplifie la logistique de la séance, permet aux élèves les plus rapides d’avoir constamment du travail et à tous de garder mémoire du travail collectif accompli.

4. Trace écrite

collectif | 5 min. | mise en commun / institutionnalisation

Un caractère peut être représenté par un nombre.
Un texte, qui est une succession de caractères, peut donc être représenté par une
succession de nombres.
L’encodage du texte est le remplacement de ses caractères par les nombres qui leur
correspondent. Le décodage est l’opération inverse.

 

À copier dans le cahier de sciences. L'enseignant complète l'affiche « Qu’est-ce que l’informatique ? » de suivi du projet (débutée lors de la séance 1)

3

Comment coder des informations en binaire?

Dernière mise à jour le 26 octobre 2018
Discipline / domaine
Sciences et technologie
Objectif
- découvrir le fonctionnement du codage en binaire
Durée
60 minutes (5 phases)
Matériel
Fiche 30
cahier de sciences

1. Présentation de l'objectif

collectif | 5 min. | découverte

L’enseignant explique à la classe qu’en réalité, les instruments électroniques ne peuvent pas transmettre directement les nombres : ils transmettent des flux de signaux lumineux ou électriques. Ces signaux n’ont que deux états : NON (pas de signal) / OUI (signal) aussi appelés 0 et 1. Les élèves doivent donc repenser leur système de codage avec cette nouvelle contrainte.

2. Codage binaire - recherche en trois étapes

binômes | 25 min. | recherche

Étape 1

La question est donc est la suivante : comment encoder des informations en utilisant seulement des 0 et des 1 ?

L'enseignant circule entre les différents groupes pour vérifier la compréhension de la consigne et sa validation.

 

Mise en commun des réponses de l'étape 1.

Notes pédagogiques
Une première proposition peut consister à remplacer :
« Nord » par « 00 », « Sud » par « 11 », « Est » par « 01 », « Ouest » par « 10 ».
Dans ce type de proposition, chaque point cardinal est codé par une succession de deux « 0 ou 1 » (un doublet). Toutes les combinaisons de deux « 0 ou 1 » sont utilisées. Il est important de faire remarquer aux élèves que selon les groupes, ce n’est pas forcément le même point cardinal qui est associé à un doublet donné : toutes les  correspondances point cardinal / doublet se valent et seront acceptées.

Une deuxième proposition peut consister à remplacer :
« Nord » par « 1000 », « Sud » par « 0100 », « Est » par « 0010 », « Ouest » par « 0001 ».
Dans ce type de proposition, chaque point cardinal est codé par une succession de quatre « 0 ou 1 ». Seules quelques-unes des combinaisons de quatre « 0 ou 1 » sont utilisées (par exemple, la combinaison 0000 ne l’est pas).

Une troisième proposition peut consister à remplacer :

« Nord » par : 1 0 0 0

« Ouest » par : 0 1 0 0               « Est » par : 0 1 1 0

« Sud » par : 0 0 0 0

Face à ce type de proposition, l’enseignant précise que l’idée est bonne, mais que les 0 et les 1 ne peuvent être transmis que les uns à la suite des autres, donc sans positionnement dans l’espace. Cette troisième proposition devient alors équivalente à la proposition 2 : pour chaque point cardinal, on transmet quatre « 0 ou 1 » dont un seul est un « 1 ». Il y a quatre positions possibles pour le « 1 », une par point cardinal.

 

Il s"assure de la compréhension de la validité des différents codes qui ont été présentés au tableau.

Étape 2

"Nous allons maintenant prolonger notre recherche de code binaire avec plus d'informations à coder. Par exemple parce que tous les messages entre la base et le rover doivent être datés. Il faut donc trouver un moyen de coder les 7 jours de la semaine en alignant le moins possible de "0" et de "1"."

 

Les élèves sont en situation de recherche. L'enseignant s'assure de la compréhension de la consigne par tous. Certains groupes auront besoin d'être recentrés sur la consigne ou sur les modalités de codage retenues dans l'étape 1.

Mise en commun des réponses de l'étape 2.

000 pour lundi
001 pour mardi
010 pour mercredi
011 pour jeudi
100 pour vendredi
101 pour samedi
110 pour dimanche
Il reste même une combinaison (ici 111) qui n’est pas utilisée.

 

Étape 3

Distribuer la fiche 30. "Vous avez codé les éléments d’une liste (les jours) par une succession de « 0 ou 1 » aussi appelés bits, contraction de « binary digit », soit « nombre binaire ».

Avec un seul bit, on peut coder tous les éléments d’une liste de 2 éléments (blanc/noir, éteint/allumé sont des exemples de listes à deux éléments) : on associe le « 0 » à un élément de la liste, et le « 1 » à l’autre élément de la liste.


Avec deux bits juxtaposés, on peut coder tous les éléments d’une liste qui n’a pas plus de 4 éléments (comme Nord/Sud/Est/Ouest), car il existe 4 façons différentes d’agencer 2 chiffres valant 0 ou 1 : « 00 », « 01 », « 10 » et « 11 » .


Avec trois bits juxtaposés, on peut coder tous les éléments d’une liste qui n’a pas plus de 8 éléments (par exemple les 7 jours de la semaine), car les 8 seules combinaisons de 0 et de 1 possibles sont : « 000 », « 001 », « 010 », 011 », « 100 », « 101 », « 110 » et « 111» .


Plus on juxtapose de bits, plus on peut représenter d’éléments : 16 éléments au maximum en juxtaposant quatre bits, 32 éléments au maximum en juxtaposant cinq bits, 64 éléments au maximum en juxtaposant 6 bits, etc.

Trouver ce que pourrait coder les listes de 4 bits ?

Mise en commun et validation collective de l'étape 3

Exemple les 12 mois de l’année, les 10 chiffres 0 à 9, les 12 heures du cadran des montres, les 10 doigts des mains, les prénoms de leurs 9 cousins germains, 16 noms d’animaux de la ferme, etc

 

3. Prolongement (optionnel)

individuel | 10 min. | entraînement

L’enseignant demande aux élèves de trouver combien de bits il faut juxtaposer pour pouvoir coder les 26 lettres de l’alphabet.


Après quelques minutes, la mise en commun permet de conclure que 4 bits ne suffisent pas pour coder les 26 lettres de l’alphabet (codage de 16 éléments au maximum : 2x2x2x2 = 16), mais que 5 bits sont suffisants (codage de 32 éléments au maximum : 2x2x2x2x2 = 32).

4. Trace écrite

collectif | 10 min. | mise en commun / institutionnalisation

Les instruments électroniques (ordinateurs, téléphone portable, tablette...) ne peuvent pas transmettre directement les nombres : ils transmettent des signaux lumineux ou électriques. Ces signaux n’ont que deux états : NON (pas de signal) / OUI (signal) aussi appelés 0 et 1.
On peut encoder les éléments d’une liste par une succession de « 0 ou 1 » aussi appelés bits. On parle alors d’un codage « binaire ».

Plus on juxtapose de bits, plus on peut représenter d’éléments : 2 éléments au maximum avec un seul bit, 2x2=4 éléments au maximum en juxtaposant deux bits,
2x2x2=8 éléments au maximum en juxtaposant 3 bits, 2x2x2x2=16 éléments au maximum en juxtaposant quatre bits, 2x2x2x2x2=32 bits en juxtaposant cinq bits, … 2x2x2x2x2x2x2x2=256 éléments en juxtaposant huit bits, etc.
Le codage binaire permet de représenter toutes sortes de données, notamment des nombres ou des caractères textuels.
Un ordinateur représente n'importe quelle information en utilisant un codage binaire.

 

Les élèves notent ces conclusions dans leur cahier de sciences tandis que l’enseignant complète l’affiche « Qu’est-ce que l’informatique ? ».

5. Prolongement (optionnel)

binômes | 10 min. | réinvestissement

Peut être fait à la suite de la séance ou en différé.

http://www.fondation-lamap.org/fr/page/34537/1-2-3-codez-espace-eleves#exo_marquage

Marquage d'oiseaux.

4

Découverte de Scratch

Dernière mise à jour le 26 octobre 2018
Discipline / domaine
Sciences et technologie
Objectif
- découvrir Scratch et son environnement de programmation
Durée
35 minutes (3 phases)
Matériel
Fiche 32
ordinateur connecté à internet
Fichier illustrations
Programmation complète du jeu
Informations théoriques
NOTIONS
« Machines » :
Les machines qui nous entourent ne font qu’exécuter des ordres (instructions). En combinant des instructions élémentaires, nous pouvons leur faire exécuter des tâches complexes
« Algorithmes »
Un algorithme est une méthode permettant de résoudre un problème.
Une boucle permet de répéter plusieurs fois la même action.
Certaines boucles, dites « infinies », ne s'arrêtent jamais.
Certaines boucles, dites « itératives » sont répétées un nombre prédéfini de fois.

« Langages » :
Pour donner des instructions à une machine, on utilise un langage de programmation, compréhensible à la fois par la machine et par l'être humain.
Scratch est un environnement de programmation graphique, qui utilise un langage simple.
Un programme est l'expression d'un algorithme dans un langage de programmation.
Certaines instructions ne s’exécutent qu’au déclenchement d’un évènement : on parle de programmation évènementielle.
Certaines instructions s’exécutent à la suite les unes des autres : on parle de programmation séquentielle.
L'exécution d'un programme est reproductible (si les instructions ne changent pas, ni les données à manipuler, le programme donne toujours le même résultat)

1. Utilisation libre

individuel | 10 min. | découverte

Notes pédagogiques
Apprendre à programmer se fait en programmant, pas en regardant quelqu’un programmer ! Il est intéressant de réfléchir à 2 sur un même problème (probablement plus que de programmer seul), mais il est important d’être actif.
Nous conseillons donc de mettre les élèves par petits groupes devant les machines (idéalement, 2 élèves par machine) et de leur demander de «passer la main » (donner le clavier et la souris à son voisin) toutes les 10 ou 15 minutes.
Nous conseillons, si possible, d’organiser la classe en demi-groupes de façon à ne pas avoir trop de binômes à gérer. Pendant que la moitié de la classe travaille sur Scratch, l’autre moitié fait autre chose, en autonomie.
Si possible, faire 2 séances de Scratch par semaine, surtout au début du projet.
Cette étape de découverte de Scratch est, volontairement, très directive (les tâches 0 et 1 sont même une démonstration de l’enseignant !). C’est la seule qui se présente sous cette forme. Tous les binômes vont devoir accomplir une série de tâches élémentaires. À la fin de chaque tâche, une mise en commun permet de s’assurer que chacun a compris et sait faire. Les autres étapes seront moins dirigées, les élèves devenant plus autonomes et avançant chacun à leur rythme.
Pour gagner du temps, allumer les ordinateurs avant le début de la séance.

On va simuler la mission d’exploration (à défaut de pouvoir la vivre) à travers un jeu que l’on va programmer nous-même.
Depuis son poste informatique, l'enseignant lance Scratch et montre le jeu vidéo « final » (celui qu’il a lui-même réalisé à l’avance ) sans expliquer comment fonctionne le programme, mais en faisant simplement une démonstration du jeu.

"Voici notre rover, que l’on va apprendre à diriger. Il va récolter des ressources pour permettre aux humains de vivre à la base : de l’eau, de la nourriture… (pour chaque ressource récoltée, le score augmente). Mais attention aux pièges ! S’il tombe dans un piège, il perd une vie. S’il n’a plus de vie, la partie est terminée."

Lancer scratch et laisser les binômes découvrir l'interface.

Expliquer que Scratch est un langage de programmation pour apprendre à programmer. Indiquer les mots de vocabulaire de l'image ILL.1 (lutin, scène, arrière-plan...)

Faire quelques essais : avancer de 10 pas, de 20 pas... Ajouter le drapeau vert de départ.

 

2. Recherche guidée

binômes | 15 min. | recherche

Que trouve-t-on dans les instructions de la catégorie : mouvement, apparence, événement, contrôle?

Effectuer les exercices suivants :

Avancer de 10 pas ou 20 pas ... (ILL.2)

et lui faire dire "bonjour" mettre en avant la fonction "drapeau vert" ILL.3

remettre le lutin au centre de l'écran : ILL.4

répéter l'instruction : ILL.5

combiner ses instructions ILL.6

3. Bilan à compléter

collectif | 10 min. | mise en commun / institutionnalisation

La classe synthétise collectivement ce qui a été appris au cours de cette séance, notamment en listant les commandes scratch qui sont désormais connues de tous :


Avancer de 10
Aller à (0,0)
Dire « bonjour » pendant 2 secondes
Répéter 10 fois
Répéter indéfiniment
Quand drapeau vert est pressé


Fiche 32 : Il peut être très utile aux élèves de colorier les instructions Scratch au fur et à mesure qu’elles sont découvertes et comprises.

Ainsi, après chaque nouvelle étape, on pourra constater les progrès du binôme ou de la classe entière.
La Fiche 32 « Quelques commandes utiles dans Scratch » peut être photocopiée pour chaque élève et agrandie pour la classe entière.

Cette fiche sera enrichie plus tard, quand les élèves auront manipulé des tests, des capteurs, des variables, et des opérateurs.

 

5

Arrière-plan et lutin

Dernière mise à jour le 26 octobre 2018
Discipline / domaine
Sciences et technologie
Objectif
- personnaliser la scène de l'arrière-plan dans Scratch
- savoir enregistrer son travail
Durée
25 minutes (4 phases)
Matériel
vidéoprojecteur
Fiche 32
ordinateur connecté à internet
Fichier illustrations séance 5
Informations théoriques
« Machines » :
Les machines qui nous entourent ne font qu’exécuter des ordres (instructions)
En combinant des instructions élémentaires, nous pouvons leur faire exécuter des tâches complexes
« Algorithmes »
Un algorithme est une méthode permettant de résoudre un problème.
Une boucle permet de répéter plusieurs fois la même action
Certaines boucles, dites « infinies », ne s'arrêtent jamais.
Certaines boucles, dites « itératives » sont répétées un nombre prédéfini de fois.
« Langages » :
Pour donner des instructions à une machine, on utilise un langage de programmation, compréhensible à la fois par la machine et par l'être humain
Scratch est un environnement de programmation graphique, qui utilise un langage simple.
Un programme est l'expression d'un algorithme dans un langage de programmation
Certaines instructions ne s’exécutent qu’au déclenchement d’un évènement : on parle de programmation évènementielle.
Certaines instructions s’exécutent à la suite les unes des autres : on parle de programmation séquentielle.
L'exécution d'un programme est reproductible (si les instructions ne changent pas, ni les données à manipuler, le programme donne toujours le même résultat)
Remarques
Notes pédagogiques :
L’objectif de ce guide pédagogique est l’apprentissage de l’informatique (ici, plus particulièrement, la programmation) : nous ne décrivons donc pas les éventuelles séances de prolongement possibles, comme celles que l’on peut faire en arts plastiques / TICE afin de dessiner un rover personnalisé ou un arrière-plan pour notre jeu vidéo. Nous proposons simplement, dans cette étape, d’importer des éléments que nous mettons à disposition des classes. Cela présente un double avantage : un gain de temps et une certaine homogénéité entre les programmes réalisés par les élèves, ce qui facilitera leur comparaison.
Bien sûr, l’enseignant peut décider de consacrer une heure à faire dessiner ces éléments par les élèves. Attention, dans ce cas pour l’arrière-plan : il doit être relativement homogène car des éléments de décor (obstacles et ressources) seront ajoutés plus tard, sous la forme de nouveaux lutins.

1. Changer de lutin

binômes | 5 min. | découverte

ILL. 4

Pour supprimer le lutin « chat » et en créer un autre à la place, plus en phase avec notre projet de mission spatiale : un rover, il faut cliquer (bouton droit) sur son icone, dans la zone des lutins, et choisir « supprimer ».
Il y a 4 façons différentes de créer un nouveau lutin, accessibles depuis la barre d’outils « nouveau lutin » en bas à droite de la scène (nous mettons en gras la méthode que nous préconisons ici).

  • Choisir un lutin dans la bibliothèque
  • Dessiner un nouveau lutin
  • Importer le lutin depuis un fichier (intégrer le rover au préalable à la bibliothèque (2 modèles) : ILL.1    http://www.fondation-lamap.org/sites/default/files/upload/media/minisites/projet_info/ressources/scratch/lutins/rover_carre-2.png      et ILL.2           http://www.fondation-lamap.org/sites/default/files/upload/media/minisites/projet_info/ressources/scratch/lutins/rover_allonge.png)
  • Nouveau lutin depuis une webcam

 

Note pédagogique
Nous avons remarqué que, sur certaines machines, l’importation du lutin depuis un fichier fonctionne mal. Si l’importation échoue, il existe une façon très simple de remédier au problème : sauvegarder le travail en cours, éteindre Scratch , relancer Scratch … et recommencer l’import du fichier. Après cette petite manoeuvre, ça marche !

"Vous avez manipulé quelques fonctions de Scratch pour donner des instructions à votre lutin. Dans notre projet, le lutin n'est pas un chat mais un rover. Vous allez apprendre à choisir le lutin et l'arrière-plan pour personnaliser votre projet."

Les élèves suivent les instructions au tableau et les reproduisent.

2. Changer l'arrière-plan

binômes | 5 min. | recherche

De la même façon que précédemment, il est possible de changer l’arrière-plan de la scène, soit à partir d’une image issue de la bibliothèque, soit à partir d’un fichier fourni par l’utilisateur, soit encore en le dessinant soi-même.
Nous conseillons de choisir l’option «Importer l’arrière-plan depuis un fichier » et de prendre le fichier http://www.fondation-lamap.org/sites/default/files/upload/media/minisites/projet_info/ressources/scratch/scenes/sol_martien.png (dans le répertoire « scènes » des fichiers mis à disposition).

Voici un aperçu du rover, sur le fond choisi. IIL. 3

Les élèves reproduisent la manipulation en binômes.

3. sauvegarder son travail

binômes | 5 min. | recherche

Rappeler l'importance de l'enregistrement d'un travail dans toute utilisation de logiciels.

Scratch est installé en localscratch est utilisé en ligne
L’enregistrement se fait en cliquant sur le menu «fichier » puis l’option « sauvegarder» . Il faut ensuite se déplacer dans le répertoire dédié au projet et la classe (un raccourci depuis le bureau est, encore une fois, fortement conseillé), puis choisir un nom de
fichier.
Ce nom de fichier peut, par exemple, comporter les prénoms des élèves, de façon à ce qu’ils puissent facilement retrouver leur propre programme plus tard.
L’import se fera soit en double-cliquant  directement sur le fichier sauvegardé (ce qui lance le logiciel Scratch ), soit en lançant Scratch puis en cliquant sur le menu « fichier » et l’option « ouvrir ».
L’enregistrement se fait en cliquant sur le menu « fichier » puis l’option « télécharger dans votre ordinateur ».
L’import se fera plus tard depuis le même  menu, en cliquant sur l’option « importer depuis votre ordinateur ».

Les élèves sauvegardent suivant les instructions fournies par l'enseignant.

4. Importation et sauvegarde - bilan

collectif | 10 min. | mise en commun / institutionnalisation

La classe revient sur ce qu’elle a appris à faire dans Scratch :

importer un lutin ou un arrière-plan
sauvegarder et reprendre son travail.


L’enseignant peut montrer à nouveau la démonstration du jeu « final », afin de faire expliciter par les élèves les tâches qui restent à faire.

Par exemple : Piloter le rover à l’aide des flèches, importer d’autres lutins pour gérer les ressources et les obstacles, faire en sorte qu’on gagne un point quand on récolte une ressource, et qu’on perde une vie quand on touche un obstacle, faire en sorte qu’une ressource disparaisse lorsqu’elle est ramassée, et réapparaisse ailleurs sur la scène (à un endroit aléatoire), faire en sorte que la tornade se promène au hasard sur la scène, faire en sorte que le jeu prenne fin lorsqu’on n’a plus de vie (avec « game over » qui apparait, et tout le reste qui disparait).

L'enseignant complète l'affiche "Qu'est-ce que l'informatique?"

6

Piloter le rover

Dernière mise à jour le 26 octobre 2018
Discipline / domaine
Sciences et technologie
Objectif
- réaliser une première programmation permettant de piloter le lutin
- utiliser un système de coordonnées
Durée
55 minutes (7 phases)
Matériel
Fiche 32
Fiche 33
Fichier illustration séance 6
Informations théoriques
« Machines » :
Les machines qui nous entourent ne font qu’exécuter des ordres (instructions)
En combinant des instructions élémentaires, nous pouvons leur faire exécuter des tâches complexes
« Algorithmes »
Un algorithme est une méthode permettant de résoudre un problème.
Une boucle permet de répéter plusieurs fois la même action
Certaines boucles, dites « infinies », ne s'arrêtent jamais.
Certaines boucles, dites « itératives » sont répétées un nombre prédéfini de fois.
« Langages » :
Pour donner des instructions à une machine, on utilise un langage de programmation, compréhensible à la fois par la machine et par l'être humain.
Scratch est un environnement de programmation graphique, qui utilise un langage simple.
Un programme est l'expression d'un algorithme dans un langage de programmation
Certaines instructions ne s’exécutent qu’au déclenchement d’un évènement : on parle de programmation évènementielle.
Certaines instructions s’exécutent à la suite les unes des autres : on parle de programmation séquentielle.
L'exécution d'un programme est reproductible (si les instructions ne changent pas, ni les données à manipuler, le programme donne toujours le même résultat)
Remarques
Note pédagogique :
Pour cette étape, les élèves auront encore besoin d’être guidés. Ensuite, ils auront acquis les automatismes leur permettant d’être bien plus autonomes, et chaque binôme avancera à son rythme.

1. Introduction

collectif | 5 min. | découverte

"Vous allez réaliser les premières instructions de votre programme." remontrer le jeu final pour que les élèves aient une vie d'ensemble.

Rappel des instructions de déplacement qui ont été vues dans la séance 1.

2. Faire avancer le rover

binômes | 5 min. | recherche

Pour cela, vous allez chercher comment faire avance le lutin (rover) vers la gauche.

Les élèves savent déjà comment faire avancer le rover vers la droite… il suffit de lui dire d’avancer, puisque, par défaut, il est déjà orienté vers la droite. Le faire avancer vers la gauche est une tâche un peu plus difficile, car les élèves doivent d’abord demander au rover de s’orienter vers la gauche, avant d’avancer.

Ils travaillent en autonomie et tâtonnent, l’enseignant passant régulièrement dans les groupes pour s’assurer que personne n’est bloqué. Il peut les guider en les incitant à chercher une instruction «s’orienter ».

 

Notes pédagogiques :
Deux instructions de ce type sont disponibles :
« s’orienter vers… » qui ne nous intéresse pas car la seule option disponible, accessible en cliquant sur la petite flèche, est « pointeur de souris » (le lutin, dans ce cas, s’oriente vers la position du pointeur de la souris).
«s ’orienter à… » qui est celle qui nous intéresse. Lorsque l’on clique sur le nombre présent dans l’instruction (en général, ce nombre par défaut est « 90 »), une bulle d’aide nous explique que l’angle 0° désigne le haut de l’écran ; 90° désigne la droite, etc.

Il faut donc choisir ici « s’orienter à -90 »

Finalement, le programme qui permet au lutin de se déplacer vers la gauche est : ILL.1

 

Prolongement ou remédiation : exercice travaillant la notion d'orientation.

Dessiner un dé : http://www.fondation-lamap.org/fr/page/34537/1-2-3-codez-espace-eleves#exo_de

 

Les élèves doivent maintenant être capables de faire avancer le rover dans n’importe quelle direction (droite, gauche, haut et bas), en reprenant exactement la même méthode que précédemment.
NB : désormais, on a besoin de l’instruction « s’orienter à 90 » pour lui dire d’aller à droite… car le lutin n’est plus orienté, par défaut, dans cette direction.

3. Piloter à l'aide des flèches

binômes | 15 min. | recherche

Les élèves doivent maintenant faire en sorte que le rover se déplace quand ils pressent les flèches du clavier.

Ils cherchent en autonomie comment faire. Certains se rappellent la commande « quand drapeau vert pressé » vue lors de la toute première séance Scratch. C’est un événement qui permet de déclencher une action. Ici aussi, on cherche un événement : l’action se déclenche quand une touche du clavier est pressée.
La commande «quand (espace) est pressé » nous intéresse, sauf qu’il faut changer « espace » par une des flèches (flèche droite pour aller à droite). Cela se fait de la même manière que précédemment : ILL.2

Autovalidation en lançant l'exécution du programme.

Notes pédagogiques :
On remarque ici qu’on peut faire co-exister plusieurs sous-programmes dans le même programme. Chacun s’exécute lorsque l’événement déclencheur (ici, presser une touche du clavier) est détecté.
Certains élèves paniquent parfois en pensant que tout leur programme a disparu suite à une fausse manoeuvre. En général, cela n’est pas le cas (le programme n’est pas effacé). Ils ont simplement cliqué sur la scène (qui a sa propre zone de programme… mais vide puisqu’on n’y a rien mis pour le moment) au lieu du lutin.
Parfois, ils ont bien sélectionné le lutin, mais ont cliqué sur l’onglet « costumes » au lieu de l’onglet « scripts ». Il suffit de retourner sur le lutin, et sur l’onglet « scripts » pour voir réafficher le fameux programme !

4. Rebondir sur les bords

binômes | 5 min. | recherche

"Nous allons utiliser une commande utile pour que le rover ne sorte pas de la scène. Il doit rebondir sur les bords."

Cela se fait très simplement en ajoutant l’instruction «rebondir si le bord est atteint » en bas de chacun des sous-programmes faits précédemment.

Par exemple : ILL. 3

5. Initialiser la position du rover

binômes | 5 min. | recherche

L’enseignant rappelle que, lorsqu’on lance le programme (drapeau vert), le rover doit se situer au centre de l’écran.

"Comment faire pour que le rover soit toujours au centre de l'écran au début de l'exécution du programme.

Les élèves reprennent sans difficulté les instructions qu’ils avaient vues lors de la première séance Scratch.

ILL.4

 

Note pédagogique :
Le programme peut maintenant être exécuté en cliquant sur le drapeau vert. Si on le souhaite, on peut faire disparaître les programmes pendant l’exécution, en cliquant sur le bouton « plein écran » en haut à gauche de la scène.
Ne pas oublier, à chaque fois, de sauvegarder le travail réalisé.

6. Les coordonnées

collectif | 10 min. | recherche

La tâche précédente a mis en évidence les coordonnées X et Y du rover, à travers l’instruction « aller à (X = 0, Y = 0) ». Les étapes suivantes (ressources, pièges…) nécessiterons de manipuler ces coordonnées ; il importe donc de comprendre comment cela fonctionne.

L’enseignant demande aux élèves de visualiser les coordonnées X et Y qui s’affiche en bas à droite de la scène ILL.5. Ceux-ci remarquent que les coordonnées affichées changent en fonction de la position de la souris.
Que valent X et Y quand la souris est au centre de la scène ? (réponse : X = 0, Y = 0)
Et quand la souris est tout à droite ? (réponse : X = 240, Y peut prendre n’importe quelle valeur selon la position de la souris)
Et quand la souris est tout à gauche ? (X = -240)
Et quand la souris est tout en haut ? (Y = 180) ou tout en bas ? (Y = -180)

La classe conclut collectivement que X indique la position selon l’axe horizontal (axe imaginaire, non tracé) et Y indique la position selon l’axe vertical (lui aussi imaginaire).
Les élèves peuvent remarquer que, dans la catégorie « mouvement » de la palette d’instructions, de nombreuses instructions font intervenir les variables X et Y. Ici, il ne s’agit plus de la position de la souris, mais de celle du lutin sélectionné. Le rover possède son propre jeu de variables X et Y.

L’enseignant peut distribuer la fiche 33 à chaque élève et lui proposer des petits exercices :
Place le lutin sur la scène, aux coordonnées X = -100, Y = 100
Que se passe-t-il si on ajoute 50 à X ? Où est désormais le lutin ?
Que se passe-t-il si maintenant on met Y à 0 ? Où est le lutin ?

 

Notes pédagogiques :
Pour faciliter la compréhension de ces coordonnées, l’enseignant peut faire un parallèle avec ce que les élèves ont déjà vu en géographie : latitude / longitude.
Ici, l’unité n’est pas le degré (on ne raisonne pas en angle), mais le pixel. De même, dans un jeu de bataille navale, on repère la position des bateaux par 2 coordonnées (une lettre et un chiffre). Au choix de l’unité ou du symbole près, il s’agit exactement de la même chose : repérer la position d’un point sur une surface, ce qui nécessite 2 coordonnées car une surface est un espace à 2
dimensions.
De même, il peut être utile à certains élèves de se raccrocher à des situations concrètes au sujet des nombres négatifs. Les exemples ne manquent pas, qu’il s’agisse des dates ou de la mesure de la température (que signifie « -10°C » : est-ce plus chaud ou plus froid que « 0°C ». Et « -20°C », est-ce plus chaud ou plus froid que « -10°C » ?).

 

 

7. Déplacements et orientation - bilan

collectif | 10 min. | mise en commun / institutionnalisation

À la fin de cette séance, il importe de faire le point sur les nouvelles commandes Scratch que les élèves ont appris à utiliser :


S’orienter à (90)
Quand (espace) est pressé
Quand (drapeau vert) est pressé
Aller à (X =…, Y = …)


Les élèves colorient ces commandes sur la Fiche 32 qu’ils avaient déjà utilisée.

Par ailleurs, cette séance offre l’occasion de prendre du recul par rapport aux activités de programmation et de revenir sur certains concepts :
 

Un programme est un algorithme exprimé dans un langage particulier, appelé langage de programmation, compréhensible à la fois par la machine et par l'être humain.
L'exécution d'un programme est reproductible (si les instructions ne changent pas, ni les données à manipuler, le programme donne toujours le même résultat).
L’ordinateur ne fait qu’exécuter les instructions qu’on lui donne : ni plus, ni moins.
La position d’un élément à l’écran est repérée grâce à 2 coordonnées. Dans Scratch, on les appelle X et Y. X varie entre -240 et 240 ; Y varie entre -180 et 180.


Les élèves notent ces conclusions dans leur cahier de sciences. L’enseignant, quant-à-lui, met à jour l’affiche « qu’est-ce que l’informatique ? ».

7

Récolter des ressources, gérer son score

Dernière mise à jour le 26 octobre 2018
Discipline / domaine
Sciences et technologie
Objectif
- ajouter des lutins
- créer une variable pour leur score
- programmer des instructions conditionnelles
Durée
91 minutes (7 phases)
Matériel
Fiche 32
Fichier illustrations séance 7
Informations théoriques
« Algorithmes » :
Une boucle permet de répéter plusieurs fois la même action un test permet de choisir quelle action effectuer si une condition est vérifiée ou non.
Une condition est une expression qui est soit vraie, soit fausse.

« Machines » :
Une variable est un nom que l'on donne à une zone de mémoire. Elle permet de stocker une valeur et de la réutiliser plus tard, ou de la modifier.
« Langages » :
Certaines instructions s’exécutent simultanément à d'autres : on parle de programmation parallèle.

1. Introduction

collectif | 5 min. | découverte

Rappel du contexte du projet

L’enseignant explique que l’équipage doit s’approvisionner en diverses ressources pour survivre, notamment en eau (sous forme de glace, sur cette planète) et en nourriture (sous forme de végétaux). Le rover va devoir les récupérer, et un « score » permettra de compter le nombre de ressources récoltées.

2. Ressources

binômes | 25 min. | recherche

Binômes homogènes.

1. Importer les ressources

"Vous devez importer le lutin de la ressource en eau."

Les élèves reprennent leur programme enregistré à la séance précédente et importent un nouveau lutin : la glace.
L’enseignant veille à ce qu’ils pensent à initialiser manuellement la position de cette ressource, comme ils l’avaient fait à la séance précédente pour le rover. Ils peuvent positionner la glace n’importe où sur l’écran, pourvu que les lutins (glace et rover) ne se chevauchent pas.

Par exemple : ILL.1

Chaque lutin possède sa propre zone de programmation. Il faut donc sélectionner le lutin avant de choisir la programmation.

2. Faire dire "bravo"

"Lorsque la ressource sera touchée par le rover, elle devra dire "Bravo!". Comment procéder ?"

Les élèves cherchent comment faire dire quelque chose à la ressource si elle est touchée. L'enseignant laisse un temps de recherche d'environ 5-10 min. Si aucune solution n'émerge, il propose de recherche dans la catégorie "contrpole", le bloc "si... alors". ILL. 2

La fonction "faire dire" a déjà été utilisée précédemment.

Le programme final sera du type : ILL.3 et ILL.4

La boucle "répéter indéfiniment" permet que cette action se déclenche à n'importe quel moment quand le rover touchera la ressource. Sans cette boucle, la ressource ne dira "bravo" que si le rover la touche au déclenchement du drapeau vert... Suivant le niveau des élèves, il est possible de les laisser chercher sans la boucle pourquoi cela ne fonctionne pas.

3. Faire disparaître la ressource

"Maintenant, vous aller chercher comment modifier l'apparence de la ressource pour qu'elle disparaisse quand elle est touchée."

Pour cela on va utiliser la fonction "cacher". Attention, il faut penser à faire apparaître "apparence" la ressource au départ du programme sinon elle restera cacher de la session précédente.

Ces fonctions sont à ajouter dans la boucle précédente. ILL. 5

 

3. Afficher un score

binômes | 20 min. | recherche

1. variable "score"

"Vous allez maintenant chercher comment afficher un score.

Il s'agit de créer une variable dans la catégorie "données" (orange).

Notes pédagogiques :
La variable ainsi créée peut être accessible par un seul lutin (celui dans le programme duquel elle est créée) ou par tous. On parle (dans d’autres langages de programmation) respectivement de variable locale ou de variable globale.
Pour qu’un programme soit facile à comprendre, il est important de donner des noms explicites aux variables que l’on crée. Cette bonne habitude limite également les bugs de programmation. Le nom de la variable peut donc être, tout simplement : « score ». Certains élèves utilisent des noms qui n’ont pas de sens, ou qui révèlent une confusion entre la variable et les manipulations de cette variable (par exemple, ils nomment la variable « ajouter 1 au score »).
On remarque que lorsque la variable est créée, elle est affichée à l’écran, ainsi que sa valeur. Pour faire disparaître cet affichage, il suffit de décocher la case à gauche du nom de la variable, dans la palette « données ».

L’enseignant fait remarquer aux élèves qu’ils ont déjà manipulé des variables dans les séances précédentes (l’abscisse X et l’ordonnée Y, qui donnent la position d’un lutin à l’écran). Ces variables étaient déjà disponibles et les élèves ont pu les manipuler (faire des tests, leur affecter des valeurs…) sans avoir besoin de les créer.

ILL.6

2. Augmenter le score

"Comment peut-on faire augmenter le score ?"

Cette fonction est à placer à l'intérieur du programmation de la ressource "glace" (attention à la sélection des lutins).

Par exemple : ILL. 7

Il faudra également ajouter la fonction  "mettre à zéro" en début de programme. Cela peut être fait dans n'importe quel programme, comme le programme du rover qui est le programme principal.

3. Placer la ressource de manière aléatoire

"Pour que ce soit plus ludique, on peut placer la ressource glace n'importe où. Est-ce que vous voyez une commande pour le faire?"

Ce qui modifie le programme de la glace : ILL.8

 

4. Importer des ressources et gérer un score - bilan

collectif | 5 min. | mise en commun / institutionnalisation

La classe synthétise collectivement ce qui a été appris au cours de ces différents travaux :
On peut créer différentes variables dans un programme. Il est préférable d’initialiser chaque variable, c’est-à-dire lui donner une valeur au lancement du programme.
Un programme informatique peut générer des nombres aléatoires. Ainsi, chaque exécution peut donner un résultat différent.

Les élèves notent ces conclusions dans leur cahier de sciences. L’enseignant, quant-à-lui, met à jour l’affiche « qu’est-ce que l’informatique ? ».

5. Végétation

binômes | 25 min. | évaluation

Les élèves doivent reproduire les étapes précédentes pour la ressource "glace", pour une nouvelle ressource "végétation".

Cette phase peut servir d'évaluation ou de remédiation aux problèmes persistants.

Si les élèves ont besoin de "copier" le programme précédent parce qu'ils n'arrivent pas à reconstruire le raisonnement dans son intégralité, il peut être intéressant de lancer des discussions argumentatives pour qu'ils explicitent et justifient leur choix.

Le programme complet pour "glace" est disponible dans le fichier des illustrations.

6. Variables (prolongement)

individuel | 10 min. | entraînement

Cet exercice peut être mené par les élèves les plus avancés.

http://www.fondation-lamap.org/fr/page/34537/1-2-3-codez-espace-eleves#exo_conditions

(Conditions)

http://www.fondation-lamap.org/fr/page/34537/1-2-3-codez-espace-eleves#exo_peintre

(Robot peintre)

http://www.fondation-lamap.org/fr/page/34537/1-2-3-codez-espace-eleves#exo_rangement

(Ranger sa chambre)

http://www.fondation-lamap.org/fr/page/34537/1-2-3-codez-espace-eleves#exo_variables

(Jeu des variables)

 

7. FIN DU PROJET CM1CM2

collectif | 1 min. | évaluation

Le manuel 1, 2, 3 codez! poursuit la réalisation du projet jusqu'au modèle présenté lors de la première séance de Scratch.

Pour le niveau CM1CM2, les séances précédentes sont suffisantes et permettent de présenter un projet cohérent.

"Vous avez réalisé une première partie du projet. Celle qui correspond au niveau CM1CM2. Vous voyez maintenant que tous les jeux et toutes les applications qui vous entourent sont des programmations dans un langage informatique. TRACE ÉCRITE"

Les élèves peuvent alors se mettre en compétition avec un chronomètre affiché au tableau. Ils doivent avoir conscience que le chronomètre et toute sorte d'instructions peuvent être ajouter mais que cela représente beaucoup d'heure de travail.

8

Activités de renforcement (optionnel)

Dernière mise à jour le 26 octobre 2018
Discipline / domaine
Espace et géométrie
Objectif
- approfondir les concepts d'algorithmes, de boucles, de test, de variable et d'opérateurs logiques
Durée
60 minutes (5 phases)
Matériel
ordinateur
fiche 34
Fiche 35
Fiche 36
Fiche 37
Fichier illustration séance 8
Informations théoriques
« Algorithmes » :
Une boucle permet de répéter plusieurs fois la même action.
Un test permet de choisir quelle action effectuer si une condition est vérifiée ou non.
Une condition est une expression qui est soit vraie, soit fausse .
On peut utiliser des connecteurs logiques comme ET, OU, NON pour fabriquer des expressions logiques.
Parfois, on se contente d'un algorithme qui ne donne pas une solution parfaite.

« Machines » :
Une variable est un nom que l'on donne à une zone de mémoire. Elle permet de stocker une valeur et de la réutiliser plus tard, ou de la modifier.

« Machines »
pour certaines tâches, les ordinateurs sont bien plus rapides que les hommes.

1. Scratch - boucle (évaluation)

individuel | 10 min. | évaluation

Les élèves doivent trouver comment intégrer une boucle pour simplifier le programme suivant  : ILL.1

Le résultat correspondra à : ILL.2

 

Il est possible d'organiser des équipes : l'équipe 1, construit un programme répétitif et l'équipe 2 doit le transformer en boucle.

 

2. Jeu de cartes sur les variables

groupes de 4 | 20 min. | réinvestissement

Présentation du jeu

(prévoir au moins une partie avec l'enseignant pour la maîtrise des règles et des cartes)

Faire 1 équipe de 4 joueurs.

Le but : accumuler le plus de points possibles. Un seul score pour tout le groupe. Cela permet de mettre en place de la coopération pour faire augmenter LE score.

Chaque élève reçoit 4 cartes face cachée. Les élèves prennent connaissance secrètement de leurs 4 cartes.

À tour de rôle, les élèves vont annoncer la carte qu'ils choisissent avant de la montrer , puis ils la posent sur la table. Ensuite, ils exécutent les instructions de la carte. Le score est mis à jour sur les ardoises.

Si l'élève s'est trompé dans la fonction de la carte, elle est mise de côté et ne permettra pas de faire augmenter le score.

Lorsque toutes les cartes ont été jouées, la partie est finie.

L'enseignant replace régulièrement le vocabulaire de programmation : variable...

Niveau 1

Jeu avec les cartes 1 à 24 : fiche 34

Une fois que le jeu et la notion de variable est mieux maîtrisés, les cartes peuvent être remplacées par leur version en langage Scratch.

 

 

Niveau 2 :

Jeu avec les cartes 1 à 36 : fiche 35

Comme précédemment, les cartes peuvent être remplacées par leur version en langage Scratch quand les élèves maîtrisent suffisamment le jeu et le vocabulaire.

 

Niveau 3 :

Jeu avec les cartes 1 à 48 : fiche 36

Comme précédemment, les cartes peuvent être remplacées par leur version en langage Scratch quand les élèves maîtrisent suffisamment le jeu et le vocabulaire.

 

Les élèves doivent être en activité au moins 15 min. pour se familiariser avec le jeu.

La traduction des cartes en langage Scratch peut être faite par les élèves ou préparer à l'avance. ILL.3

3. Jeu de cartes sur les variables - bilan

collectif | 5 min. | mise en commun / institutionnalisation

Au cours de nombreux jeux, les scores des joueurs changent de valeur (on dit qu’ils sont variables). Ils sont mémorisés à chaque étape du jeu. De même, la position des joueurs sur un plateau de jeu, le nombre de pions qu’ils possèdent, etc. sont mémorisés et varient.
Dans un langage de programmation, une variable permet de mémoriser une valeur qui peut varier au cours de l’exécution du programme.

4. Jeu de cartes sur les opérateurs

groupes de 4 | 20 min. | réinvestissement

Rappel : la programmation du rover a utilisé des fonctions tests : tester une condition qui peut être VRAIE ou FAUSSE. C'est ce qu'on appelle des tests de logiques en programmation.

 

Découverte de la fiche 36.

Les élèves doivent indiquer si l'expression est vraie ou fausse.

Les réponses sont :

Expression 1 : VRAIE (c’est assez évident !)
Expression 2 : FAUSSE (là aussi !)
Expression 3 : VRAIE (une porte est toujours, soit dans la position ouverte, soit dans la
position fermée).
Expression 4 : FAUSSE (une porte ne peut pas être ouverte et fermée en même temps)
Expression 5 : on ne peut pas savoir (rien ne nous renseigne sur l’état de la porte, à
moins que nous ne puissions la voir en ce moment)
Expression 6a : VRAIE (les 2 conditions sont réalisées en même temps)
Expression 6b : VRAIE (il suffit que l’une des conditions soit vérifiée, ce qui est le cas)
Expression 7a : FAUSSE (la seconde condition n’est pas réalisée)
Expression 7b : VRAIE (il suffit que l’une des conditions soit vérifiée, ce qui est le cas)

Si cela est plus simple pour les élèves, présenter les expressions à l’intérieur d’un test plutôt que de façon isolée. Par exemple : « la cloche de l’école sonne si c’est l’heure de la récréation ou c’est l’heure de la reprise ou c’est l’heure de la fin des cours. »

 

Découverte de la fiche 37

groupe de 4 élèves.

"Découpez les vignettes puis combinez-les de façon à former des expressions logiques. On souhaite décrire la condition qui permet de déclencher l’alarme de notre station spatiale."

Par exemple : l’alarme se déclenche :
SI « le sas de sécurité est ouvert » ;
OU si « la nuit tombe » ET « le rover n’est pas présent dans la base » ;
OU si « le niveau d’oxygène est critique » ET « la base est occupée » ;
OU si « l’énergie est basse » ET « la base est occupée » ;
OU si « le groupe électrogène NE fonctionne PAS ».
Etc.

La première condition peut s'écrire : ILL.4

La seconde condition : ILL.5

Déplacer des parenthèses peut changer le sens d’une expression ! Les élèves peuvent placer leurs cartes sur une feuille blanche et dessiner les parenthèses sur la feuille.

 

La synthèse de toutes les conditions : ILL.6

5. Jeu de cartes sur les opérateurs - bilan

collectif | 5 min. | mise en commun / institutionnalisation

Dans un algorithme, on peut utiliser des tests qui disent quelle instruction effectuer quand une condition est vérifiée ou non.
Une condition est une expression qui peut être soit vraie, soit fausse (mais pas les deux).
On peut utiliser des connecteurs logiques comme ET, OU, NON pour fabriquer des expressions logiques.

 

Les élèves notent ces conclusions dans leur cahier de sciences. L’enseignant, quant à lui, met à jour l’affiche « qu’est-ce que l’informatique » démarrée en début de projet en recopiant ce que la classe a appris sur la notion de logique au cours de cette séance.

9

Comment transmettre une image?

Dernière mise à jour le 26 octobre 2018
Discipline / domaine
Sciences et technologie
Objectif
- comprendre la notion de pixels et de définition
- appréhender le fonctionnement de la transmission d'image numériquement
Durée
30 minutes (4 phases)
Matériel
Fiche 39
Fiche 40 imprimée sur papier calque ou feuille blanche translucide
Du scotch ou des trombones pour superposer les images 39 et 40
Fichier illustrations séance 9
Loupes
Extrait d'images grossies plusieurs fois (pixélisation visible) de préférence issues de journaux.
Informations théoriques
« Information »
une image peut être représentée sous la forme d'une grille de carrés appelés pixels.
Remarques
Vocabulaire : Image, pixel, résolution

1. Introduction

collectif | 5 min. | découverte

"Nous retournons sur notre planète lointaine. Les explorateurs qui sont sur le terrain ont pris des photos et veulent les transmettre à la base. « Comment pourrait-on transmettre des photographies sur de longues distances ? ».

 Les élèves proposent plusieurs possibilités : coursier, pigeon voyageur, facebook, scanner ou e-mail.

Que les élèves pensent ou non à la numérisation de la photographie, l’enseignant leur pose alors cette question : «M ais au fait, qu’est-ce qu’une image ? »

2. Qu'est-ce qu'une image ?

groupes de 4 | 10 min. | recherche

"Vous allez disposer de matériel pour chercher une réponse à la question que nous venons de soulever."

L’enseignant distribue les journaux imprimés à chaque groupe. 

Les élèves évoquent les matériaux : papier, carton, encre.

Quand ce mot est prononcé, l’enseignant distribue les loupes. « Pouvez-vous me dire comment est distribuée l’encre sur les images ? Quelle est sa couleur ? »

Très vite, les élèves vont repérer que les impressions sur du journal sont composées d’une multitude de petits points, et que les couleurs de ces points sont en fait très limitées.

L’enseignant introduit le terme « pixel » (de l’anglais « picture element »). Il fait observer aux élèves que lorsque l'on s'éloigne de l'image notre oeil ne voit plus els pixels.

et aide à formuler une conclusion qui peut ressembler à ceci : « Une photographie est constituée de petits point colorés, les pixels. De loin, on ne voit plus les pixels, mais une image qui semble continue. ».

Notes scientifiques
Pour des raisons techniques, les pixels des écrans sont de petits carrés juxtaposés (pour être plus précis, sur les écrans couleur, chaque pixel carré est en fait constitué de trois sous-pixels de forme rectangulaire juxtaposés de gauche à droite : un sous-pixel rouge, un sous-pixel vert et un sous-pixel bleu, voir ci-dessous).
Dans le cas des supports papier, les disques colorés peuvent, eux, se chevaucher (le blanc du papier sert lui aussi dans la recomposition des couleurs).
La couleur des pixels dépend grandement du support utilisé. Sur un écran d’ordinateur, de tablette ou de smartphone, les pixels existent en Rouge, Vert et Bleu (on parle donc de mode RVB). Sur les images imprimées en quadrichromie, les couleurs sont Cyan, Magenta, Jaune et Noir (on parle alors de mode CMJN).
Des impressions en bichromie se contentent de deux couleurs d’encre complémentaires (bleu et orange, par exemple). La combinaison de ces quelques couleurs permet de reconstituer une grande diversité de sensations colorées.

3. Combien faut-il de pixels pour notre image?

groupes de 3 | 10 min. | recherche

«Pour transmettre une image, il suffit d’en transmettre tous les pixels, un par un. » 

Vous allez pixelliser une image, c’est-à-dire la remplacer par une grille de pixels. Pour cela, il faut noircir chaque case qui contient un trait. Vous ne devez pas montrer votre image aux autres groupes. Inscriver le nom de votre groupe dans un coin de la feuille de calque.

Il scinde la classe en quatre groupes distincts, qui chacun pixellisera une des quatre images (A, B, C ou D) de la Fiche 39.

À chaque élève, il distribue :

  • un exemplaire de l’image de son groupe, en précisant bien que chaque groupe ne doit pas montrer son image aux autres groupes
  • la grille 1 de la Fiche 40, imprimée sur papier transparent ou sur papier calque. Ne donner qu'un type de grille par groupe et ne pas donner la grille la plus fine.
  • du scotch ou des trombones.

Les élèves doivent superposer l’image et la grille en faisant correspondre les repères en forme de « L », assembler les 2 couches à l’aide de scotch ou de trombones, puis noircir intégralement les cases par lesquelles passe le trait de l’image en arrière-plan. ILL.1
Éventuellement, l'enseignant peut utiliser l'exercice en ligne du cycle 2 pour bien ancrer la consigne de la pixellisation.

http://www.fondation-lamap.org/fr/page/34537/1-2-3-codez-espace-eleves#exo_pixelisation

 

Il doit s'assurer que les élèves colorient entièrement la case dès qu'un trait est présent.

ATTENTION : les élèves doivent noter la lettre de leur groupe A, B, C, D... pour identifier ultérieurement le dessin.

L'enseignant affiche les pixélisations des différents dessins réalisées avec les différentes grilles.  Les images pixellisées avec la grille 1 ne sont pas reconnaissables. Pour la grille, le résultat n'est pas entièrement satisfaisant.

"Comment améliorer ces images pour mieux les reconnaître?"

Les élèves peuvent avancer des idées liées à la couleur, les nuances... Ces propositions sont retenues.

Puis, tous les groupes reçoivent la grille la plus fine (3) pour pixéliser leur image. ILL.3

Le élèves constatent la différence de définition. Ils mesurent également que le travail de pixélisation a été plus long (plus d'informations à transmettre)

4. Pixélisation et défintion

collectif | 5 min. | mise en commun / institutionnalisation

L’enseignant demande aux élèves si l’ajout de pixels est une réponse efficace au problème posé (comment rendre l’image intelligible malgré la pixellisation). Il introduit alors le terme « résolution » :

Une image est composée de pixels.
Pour transmettre une image, il suffit de transmettre tous ses pixels un par un.
Quand on augmente le nombre de pixels, on augmente la résolution de l’image, et on reconnait mieux ce qui est dessiné. Mais plus on utilise de pixels, plus elle occupe de place mémoire et plus elle est longue à transmettre.
». TRACE ÉCRITE

Grâce à la comparaison des images pixellisées avec différentes résolutions, il peut nuancer le besoin en résolution. Certaines images étaient reconnaissables dès l’utilisation de la Grille 2, pour d’autres il a fallu attendre le traitement avec la Grille 3. Pourtant l’enseignant rappelle qu’il faudra transmettre tous les pixels un par un à la base pour que l’image puisse être reconstituée. Il souligne donc le nécessaire compromis entre résolution et facilité de transmission.

10

Comment encoder une image en noir et blanc?

Dernière mise à jour le 26 octobre 2018
Discipline / domaine
Espace et géométrie
Objectif
- utiliser la pixélisatoin vue précédemment comme donnée numérique
- rappel du fonctionnement des machines numériques et du code binaire
Durée
25 minutes (3 phases)
Matériel
Pixélisations faites à la séance précédente
Fichier illustration séance 10
Fiche 41
Informations théoriques
« Information »
Une image peut être représentée sous la forme d'une grille de carrés appelés pixels.
Un ordinateur représente n'importe quelle information par un code qui n'utilise que 2 symboles, 0 et 1, appelés bits : c'est le code binaire.
En noir et blanc, chaque pixel peut être représenté par un unique bit.
Remarques
Vocabulaire : Image, pixel, encodage

Note pédagogique
Nous recommandons fortement d’utiliser l’éditeur d’images XnView dans sa version minimale, car il cumule les avantages suivants :
- Il est gratuit pour un usage éducatif ;
- Il lit correctement les fichiers de formats pbm (et pgm ou ppm pour la Séance III-3.3) ;
- Son interface est simple;
- Il permet de zoomer sans saisie de texte à l’aide des loupes « + » et « - » ;
- Il permet de réactualiser une image déjà ouverte (commande « Réouvrir » du menu «
Fichier » ou raccourci clavier « Ctrl R »), ce qui facilite grandement les essais/erreurs des élèves.
XnView peut être téléchargé ici : http://www.xnview.com/fr/xnview

1. Introduction et recherche

collectif | 15 min. | recherche

L’enseignant reprend au tableau l’image de la pomme (Fiche 39, image A) pixellisée à la séance précédente sur 256 pixels (grille 2) : «n os explorateurs veulent transmettre cette image à la base, sans se déplacer. Comment peuvent-ils faire ? ».

Le débat qui s’ouvre permet d’énoncer des moyens, des concepts très variés. L’enseignant note au tableau les différentes idées. En particulier, plusieurs pistes méritent d’être creusées : «il y a des pixels blancs et des pixels noirs », «o n peut décrire chaque pixel comme en morse avec une lampe-torche ».

Les propositions permettront de rappeler la notion de codage binaire (0 pour les pixels noirs, 1 pour les pixels blanc) si cette notion a été abordée à la séquence III-1. «Imaginez que les explorateurs ne puissent envoyer qu’un texte simple (un SMS) pour décrire cette image. »
Petit à petit émerge l’hypothèse qu’un texte composé de 0 et de 1 doit suffire à décrire l’image.

Afin de vérifier si un texte rempli de 0 et de 1 peut suffire à représenter une image pixellisée en noir et blanc, l’enseignant montre aux élèves comment ouvrir le fichier texte III-3.2_recherche_NB.pbm avec un éditeur de texte minimaliste (Bloc-notes, sous Windows, par exemple). Le contenu du fichier est le suivant : ILL.1

Il explique que ce fichier est une version numérique de l’image de la pomme pixellisée avec 16x16 pixels. Il demande si la grille de 0 et de 1 semble effectivement dessiner la pomme : c’est le cas, on reconnait un peu la feuille et le contour, dessinés par des « 1 ».

Si les élèves ne sont pas convaincus, on peut remplacer automatiquement tous les « 0 » par des « . » dans le bloc-notes (par « Ctrl H »), la pomme apparaît alors très clairement (annuler aussitôt cette modification par une commande « Ctrl Z »).

L’enseignant demande s’il y a d’autres choses que cette grille  de 0 et de 1 dans le fichier. Les élèves s’interrogent sur les 2 premières lignes du fichier et peuvent faire l’hypothèse que 16 et 16 correspondent aux dimensions de la grille de pixels. L’enseignant complète en expliquant que ces premières lignes définissent le format des données écrites dans ce fichier : « P1 » désigne le codage binaire (des 0 et des 1 exclusivement), et la ligne « 16 16 » annonce qu’un tableau de 16 colonnes et 16 lignes de données va suivre. Effectivement, il y a 16x16=256 bits (des 0 ou des 1) inscrits dans le corps du fichier (description de la grille de pixels proprement dite).

L’enseignant montre ensuite comment visualiser ce même fichier, non plus avec un éditeur de texte, mais avec un éditeur d’images, comme XnView (cf note  pédagogique en début de séance).

ILL.2

La pomme apparaît en tout petit, il faut zoomer fortement pour la voir effectivement. La classe constate, par comparaison entre  la grille de 0 et de 1 et l’image de la pomme, que les pixels noirs sont encodés par « 0 » et les pixels blancs par « 1 ».

2. Encoder un damier

individuel | 5 min. | entraînement

"Vous devez créer avec l’éditeur de texte un fichier représentant un petit damier noir et blanc de 5 lignes et 5 colonnes, avec des cases noires aux angles.

Le fichier, vide pour le moment, s’appelle III-3.2_defi_NB_vierge.pbm. Fiche 41

Puis ils doivent sauvegarder le fichier et l’ouvrir avec l’éditeur d’image, sans fermer l’éditeur de texte, et appeler l’enseignant lorsqu’ils ont, côte à côte, d’une part le fichier ouvert avec l’éditeur de texte, et d’autre part le damier visible avec l’éditeur d’image.

L’encodage que les élèves doivent proposer est le suivant : ILL.3

 

 

3. Encodage d'image - bilan

collectif | 5 min. | mise en commun / institutionnalisation

On peut représenter les pixels d’une image par des nombres. Chaque pixel d’une image en noir et blanc est représenté soit par un 0 (pixel blanc), soit
par un 1 (pixel noir). Pour transmettre une image en noir et blanc, on l’encode puis on transmet la version encodée, que l’on décode à l’arrivée pour reconstituer l’image.

Les élèves notent ces conclusions dans leur cahier de sciences. L’enseignant, quant-à-lui, met à jour la portion « Information » de l’affiche intitulée « Qu’est-ce que l’informatique ? ».

11

Comment assurer la confidentialité de nos échanges ?

Dernière mise à jour le 26 octobre 2018
Discipline / domaine
Sciences et technologie
Objectif
- initiation au chiffrement ("de César")
Durée
40 minutes (4 phases)
Matériel
Fiche 44
Fiche 45
Fiche 46
Fichier illustration séance 11
Informations théoriques
« Information »
Chiffrer un message signifie le transformer pour qu’il ne soit compréhensible que par la personne à laquelle il est destiné.
Le Chiffrement de César est une méthode facile à utiliser, mais également facile à casser.
Remarques
Vocabulaire : chiffrement

1. Introduction

collectif | 5 min. | découverte

«L ’équipe d’exploration et la base doivent communiquer régulièrement. La base communique aussi en permanence avec la
Terre. Mais il faut être certain que les messages ne puissent pas être interceptés par des
espions qui pourraient voir les résultats et menacer la sécurité de l’équipage.

Comment pourrait-on faire ?"

La classe débat des méthodes de confidentialité : les mots « langage secret » ou « langage codé » surgissent très rapidement. Il y a un risque de confusion ici entre le codage présenté dans les séances précédentes (au sens de « numérisation binaire ») et son utilisation ici (au sens de « chiffrement ») . L’enseignant introduit alors un vocable nouveau : on parle de « langage chiffré ». Le « chiffrement », consiste à modifier un texte pour le rendre moins intelligible, afin d’empêcher les personnes non autorisées à accéder au contenu du texte.

2. Décoder un message chiffré

collectif | 10 min. | recherche

« Voici un message envoyé par les explorateurs à la base. Pouvez-vous déchiffrer ce message ? » Fiche 44    

Note pédagogique :
Pour simplifier le chiffrement et nous focaliser sur la méthode plus que sur le résultat, nous n’incluons pas (à dessein) la ponctuation.

La classe repère vite que le message est écrit à l’envers. En le lisant de droite à gauche, on découvre le contenu :

                        EQUIPE CONCURRENTE REPEREE CHIFFRONS LES COMMUNICATIONS

La classe aura remarqué l’aisance avec laquelle elle a « cassé» ce premier chiffrement. Le chiffrement en « écriture miroir » n’est donc pas un chiffrement très sécurisé. Nous allons étudier un chiffrement un peu plus compliqué, l’un des premiers chiffrements utilisés dans l’Histoire.

3. Chiffrement de César

groupes de 3 | 15 min. | recherche

«En réponse au message alarmiste des explorateurs, la base a répondu ceci. Pouvez-vous déchiffrer ce message ? »


Il est évident, cette fois-ci, que le message n’est pas chiffré en « écriture miroir ». Si les élèves ont du mal à comprendre comment déchiffrer ce message, l’enseignant peut les aiguiller progressivement de plusieurs façons :
Quels sont les mots les plus courts ? À quoi peuvent-ils correspondre en français ? Les mots les plus courts de la langue française sont « a », « à », « y », mais on peut également retrouver des formes contractées « l’ », « d’ », etc. Les mots de 2 lettres sont également peu nombreux (le, la, on…)
Quelle est la lettre la plus courante dans un texte rédigé en français ? (réponse : la lettre E) Qu’en est-il ici ? Dans le texte chiffré ici, c’est la lettre H. On peut donc supposer que « H » substitue systématiquement toutes les lettres « E » du message initial.
Le chiffrement utilisé ici, appelé « Chiffrement de César », décale dans l’alphabet toutes les lettres de 3 positions : le A devient D, le B devient E, le C devient F, le E devient H, le X devient A, le Z devient C. On parle également de « permutation circulaire ».

Déchiffré, le message devient : MESSAGE BIEN RECU UTILISONS LE CHIFFREMENT DE CESAR

Notes scientifiques :
Le Chiffrement de César doit son nom à Jules César, qui l’utilisait pour ses communications secrètes, par exemple pendant la Guerre des Gaules.
La clef de ce chiffrement désigne le décalage des lettres. Dans le Chiffrement de César, les lettres sont en effet toutes décalées d’un certain rang (la clef). Dans l’exemple utilisé, la clef est +3, ce qui signifie que, pour crypter le message, il faut simplement décaler toutes les lettres de 3 rangs dans l’alphabet (A devient D, B
devient E... W devient Z, X devient A, Y devient B…).
Avec une clé égale à 0, les lettres ne sont pas décalées, et donc le message chiffré est identique à l’original. Avec une clé égale à -3, on décale les lettres dans
l’autre sens (A devient X, B devient Y…)… ce que l’on fait pour décrypter un message chiffré avec une clef de +3 !

4. Chiffrements - bilan

binômes | 10 min. | mise en commun / institutionnalisation

Chiffrer un message signifie le transformer pour qu’il ne soit compréhensible que par la
personne à laquelle il est destiné. Le Chiffrement de César est une méthode facile à utiliser, mais également facile à casser.

 

Les élèves notent ces conclusions dans leur cahier de sciences. L’enseignant, quant-à-lui, met à jour l’affiche « qu’est-ce que l’informatique ? ».

1. Une étude documentaire sur Alan Turing parait très appropriée après un travail sur le chiffrement ! Il a en effet dirigé l’équipe qui a cassé le fameux code secret Enigma des nazis et, à cette occasion, a participé au développement de machines qui ont mené à l’ordinateur.

Voir, à ce sujet, l’éclairage scientifique. Fichier illustrations.


2. Réaliser des outils de chiffrement / déchiffrement

Premier type d’outil ILL.1 : un cylindre avec des roues égrenant l’alphabet. Sur l’image ILL. 1, des languettes de 138x5mm ont été imprimées avec toutes les lettres
de A à Z, puis enroulées autour d’un rouleau de carton. Les languettes sont scotchées sur elles-mêmes, et pas du tout au carton, afin de pouvoir utiliser celui-ci comme axe. En faisant tourner les roues, on peut rapidement chiffrer et déchiffrer un message. Ici, « LE CODE DE CESAR » (lisible sur la ligne centrale) devient « MF DPEF EF DFTBS » avec une clef +1 (ligne immédiatement en dessous), et ainsi de suite.

Second type d’outil ILL.2 : un système de réglettes posées les unes à côté des autres. Chaque languette contient deux fois l’alphabet. En s’aidant d’une règle, on aligne les réglettes pour faire apparaître le message. Puis on translate verticalement la règle dans un sens ou dans l’autre pour lire le message chiffré.

Troisième type d’outil ILL.3 : deux disques concentriques attachés ensemble par une attache-parisienne. Sur les pourtours des disques ont été placées les lettres de l’alphabet. En faisant pivoter un disque par rapport à l’autre, il est facile de chiffrer et déchiffrer rapidement n’importe quelle lettre.

12

Bilan de la séquence

Dernière mise à jour le 26 octobre 2018
Discipline / domaine
Sciences et technologie
Objectif
- reprendre les notions à partir de l'affiche de suivi du projet
- réaliser une frise chronologique sur l'Histoire de l'informatique.
Durée
65 minutes (4 phases)
Matériel
Une affiche A3
Une paire de fiches documentaires, au choix selon les
groupes :
Fiche 47 et Fiche 48
Fiche 49 et Fiche 50
Fiche 51 et Fiche 52
Fiche 53 et Fiche 54
Fiche 55 et Fiche 56

Pour chaque élève : Fiche 57
Pour la classe : Un grand panneau blanc pour la frise finale (ou à défaut
la Fiche 57 imprimée sur une affiche A2, A1...)
Des exemplaires supplémentaires des Fiche 47, Fiche 49, Fiche 51, Fiche 53, Fiche 55 et Fiche 57
Le poster « Qu’est-ce que l’informatique ? » rempli au cours des précédentes séances

1. Introduction

collectif | 5 min. | découverte

L’enseignant affiche au tableau le poster qui a été rempli par la classe au fur et à mesure des séances réalisées. Il existe plusieurs catégories sur ce poster : « Langages », « Algorithmes », «Machines », « Information ».

Afin de donner un contexte historique à ce poster, et encourager une recherche documentaire, l’enseignant va poser une question d’apparence simple : «À votre avis, quand l’informatique a-t-elle été inventée ? ».

Les élèves vont probablement affirmer que les premiers ordinateurs datent du XX° siècle. Mais l’enseignant va approfondir cette réponse péremptoire : « Certes, l’informatique a été créée au XX°s, mais ses quatre composantes fondamentales (les nommer et les montrer sur le poster) sont-elles aussi récentes ? »

2. Recherche documentaire

groupes de 4 | 25 min. | recherche

Les élèves travaillent par groupes de 4 : chaque groupe étudie l’une ou l’autre des cinq collections d’images (Fiche 47, Fiche 49, Fiche 51, Fiche 53 ou Fiche 55).
"D’après vous, qu’est-ce qui est représenté sur chaque image ? "

Les élèves notent leurs hypothèses à l’écrit dans le cahier de sciences.

Dans un second temps, l’enseignant distribue à chaque groupe les lots de textes correspondant au lot d’images déjà reçu. Les élèves découvrent ces textes par une lecture autonome et silencieuse. Ils peuvent s’aider d’un dictionnaire pour préciser les termes qu’ils ne comprennent pas.

Ils doivent ensuite réaliser une affiche à présenter à la classe. Les consignes sont les suivantes :
1. Trouver dans les textes distribués le nom de ce qui est représenté sur chaque image
2. Coller sur l’affiche les 4 images dans la colonne de gauche, en ajoutant une légende
3. Coller en face de chaque image, sur la colonne de droite, le texte qui lui est associé
4. Trouver un titre pour l’affiche
Idéalement, chaque affiche pourrait avoir un fond de couleur différente (cinq couleurs puisqu’il y a cinq thèmes), mais ce n’est pas obligatoire.

Notes scientifiques :
Les fiches documentaires présentent de façon très simple les découvertes majeures qui ont fait évoluer les concepts de l’informatique, ainsi que quelques
personnages qui ont joué un rôle déterminant dans l’histoire de cette science.

De plus amples détails sont fournis dans l’éclairage scientifique, et l’enseignant peut très bien s’appuyer sur cet éclairage pour approfondir le travail sur tel ou tel personnage qui lui semblerait représentatif.


Comme dans toute chronologie simplifiée, celle que nous présentons ici est partielle… et partiale. Il est souvent difficile pour les historiens de désigner
clairement le réel inventeur de telle machine : souvent, le personnage que l’Histoire retiendra aura eu la présence d’esprit de fusionner plusieurs inventions, astuces, techniques, idées d’autres inventeurs de son époque (par exemple, on attribue à Joseph Jacquard l’invention de la carte perforée, mais il l'a repris de
Jean-Baptiste Falcon, qui s'est lui-même inspiré du ruban perforé de Basile Bouchon dont il était l'assistant).

Plus souvent encore, ce sont des équipes qui ont élaboré conjointement les inventions, là où l’Histoire ne retient qu’un nom (le code Morse imaginé par Samuel Morse mais réalisé par Alfred Vail, la Bombe de Turing développée par Rejewski en Pologne puis achevée par Turing et Welchmann au Royaume-Uni, etc.).

3. Présentation des travaux de recherche

collectif | 15 min. | mise en commun / institutionnalisation

La présentation se fait sous forme d'exposé.

4. Frise chronologique

individuel | 20 min. | mise en commun / institutionnalisation

La dernière étape consiste à élaborer une frise chronologique commune à partir de tous ces documents. Chaque groupe récupère son affiche, et l’enseignant distribue à chaque élève un exemplaire de la Fiche 57.


À partir des informations contenues dans leur affiche, les élèves doivent remplir au mieux la frise chronologique vierge fournie.
Puisque chaque groupe ne peut remplir que partiellement sa frise, c’est l’enseignant qui regroupe en une frise chronologique grand format tous les éléments repérés par la classe. Il demande à chaque groupe, à tour de rôle, de présenter une étape marquante : sa date, son lieu… Les élèves explicitent les mots qu’ils ont découverts. Lorsqu’une image illustre précisément une de ces étapes, elle peut être collée sur la frise géante. Un code couleur peut également être introduit pour relier chaque item à l’affiche correspondante (si les affiches ont été réalisées sur des feuilles de couleurs différentes).
La frise finale devrait ressembler à ceci :

II°s av JCLa machine d'Anticythère est construite
I°s av JCJules César chiffre ses messages militaires
IX°sAl Khwarizmi explicite les premiers algorithmes
1450Gutenberg popularise le caractère mobile
d'imprimerie
1801 Jacquard propose son métier à tisser
1821Babbage conçoit la machine analytique
1838 Samuel Morse et Alfred Vail développent le
code Morse
1843 Ada Lovelace écrit le premier programme
informatique
1912ElectricDog est le premier robot
1930Turing propose un modèle théorique d'ordinateur
 
1941  Zuse3 est le premier ordinateur
1951Grace Hopper invente l'un des premiers
compilateurs
1961 Unimate est le premier robot industriel
1967 IBM invente la disquette
1969 ARPANET, l'ancêtre d'Internet, est lancé
1985 Le CD-ROM est inventé
1990Le CERN invente le World Wide Web
1996Honda-P2 est l'un des premiers robots
humanoïdes
1997 L’ordinateur DeepBlue bat Kasparov aux échecs
1997 Le robot Sojourner explore la planète Mars
1999 Aibo est l'un des premiers robots ludiques
2001 Wikipédia est lancé
2008 Google lance son service "Google Flu"
2012 Facebook atteint le milliard d’abonnés

Cette frise peut amener les élèves à plusieurs constatations. Tout d’abord, certaines inventions sont apparues il y a plus de deux mille ans : machines à calculer et automates
émerveillaient les cours de rois dès l’Antiquité. Si les conceptualisations en mathématiques et algorithmique ont commencé dès le Moyen-Age, les problématiques de l’informatique (calculs, programmation, reproductibilité, reconfigurabilité) n’ont été abordées qu’au cours des 3 derniers siècles. Comme l’ont peut-être deviné les élèves, c’est au milieu du XX°s que les premiers ordinateurs ont été mis en service. La transmission de l’information et le partage des données (ce qu’on appellera Internet) suivront de près, ainsi que l’amélioration des automates en réels robots capables d’interagir avec leur environnement en quasi-autonomie.
Les élèves conçoivent une conclusion commune, qu’ils recopient dans leur cahier d’expériences. Les mathématiques et les automates existent depuis l’Antiquité. Les progrès
techniques ont permis dès le XVII°s de concevoir les premières machines à calculer, mais c’est au XX°s que l’électronique a permis de créer les premiers ordinateurs, les robots et Internet. Si l'on connait des algorithmes et l'on fabrique des machines depuis très longtemps, l'informatique est née dans les années 1940 quand on a commencé à fabriquer des machines capables d'exécuter tous les algorithmes.