Objectifs séance : découvrir quel langage utiliser pour communiquer avec une machine
•	Construire un langage utilisable pour diriger une machine
•	Préciser la notion de langage
Cette séance est basée sur l’activité 1-2-3 Codez de la fondation la Main à la pâte.	
1. Introduction : rappel du contexte de la séquence et présentation thématique langages	
 |  10 min | Rappels et découverte |  : Vidéoprojecteur avec photos de Margaret Hamilton	
Questionnement des élèves pour rappeler les 4 piliers de l’informatique vue en séance 1.
Annonce du thème des langages pour la séance du jour.

Affichage de la première photo et questionnement des élèves sur le nom et le métier de la personne.
Énoncé du nom de Margaret Hamilton. Affichage de la seconde photo et questionnement sur le métier.
Affichage de la troisième photo et réponse : Margaret Hamilton est une informaticienne qui a dirigée l’équipe en charge de concevoir les programmes informatiques de la mission Apollo qui a envoyé des hommes sur la lune en 1969. Utiliser la seconde photo pour insister sur le fait que l’informatique ne se fait pas nécessairement devant un ordinateur.	
2. Objectif Lune	
 |  5 min | Découverte |  : Vidéoprojecteur / Image du parcours d’atterrissage	
Mise en situation des élèves : vous êtes en 1965, Margaret Hamilton fait appel à votre classe pour l’aider dans la programmation du module lunaire (LEM) chargé de déposer les astronautes sur la lune.
Plus spécifiquement, vous allez devoir programmer la phase d’atterrissage sur la lune, en respectant le trajet permettant d’éviter les zones dangereuses.
Pour cela, il va vous falloir tout d’abord définir quel type d’instructions donner au LEM pour lui faire suivre exactement le parcours tracé sur la carte.
Les déplacements se font « carreau par carreau ».	
3. Guidage du LEM – Recherche en petits groupes	
 |  15 min | Recherche |  : Une fiche par groupe avec le parcours attendu	
Je circule dans la classe afin d’observer le fonctionnement de chaque groupe. J’aide par le questionnement ceux qui semblent bloqués. Je réponds aux questions. Aux groupes pensant avoir terminé, je leur propose de faire individuellement un test afin de valider leur proposition, ou de détecter des erreurs le cas échéant.
Différentiation 1 : Si certains groupes trouvent rapidement la solution, leur proposer de réfléchir à un second mode de guidage, afin qu’ils trouvent les 2 logiques courantes : absolue et relative.
Différentiation 2 : Une activité alternative peut consister à faire réfléchir ces groupes sur le moyen de simplifier au maximum leur langage en réduisant si possible le nombre de mot et la longueur de ceux-ci.	
4. Guidage du LEM – Test des résultats des groupes	
 |  15 min | Mise en commun |  : Vidéoprojecteur / Image du parcours + LEM à déplacer	
Un représentant de chaque groupe vient faire exécuter sa solution par un membre d’un autre groupe (afin d’éviter les consignes « implicites »).
Les propositions ambiguës ou non conformes aux règles énoncées seront écartées car ne pouvant pas être comprises par la machine.
Les propositions ne permettant pas de suivre le parcours ou d’atteindre la cible seront utilisées pour mettre en avant le concept de bug. J’attirerai l’attention des élèves sur le fait que toute erreur conduit à un résultat faux, aux conséquences potentiellement terribles. Ce sera l’occasion de présenter le concept très important de tests.	
5. Définition d’un langage informatique	
 |  15 min | Institutionnalisation |  : Cahier de sciences	
Sont couramment proposés 2 types de langages : les langages absolus, utilisant des consignes du type « nord/sud/est/ouest », et les langages relatifs, utilisant des consignes du type « avance, pivote gauche, pivote droite ».
Questionnement des élèves sur les différences entre ces 2 langages. L’objectif est de mettre en évidence des vocabulaires différents.
Questionnement des élèves sur les différences avec le français. Les questions sont orientées afin d’arriver à la conclusion qu’un langage informatique dispose d’un vocabulaire spécifique et précis, d’une syntaxe qui lui est propre et d’une grammaire simple.
Écriture dans le cahier de science :
Pour donner des instructions à une machine, on utilise un langage de programmation, compréhensible à la fois par la machine et par l'être humain (sur le schéma des 4 piliers de l’informatique, en face du pilier « langages »).
Un langage de programmation est différent d’une langue naturelle car il possède très peu de mots et de règles de grammaire et ne laisse place à aucune ambiguïté.
Il existe de nombreux langages de programmation, adaptés à différents usages.
Un bug est une erreur dans un programme. Un bug minime en apparence peut avoir des conséquences énormes.
Les tests sont là pour détecter les bugs et les corriger.