Préprogrammes ULIS et Cycle 2

 Exploration des préprogrammes par expérimentation.

Retrouver de façon exhaustive les instructions conditionnelles 

en utilisant la structure "SI....ALORS...ET..." et    la notion du binaire 0 / 1

Puis créer un parcours de présentation de toutes les instructions.

Préprogramme Jaune

instruction initiale

SI capte devant 0 ALORS moteurs 1 

 

SI capte droite 1 ALORS moteur droit 1 et moteur gauche -1

SI capte gauche 1ALORS moteur droit -1 et moteur gauche 1

SI capte devant 1 ALORS moteur droit -1 et moteur gauche -0,5

 

instruction de sécurité

SI capte dessous droite OU gauche 0 ALORS moteurs 0



AtelierS "Thymio"

DOMAINE 2
"Conduire des projets individuels et collectifs"

Atelier 1( autonome )
( préprogramme Jaune )
mettre en place un parcours avec le minimum d'obstacle afin d'amener Thymio ( prépogramme Jaune ) dans une autre classe. 
Objectifs : 
évènement : évaluer la sensibilité des capteurs.
action : structurer la programmation JAUNE d'évitement


Atelier 2 ( autonome )
(intelligence multiples kinesthésique )
modifié la structure du robot à l'aide des plug LEGO
Objectifs :
mécanique du mouvement ( rotation )
sériation du mouvement
géométrie dans l'espace

Ateliers 3 ( avec l'enseignant )
( programmation ASEBA VPL )
programmer Thymio pour sortir d'une pièce et sonner quand il est sorti.
Objectifs : 
évènement : sensibilité des capteur avant et dessous ( déclenchement sortie )
action : mouvements de recherche en avançant
algorithme : tant que

Ateliers 4  ( autonome )
( habillage )
forme papier pour habiller le volume THYMIO
Objectifs :
Géométrie dans l'espace
Correspondance en géométrie place.
Touches essentielles de Thymio ( capteurs )


Objectif :
Travailler en binôme à la réalisation chronométrée d'algorithmes simples pour résoudre des familles de problèmes.


Comparer langages

DOMAINE 1 
Les langages Mathématiques, Scientifique et Informatique 

DOMAINE 2 
Les outils numériques








En robotique comme en linguistique,
il est essentiel de comparer les langages pour extraire les structures fondamentales :

La programmation séquentielle (suite chronologie d'instruction ) : Scratch/Blockly  ( automate plus

La programmation événementielle ( programme en fonction de l'extérieur "capteurs" ) : Aseba VPL avec Thymio

Algorithme + variable + itération

DOMAINE 4 
Capacité à résoudre des problèmes


Une recette de cuisine est le parfait exemple de ce qu'est un algorithme.

Les "équipes de robots" vont suivre le même "programme/recette" dans l'ordre chronologique.

Préambule
Objectif : programmation séquentielle
"Dans quel ordre chronologique se sont posées les feuilles ?"

Dans le cas de la recette de cuisine d'un gâteau,
nous avons ajouté le notion de "constante" et de "variable" qui modifient le résultat.

Il y aura donc une variable "quantité de farine" !



Au collège avec les 6ème, nous avons élaboré l'algorithme de la division euclidienne, assorti de toutes les variables nécessaires.
La notion d'itération incrémentée est introduite aisément :





Avec les 3ème, la structure itérative s'applique naturellement à l'élaboration d'un programme pour tracer une figure Fractale :


Thymio #1

DOMAINE 3
Formation du citoyen

DOMAINE 5
Compréhension des société dans le temps et l'espace


Qu'est ce qu'un robot ?




Découverte du robot THYMIO


 Domaine 1 
langue française

Présentation des 4 pré-programmes de Thymio  dans un langage clair et sans ambiguïté
vert/rouge/mauve/jaune par les CE1 :




Robot idiot

DOMAINE 1
Langue française
Langage mathématiques et informatique

DOMAINE 4
Capacité à résoudre un problème

 
"Comment diriger un robot dans un labyrinthe ?"

Code trouvé : Nord/Sud/Est/West ET nombre de pas
Bilan : approximatif/obstacles

Notion de Bug. Essentiel à l'élaboration de la notion de programmation.
Le bug permet de valoriser ce qui est en général considérer comme une "erreur" e
et ainsi de remettre en question la procédure et de trouver de nouvelles améliorations.

                                      BUG   ->   Solutions

                                Obstacles   ->    1 capteur : le toucher
Longueurs des pas différentes     ->      Avancer jusqu'à (Aj )
                direction N/S/E/W      ->         pivoter 1/4 de tour à droite/gauche ( D/G )



Mise en place d'un labyrinthe réel avec les tables de la classe.

Puis un code programme :
Aj = avancer jusqu'à un obstacle
D = pivote d'un quart de tour sur ta droite
G = pivote d'un quart de tour sur ta gauche





Mise en place des boucles lors de répétition d'instruction, afin de réduire la taille du programme.
répéter 2 fois "Aj - D"



Entrainement sur Blockly Games


 Notion : latéralisation/chronologie des consignes

algorithmes ( Nim/Voyageur/Hanoï )

Domaine 4 

capacité à résoudre des problèmes

Problèmes génériques de l'informatique débranchée, répondant à un algorithme

Le jeu de Nim 

 


Le jeu de Nim consiste à prendre chacun son tour des objets, répartis sur des étages, et à obliger l'adversaire à prendre le dernier. ( variante : prendre le dernier )


Jules : "Attends, attends, si on prend celle-là, eux ils ne peuvent pas gagner !"


Algorithmie 
Trouver une stratégie gagnante, un schéma qui est certain quelques soient les actions externes.
Anticiper les actions qui seront menées.  
Modéliser des configurations de réussites.


Le voyageur de commerce


"Quel est le plus court chemin pour visiter tous les points ?"

Matériel : Une planche/des clous/une ficelle


Algorithmie
- Anticipation
- Application dans de nombreux domaines à toutes les échelles.
- Théorie des graphes ( circulation dans les villes, chemin électrique,
mais on peut aussi remplacer les villes par des gênes et les distances par des similarités )




La Tour de Hanoï

Algorithme Tour de Hanoï est simple et élégant.

Trouver une stratégie pour déplacer une pile de n disques d'une position 1 à une tour n
à l'aide de positions auxiliaires.
Tous les disques ont un diamètre différent.
Les règles du jeu sont les suivantes :
- On ne peut déplacer qu'un seul disque à la fois d'une position à une autre;
- On ne peut empiler un disque sur un disque de diamètre inférieur.



Algorithmie

Capacités d'inhibition
La mémoire de travail
La mémoire procédurale
L'intelligence fluide

Trace écrite CM1



cryptographie

DOMAINE 1
Langages mathématiques, scientifique et informatique

La cryptographie s'attache à protéger des messages (assurant confidentialité et intégrité) en s’aidant souvent d'algorithmes clés.
Comprendre que les information circulant sont cryptés et comment.


Voici en ligne tout une tas de règles ( algorithmes )  plus ou moins complexes pour crypter un message :
cryptographie

En activité débranchée, l'algorithme de "la boite à cadenas"
"Comment faire passer un message aux CP sans que le maître( facteur) puisse le voir ?"

Activité qui s'est avérée un peu difficile pour le cycle 2.
 

Kidscod

DOMAINE 1
Langages informatiques 



Coder avec KIDSCOD.IN   simulateur de robot
Langage par block.( séquentiel )

Notions abordées :
"répéter x fois ....."
"répéter jusqu'à ....."
 
Pour les élèves non scripteurs.
Utilisation des block de KIDSCOD à découper pour élaborer le programme :

Séance 2

Exploration individuelle par les CE1/ collective avec les CP
Débat sur le plus court programme, puisqu'il existe un compteur de blocks utilisés.
   Notion abordées :
"si...alors...sinon..."
"répéter ...tant que ... "


En élaboration avec le concepteur de Kidscod.in , un espace libre d'évolution du personnage avec les blocks découverts.
Un série de défi paramétrables et modulables par l'enseignant.

Labyrinthe

DOMAINE 4 
Résoudre des problèmes

"Comment sortir d'un labyrinthe ?"


( en bleu le mur continu/en rouge le tracé en suivant un mur )

En vision globale du labyrinthe :
 Algorithme 1 : "marquer ( en bleu ) les murs qui sont en contact avec un des 2 murs extérieurs"

En immersion #robotique :
Algorithme 2 : "suivre toujours le mur sur sa droite"


Compétences : latéralisation inversée/consignes spatiales/géométrie euclidienne

Factoriser l'information

DOMAINE 1 
Langages informatiques


Coder une image
"par ligne, on choisit 0 pour le blanc et 1 pour le noir"



 Création d'un Space Invader en mosaïque

connecteurs / booléens

DOMAINE 1 
Langue française
Langage mathématiques

Les connecteurs booléens ET / OU / NON



"Colorie le loup en gris et en bleu
Colorie la laine du mouton en rouge ou en vert
Entoure en bleu le loup et le mouton
Entoure en noir le loup ou le mouton
Entoure en rouge les non-mouton"

Mise en place de la notion de connecteurs et de booléens dans une activité débranchée, impliquant le corps.
 Les élèves de CP étant non scripteurs, il utilisent des panneaux pour composer les commandes :
( en filigrane un premier pas vers la programmation BLOCKLY/SCRATCH )







Compétences mathématiques : repérage dans l'espace/compréhension fine/consignes

TriS

DOMAINE 4 
Capacité à résoudre des problèmes

Comment classer 3 boites ( A B C ) de la +légère à la +lourde ?


Algorithme :
On pèse A et B
On garde le + léger ( A )

On pèse ensuite A et C
Si A est +lourd
alors on a B>A>C

sinon A est le plus léger de tous et on doit peser B et C
alors on a C>B>A ou B>C>A

Conclusion :
"3 pesées maximum 
avec une possibilité de 2 pesées si la plus légère de la 1er pesée est plus lourde que la 3ème boite."

Compétences mathématiques : grandeurs et mesures/comparaison






Trier 5 éléments



Tri linéaire avec boucle répétitive

Tant qu'il reste,  on cherche le +lourd ou le +gros ou le +chaud ou... de la liste en comparaisons successives.
10 à 11 comparaisons

Tri rapide

On choisit un élément au hasard ( pivot )
On trie les + à droite ; les – à gauche
Puis on trie les liste + et liste -
S'il en reste 1 : rien à faire
S'il en reste 2 : on les compare
S'il en reste 3 : procédure de comparaison 3 éléments
5 à 6 comparaisons

Décontextualisation de l'algorithme des CE1
 appliqué avec les CP
 

Recherche


Algorithme de recherche linéaire :
Je feuillète le dictionnaire depuis le début "A",
jusqu'à la lettre cherchée.

Algorithme de recherche binaire :
Ouvrir le dictionnaire au milieu,
puis prendre le milieu de la moitié où se trouvera la lettre,
puis prendre le milieu de la moitié où se trouvera la lettre,
puis prendre le milieu de la moitié où se trouvera la lettre,...

Notion d'itération.

Algortihme : une Stratégie régulière

Il manque un domino !
Comment classer le jeu afin de trouver à chaque fois la pièce manquante ?



"Il est plus facile d'effectuer une recherche dans une liste classée."

Compétences mathématiques : classement/sériation/intercaler