Algorithmique et programmation aux cycles 3 et 4

mercredi 6 septembre 2017
par  Laëtitia GIRARDEAU , Vincent DAMBREVILLE

Une réflexion appuyée sur des situations d’apprentissages vécues cette année, aux cycles 3 et 4. Les objectifs étaient nombreux : la place de l’algorithmique dans une progression de cycle, les modalités d’évaluation par compétences, des activités clé-en-main dans les quatre thèmes du programme (Nombres et calculs, Géométrie, Grandeurs et mesures, Gestion de données).

L’arrivée du domaine algorithmique est l’une des grandes nouveautés de la réforme du collège. Nous avons travaillé sur la place de que pourrait prendre l’algorithmique dans nos progressions, avec un postulat de départ : l’algorithme est partout. Nous avons progressivement précisé notre objectif, en nous attachant au rôle que peut avoir ce thème dans le développement des compétences mathématiques et des domaines du socle commun.


Contribution de Vincent Dambreville

Les Activités

Télécharger les activités (Google Doc)

Cycle 3

Au cycle 3, l’essentiel du travail a eu lieu lors des séances d’AP.
L’objectif était de fabriquer des jeux vidéos sur les modèles historiques : Pacman, Casse brique ... Scratch a été utilisé en cours pour l’essentiel les phases de recherche, ou de vérification tant en géométrie que en algèbre.

Cycle 4

L’étude sur le cycle 4 a été fait en lien avec le TraAM de cette année : un EPI Mathématiques & Technologie sur la programmation d’un robot. En particulier, il s’agissait pour une classe de 4e d’étudier et de tracer la fractale de Sierpinski, sur papier, en 3D avec des pyramides, en modèle sur Minetest [1] ... Les activités de cycle 4 sont pour la plupart issue de cet EPI.

Vous trouverez quelques vidéos présentant ce projet :

Article sur le TraAM et l’EPI

L’évaluation par compétences

Le document d’accompagnement d’Éduscol

Il y a quatre compétences à développer en informatique, et chacune d’elle peut se retrouver dans les 6 compétences mathématiques. Néanmoins, comme le précise le document d’accompagnement du calcul litteral, il y a d’autres facette à explorer entre l’algorithmique et les mathématiques traditionnelles.
Par exemple sur le statut des lettres et en particulier celui de variables, l’algorithmique peut faire écho au travail effectué avec le tableur, comme le souligne le document d’accompagnement :

Au cycle 4, la lettre acquiert de nouveaux statuts qu’il convient de bien différencier :

  • le statut de variable, qui apparaît à la fois dans les formules (...). L’utilisation du tableur peut faciliter la compréhension de la notion de variable dans la mesure où, dans l’édition d’une formule, ce sont les adresses des cellules (et non leur contenu) qui sont prises en compte. La modification du contenu d’une cellule désignée dans une formule modifie le contenu de la cellule où est implantée la formule, ce qui permet
    d’appréhender les notions de variable et de fonction
  • le statut d’indéterminée, qui apparaît dans des identités où la lettre représente des
    nombres quelconques (...)
  • le statut d’inconnue, qui heurte l’habitude de penser qu’une égalité est « toujours »
    vraie (...)
  • le statut de paramètre, qui conserve une valeur fixe, mais de portée général (...)

Source : document d’accompagnement du calcul litteral

Nous reviendrons dans la suite de cet article sur chaque thème et illustrerons par des exemples et des production d’élèves


Décomposition

C’est à dire :

  • analyser un problème compliqué,
  • le découper en sous-problèmes, en sous-tâches.

Cette compétence correspond clairement à la compétence Chercher du cycle 4. C’est un moment crucial dans la conception d’un programme ou d’un algorithme. C’est une occasion de faire de l’algorithmique « en débranché », sans être en salle informatique : les élèves peuvent réfléchir et proposer leurs idées en classe avant d’aller les tester en salle informatique. Ainsi, tous les élèves auront une idée du résultat à obtenir, des différentes façon de le faire, et le professeur pourra anticiper la différenciation.

  • Chercher (domaines 2 et 4)
    • Décomposer un problème en sous-problèmes.

Reconnaissance de schémas

C’est à dire :

  • reconnaître des schémas, des configurations, des invariants, des répétitions,
  • mettre en évidence des interactions ;

On peut relier cette compétence aux compétences mathématiques suivantes : Chercher et Représenter. Il s’agit ici de faire émerger l’idée de boucle et instructions conditionnelles à partir de la 4e.

  • Chercher (domaines 2 et 4)
    • Extraire d’un document les informations utiles, les reformuler, les organiser, les confronter à ses connaissances.
  • Représenter (domaines 1 et 5)
    • Choisir et mettre en relation des cadres (numérique, algébrique, géométrique) adaptés pour traiter un problème ou pour étudier un objet mathématique.

Généralisation et abstraction

C’est à dire :

  • repérer les enchaînements logiques et les traduire en instructions conditionnelles,
  • traduire les schémas récurrents en boucles,
  • concevoir des méthodes liées à des objets qui traduisent le comportement attendu ;

En algorithmique, les enchaînements logiques permettent de revoir les formulations des théorèmes, des priorités. Les tests de cas de type « si A alors B » ou « si A alors B sinon C » permettent de travailler cette formulation, et donc de développer la compétence Raisonner.

  • Raisonner (domaines 2, 3 et 4) :
    • Démontrer : utiliser un raisonnement logique et des règles établies (propriétés, théorèmes, formules) pour parvenir à une conclusion.
  • Modéliser (domaines 1, 2 et 4)
    • Valider ou invalider un modèle, comparer une situation à un modèle connu (par exemple un modèle aléatoire).

Conception d’algorithme

C’est à dire :

  • écrire des solutions modulaires à un problème donné,
  • réutiliser des algorithmes déjà programmés,
  • programmer des instructions déclenchées par des événements,
  • concevoir des algorithmes se déroulant en parallèle.

Nous avons ici le code proprement dit, adapté au langage utilisé. Les attendus au cours du cycle diffèrent : la programmation événementielle est l’unique objectif de la classe de 5e. L’utilisation de bloc ou de fonctions permettra de faire un lien avec la notion de fonction en 3e.

  • Communiquer (domaines 1 et 3)
    • Faire le lien entre le langage naturel et le langage algébrique. Distinguer des spécificités du langage mathématique par rapport à la langue française.

L’algorithmique pour développer les autres thèmes

Cas n°1 : le découpage d’un carré

Lien vidéo : https://vimeo.com/192257280

L’exercice consiste à tracer un carré et à le découper en 4 portions égales. Il y a plusieurs dessins possibles et plusieurs algorithmes pour le même dessin. C’est l’occasion de travailler plusieurs thèmes, en AP, en classe, en tant que début de séance ou comme exercice, selon l’approche souhaitée.

Dans la vidéo un de mes élèves explique comment par un algorithme proche de la dychotomie, même si ce n’est pas ce qu’il explique, il parvient à approcher la longueur de la diagonale d’un carré de côté 100. Cet exercice pourrait être adapté pour faire découvrir ou s’exercer sur les racines carrées, vue en tant que longueur de la diagonale d’un carré, ou même d’un rectangle.

Nous développons ainsi les thèmes

  • A : Nombres et Calculs
    • représentation d’un nombre
    • fractions
  • C : Grandeurs et mesures
    • racine carré
  • D : Espace et géométrie
    • Pythagore

Cas n°2 : la tri force

Nous avons utilisé le triangle de Sierpinski comme fil rouge tout au long de l’année, comme figure de base, afin d’étudier de nombreuses notions (fractions, milieux ...), tant en cycle 4 que en cycle 3.

Vous trouverez ci-dessous des exemples de travaux d’élèves qui expliquent leur idées. La méthode de travail a presque toujours été la même : on commence par chercher sur papier, on propose un code scratch sur papier et ensuite on le teste. L’objectif étant de les forcer à penser leur algorithme, réfléchir aux actions possibles.
Lors des phases collectives, on attache une importance à poser des questions et à essayer d’être le plus précis possible.

Vidéo : Angle supplémentaire

Dessiner la triforce

Vidéo : Sierpinski après 2, 3 4 étapes...

Cas n°3 : priorité de calcul

Pour les priorités de calcul, on essayé de voir avec Scratch les possibilités, et les différence de résultats. Les blocs de base ne sont pas toujours commutatifs, et comprendre la structure de scratch, par exemple en dessinant les arbres de calculs, a aider à la compréhension en générale et au codage.

Vidéo : Arbre et priorité 1 (avec erreur)
Vidéo : Arbre et priorité 2 (pas d’erreurs)

Cas n°4 : résolveur d’équation

Les élèves ont pu programmer un résolveur d’équation de type AX+B=C, avec A B et C donné par l’utilisateur. Les élèves ont tous atteints le stade A X = C, avec A et C donné par l’utilisateur. Seule une poignée d’élèves sont arrivés au bout de l’exercice. Néanmoins, la mécanique derrière les équations a pu être plus approfondie, mieux acquise.
Vidéo : situation 1

Cas n°5 : rotation et centre de rotation

Pour notre EPI de robotique, nous devions comprendre comment fonctionnait les consignes de rotations. Nous avons utilisé mBlock : pour la rotation d’un robot la donnée est « tourner vers la droite à la vitesse X pendant Y minutes ». Mais la vitesse est étant donnée sans unité ... comment obtenir exactement 60° ?

Nous avons donc fait des essais de rotations, déterminé l’angle de rotation, et analysé les résultats. Les résultats étaient peu précis : le robot tourne en glissant ...

Néanmoins, le travail a pu être mené sur toute une difficulté : trouver la problématique, faire des expérience, déduire une règle, la vérifier, l’utiliser. Beaucoup de compétences ont été mobilisée, bien au delà du simple centre de rotation.

Vidéo : trouver le centre de rotation d’un robot

Contribution de Laetitia Girardeau

Nous nous sommes concentrés cette année sur l’intégration de l’algorithmique et de la programmation dans les nouveaux programmes de mathématiques. Nous nous attachons à intégrer les TICE dans nos séances dès que celles ci le peuvent et de façon pertinente.

Voilà le résumé de mes expériences et travaux pour cette année écoulée :

Travail mené pendant une formation du Bassin Est

Lors d’une formation de Bassin, j’ai pu travailler avec un groupe de professeurs des écoles et de professeurs de mathématiques des collèges du réseau sur une progression de cycle 3 sur l’algorithmique.
Nous devions construire une séquence avec des repères de progressivité tout au long du cycle 3.

Voici le résumé de notre travail :

La première activité nous la proposons en plein air, avec un quadrillage dessiné au sol ou un parcours formé de cerceaux, dans lequel se trouvent des objets à aller chercher par un élève (yeux fermés ou bandés) et se laissant guidant par un camarade. Des élèves rédacteurs retranscrivent les phrases dites et d’autres les déplacements proposés et ceux réellement suivis par l’élève.
Des obstacles (orientation de l’élève au départ, signification de “avancer” : combien de pas ou de cerceaux ?) feront émerger la nécessité d’établir un langage commun qui évoluera au fur et à mesure vers les ébauches d’un langage algorithme et d’encodage.

L’activité suivante sera proposée en papier crayon, avec comme base une grille, contenant des objets dont certains à récupérer.
Aucun sens d’orientation, ni de point de départ ne seront donnés et les objets de la grille complètement symétriques, toujours dans le but de définir des conventions et règles de déplacement ( nous nous attendons à ce que des parcours différents soient proposés car le point de départ n’aura pas été fixé). Nous faisons émerger à nouveau des obstacles en ajoutant des “handicaps” dans la grille : case noircie donc interdite ou objet trop lourd ou volumineux pour permettre le “passage”.

La suite des activités menant à la prise en main du logiciel Scratch Junior par exemple, puis au logiciel Scratch en 6e.

Ce travail a été très intéressant, il faut à présent réunir toutes les conditions en terme de rencontres, de temps et de logistique afin de renouveler les échanges entre les écoles et les collèges du réseau afin de donner une vraie dimension à ce projet.

Travail mené dans mon établissement

Le logiciel utilisé est Scratch.

Dans mon établissement, nous avons proposé un EPI “projet Scratch” en classe de Quatrième pour les matières Mathématiques et Technologie, l’élaboration d’un jeu de type Labyrinthe et une animation pour un projet Anglais/Mathématiques.

La difficulté principale a été d’initier les élèves au logiciel qu’ils découvraient, tout en répondant aux besoin du programme.

Je me suis plutôt axée sur la partie géométrique pour mes activités.

En classe :
Le plus souvent possible, les séances en classe se terminaient par des petites activités permettant de manipuler le langage algoritmique et l’utilisation du logiciel Scratch.
Je disposais dans ma salle de classe, d’un clavier sans fil et d’une souris sans fil permettant aux élèves de prendre la main sur le travail projeté au tableau.
Une salle informatique est également disponible comptant 24 postes.

Après une séance d’initiation en salle multimédia, nous avons commencé à travailler à partir des exercices du manuel Maths Monde Cycle 4 édition Didier, qui propose une chapitre Algorithmique et programmation passant des premiers algorithmes avec papier crayon en allant vers l’utilisation du logiciel Scratch, introduisant le vocabulaire, les langages de programmation, puis les briques de l’algorithmique de Scratch.

Les élèves se sont montrés très enthousiastes dans la découverte de cette nouveauté du programme.

Étude de cas

En classe, je me suis appuyée sur certaines missions du réseau Canopé.


Triangle équilatéral

En salle multimédia, je demande aux élèves de construire un triangle équilatéral comme celui de la vidéo que je leur présente : ( chaque côté possède une couleur différente) :

http://video.crdp.ac-versailles.fr/scolawebtv/7/4/5/09745.mp4

Cette activité permet de faire des rappels importants sur les propriétés d’un triangle équilatéral , sur les angles.
Les élèves doivent également gérer les couleurs, l’épaisseur ainsi que la vitesse de tracé.
Le point important est également la décomposition du travail en plusieurs étapes, une compétence importante.

Une aide ou une correction permet aux élèves les plus fragiles de ne pas se lasser et de tenter de placer les blocs d’instruction.
Les plus à l’aise, peuvent également recevoir sur ces fiches des blocs qu’ils n’ont pas forcément utilisés et qui permettent d’optimiser le programme.

Exemple d’aide / correction :


Cercle

http://video.crdp.ac-versailles.fr/scolawebtv/7/4/4/09744.mp4

Les élèves remarquent tout de suite que le lutin ne trace pas un cercle au sens mathématiques qu’ils ont l’habitude de voir mais un polygone.
Les élèves viennent spontanément compter le nombre de côtés
Ils testent les angles qui pourraient convenir puis créent le script correspondant .


Cas du carré et du parallélogramme : des déplacements et des angles

La construction d’un carré n’entraîne pas difficulté particulière sur les angles.
Des questions sont soulevées pour le cas d’un parallélogramme à construire fidèlement au modèle proposé au tableau.
Des élèves se posent la question d’un angle de -60° puis pensent à compter à rebours à partir de 180° et obtiennent finalement le 120° tant recherché.


Concernant l’EPI mené en cours de Technologie et de Mathématiques et conjointement en co enseignement , nous avons demandé aux élèves de créer leur propre jeu de Labyrinthe. Il y aurait pu avoir de nombreuses améliorations sans toutes les contraintes essentiellement liées au temps.



[1un clône de Minecraft gratuit utilisable en réseau


Documents joints

Au BO spécial du 26 novembre 2015 : programmes
PDF - 96.3 kio

Commentaires

Navigation

Articles de la rubrique