Les nouvelles technologies pour l’enseignement des mathématiques
Intégration des TICE dans l’enseignement des mathématiques

MathémaTICE, première revue en ligne destinée à promouvoir les TICE à travers l’enseignement des mathématiques.

Débuter la programmation par blocs en 4e
découvrir rapidement les outils de programmation pour la mise en œuvre d’algorithmes en mathématiques
Article mis en ligne le 7 avril 2016
dernière modification le 17 avril 2016

par Emmanuel Ostenne

Cet article peut être librement diffusé et son contenu réutilisé pour une utilisation non commerciale (contacter l’auteur pour une utilisation commerciale) suivant la licence CC-by-nc-sa http://creativecommons.org/licenses/by-nc-sa/3.0/fr/legalcode

L’article a été mis sous SPIP par Seddik Dellihr

Par Emmanuel Ostenne
L’article a été mis sous SPIP par Seddik Dellihr


Résumé
Cet article vise à montrer un usage possible du site https://studio.code.org comme outil de formation initiale, des élèves mais aussi des professeurs, à la programmation par blocs avant de passer très rapidement à l’environnement de développement plus complexe Scratch pour des activités mathématiques. Il relate une expérimentation mise en place par la force des choses en janvier 2016 avec des élèves de 4ème dans le but d’évaluer des activités « clé en main » réalisées à l’IREM de Lille.

Le contexte

Tout d’abord je suis membre du groupe AMECMI de l’IREM de Lille. Ce groupe « Activités Mathématiques pour Enseigner en Classe avec Media Informatiques » veut proposer des activités « clé en main » pour utiliser les matériels et logiciels disponibles, notamment dans l’Académie de Lille. Il s’agit des salles pupitres de 30 postes avec 1 poste maître pour piloter les postes, ou encore des classes avec vidéoprojection, interactive ou non. Librement mises à disposition sur le site de notre IREM, ces activités pour les élèves sont modifiables pour être adaptées par l’enseignant à son travail et à ses élèves.

Avec la branche lycée du groupe, nous avions déjà travaillé sur l’introduction de l’algorithmique et de la programmation dans les programmes du Lycée dès 2009 avec un exemple introductif à l’algorithmique sur machine, une rubrique Algorithmique pour les Grands débutants et des activités réparties dans chacune des rubriques dédiées de la Seconde à la Terminale. Scratch et la programmation par blocs n’avaient d’ailleurs pas été retenus comme environnements propices au travail attendu par les programmes de mathématiques du lycée.

En Avril 2015, la lecture du Thème E du premier projet de nouveaux programmes de mathématiques du nouveau cycle 4 nous a donc surpris, tout comme elle a surpris les enseignants en informatique de l’Université de Lille 1. Les termes employés recouvrent des notions d’informatique assez poussées et parfois difficiles à enseigner même à l’Université :

  • gestion d’événements, instructions en parallèle, échange de messages, objets (partie « connaissances associées »)
  • programmer des applications ludiques comme une bataille navale (partie « repère des attendus de fin de cycle »)

Passé le temps des échanges de points de vue, nous avons fini par réaliser que les programmes avaient été faits pour être mis en œuvre avec le logiciel Scratch 2. La phrase suivante extraite du chapeau de la partie Mathématiques des programmes à venir d’Avril 2015 le reconnaît ainsi de manière subtile :
« L’environnement d’édition et d’exécution des programmes est choisi pour sa simplicité, sa fiabilité et sa robustesse dans la mise en œuvre ».

Même sans être cité, un choix était donc fait, ce ne serait pas à l’enseignant, seul ou en équipe, de choisir parmi les environnements de développement informatique existants et tout aussi adaptés à l’usage scolaire en mathématiques, avec des langages professionnels comme Javascript, Python, C ... ou des environnements scientifiques comme Xcas, SciLab …

Dès lors, on pouvait restreindre la portée des notions d’informatique aux possibilités multimédia de l’environnement de programmation de Scratch : par exemple, un objet peut n’être qu’un lutin.

En 2010 j’avais pu expérimenter la programmation logicielle avec des élèves de 3e : calculs dans le triangle rectangle, jeu de recherche d’un nombre avec comme retour « trop grand »/« trop petit », résolution des systèmes, … en Pascal avec le logiciel Lazarus, environnement de développement intégré (EDI) professionnel, graphique, multiplateforme, libre et gratuit. L’objectif de faire des mathématiques autrement pour préparer l’après-collège avait été atteint.
Mais cette expérience est-elle suffisante pour oser évaluer et proposer des activités sous Scratch sans l’avoir utilisé avec des élèves ?

Par ailleurs, je pense à titre personnel que l’initiation « au numérique » devrait très rapidement plonger les élèves dans les outils du web actuellement utilisés couramment. Les élèves les consomment tous les jours, de l’ordinateur à leur téléphone, mais de manière magique. Ils devraient être capables de comprendre le fonctionnement basique d’une page HTML (un simple texte structuré avec un langage de balisage) et comment l’interactivité est possible, programmée avec des scripts en Javascript (un texte écrit dans un langage de programmation). Ce sont les langages les plus utilisés au monde professionnellement, utiles pour une orientation « numérique » des élèves, accessibles au plus jeunes avec un simple navigateur internet même hors ligne.

Cela paraît possible et est facilité en milieu scolaire avec un site comme ProgLab.fr. Réalisé par un enseignant de mathématique, François Pirsch, il offre un environnement de découverte et de développement simple,adapté aux élèves et rapidement productif. Il permet d’envisager des publications sur le réseau de l’établissement (au sein de la classe par exemple) avant d’envisager une présentation publique (sur son ENT par exemple).
Faut-il continuer dans cette voie ou basculer uniquement côté Scratch ou faire les 2 ?

Enfin, les formations disciplinaires n’étaient pas prévues avant quelques mois, ce qui me semblait très tardif non seulement pour mon travail au sein de l’IREM, mais aussi pour préparer mon travail avec les élèves à quelques mois de la nouvelle rentrée.

Suite dans l’onglet « Les contraintes et un 1er tri »

Les contraintes et un 1er tri

Ainsi ma problématique d’évaluation des modes d’utilisation et d’enseignement avec Scratch conduisait à mettre mes élèves de 4ème assez rapidement dans l’environnement malgré ce manque d’informations sur la mise en place préconisée dès la rentrée prochaine.

Je me basais donc sur ces contraintes :

  • pas de description a priori de l’environnement de programmation, encore moins du langage comme dit par la version des nouveaux programmes publiée en septembre (source retrouvée : version janvier 2016),
  • sachant que mes élèves n’ont aucune expérience passée d’un environnement de programmation ce qui ne sera plus le cas pour les élèves des prochaines années :
    • Cycle 3 : « les outils numériques sont progressivement introduits », « En mathématiques, ils apprennent à utiliser des logiciels de calculs et d’initiation à la programmation » et « Dès le CE1, les élèves peuvent coder des déplacements à l’aide d’un logiciel de programmation adapté, ce qui les amènera au CE2 à la compréhension, et la production d’algorithmes simples. »,
    • Cycle 4 : repère de progressivité : « En 5ème, les élèves s’initient à la programmation évènementielle. Progressivement, ils développent de nouvelles compétences, en programmant des actions en parallèle, en utilisant la notion de variable informatique, en découvrant les boucles et les instructions conditionnelles qui complètent les structures de contrôle liées aux événements. En 3ème, ils abordent la gestion des objets, en leur faisant échanger des messages. »,
  • avec un contexte mathématique qui ne soit pas artificiel et qui soit accessible à tout élève : ni trop simple pour les élèves « à l’aise », ni trop dur pour les élèves « en difficulté »,
  • avec une reconnexion au programme de mathématiques de 4e assez rapide ensuite pour rester « efficace », même en cette année de pré transition,
  • et en utilisant de la programmation par blocs.

Je ne pouvais donc pas me tourner vers les activités en cours de publication sur notre site IREM car elles s’inscrivent dans la durée, dans un temps que je n’ai pas : premiers pas sur Scratch, labyrinthes avec Scratch, calculs et Pythagore avec Scratch (testé au Tableur et proposé aussi avec Javascript), attrape-Souris (une façon d’envisager un pong) …

Ayant fait un tour de l’existant sur Internet côté Scratch, je me suis finalement rabattu sur ce que j’avais déjà exploré rapidement côté Javascript et programmation par blocs : Blockly et ses micro-mondes. Voir le récent Mathématice de Janvier 2016.

Plus particulièrement, je suis revenu sur le site http://studio.code.org/ qui développe l’idée apparue aux Etats-Unis dès 2013 de l’Heure De Code ou « Hour of Code » : 1h d’initiation à la programmation, programmation par blocs, avec des tutoriels, dans différentes langues, pour néophyte en la matière. La liste impressionnante des partenaires connus et reconnus de Code.org ne peut qu’engager à au moins essayer pour voir ce que les géants de l’informatique proposent en terme d’éducation à la programmation.

Suite dans l’onglet « Découverte du site Studio.code.org »

Découverte du site Studio.code.org

Des cours selon l’âge

Le site http://studio.code.org/ propose différents parcours sous forme de missions à accomplir, brèves et auto-évaluées. Ces parcours sont clairement adressés à des élèves jeunes, voire très jeunes ne sachant pas bien lire pour le 1er « cours ».

Voici les 4 « cours » principaux avec la fourchette d’âge ciblé, de 4 ans à plus de 10 ans :

Et voici le détail annoncé par le site quand on se connecte comme Enseignant :

Le « cours accéléré » regroupe les points importants des différents « cours » précédents pour les faire tenir sur une séquence de 20h :

Ces « cours » sont pour des élèves avec un encadrement de type scolaire : des activités d’initiation débranchées, comme on dit désormais, sont proposées en amont d’une activité de programmation.

Exemple du début de la progression proposé pour le « Cours 1 » :

L’activité manuelle « Cartes joyeuses » débouche sur une vidéo ou des ressources pour l’enseignant :

Vidéo comme plan/contenu du cours « papier » téléchargeable seraient à traduire :

Ainsi la plupart des aides font référence à des documents en anglais, lesquels sont parfois shuntés dans les séquences du parcours en français (on peut changer la langue pour voir).

Par exemple voici l’accueil du parcours « Artiste » où la version anglophone est nettement plus riche :

Version langue française (Français)Version langue Anglaise (English)
Voici l’image animée :

Voici l’aide proposée à l’entrée du niveau 3 (ou puzzle 3) au Cours 4, Étape 9 :
(si celle-ci ne s’affiche plus, cliquer en bas à gauche de la fenêtre, sinon vider le cache du navigateur et cliquer sur le lien à nouveau)
la vidéo est en anglais, on peut éventuellement avoir son script en français mais avec des illustration en anglais :

La vidéoSon script

Les illustrations comportent d’ailleurs des extraits de code en Javascript, ce qui est cohérent avec l’usage de Blockly pour la programmation par blocs. Blockly joue ce rôle de couche intermédiaire entre l’utilisateur et le langage informatique réellement utilisé, en l’occurrence du Javascript utilisable directement (pas de plugin ou module à ajouter/installer) sur tout navigateur internet. Comme la majorité des langages informatiques, son vocabulaire est anglais : repeat, if then, for ... dont la syntaxe est montrée de manière transparent : usage des accolades pour délimiter le début et la fin d’un bloc.

Ainsi il me paraissait clair que le contenu de ce cours pour jeune débutant n’est pas adapté à des élèves 4ème en collège. Le prétexte ludique est très répétitif, trop la plupart du temps (c’est lassant) mais l’idée générale est bonne :

  • mettre en pratique avec uniquement les blocs suffisants,
  • monter progressivement le niveau d’ « expertise » requis,
  • rester dans une même « histoire »,
  • proposer des informations adaptées à la notion visée comme à l’usager,
  • permettre l’expérimentation par essai/erreur à volonté.

Voici un exemple pour le Cours 3, Étape 2 : le labyrinthe,
il faut juste empiler les « bons » blocs (ici le bloc ’avance plus’),

Le Cours 4, Étape 9 : Abeille et boucle Pour fait travailler la notion de répétition.
Le niveau 1 commence par la boucle « Répéter n fois » :
il faut prendre le bloc « Répéter », insérer le bloc « Nombre » à régler, et insérer les blocs « Avancer » et « Prendre » :

Puis le niveau 3 introduit la boucle « Répéter … De … A » avec une trame imposée en gris qui sert de modèle à suivre (avec quelques artéfact d’anglais : counter au lieu de compteur, qui est transparent). Ce modèle sera décliné par la suite pour laisser plus ou moins d’autonomie à l’apprenant (de la modification des valeurs limites au remplissage seul de la boucle) :

Le choix d’ 1 Heure de Code

Les « cours » sont riches mais je n’avais alors pas le temps de tout passer en revue pour faire mon « marché » des niveaux intéressants des différents « cours » ou étapes (ce qui sera peut-être fait par notre groupe IREM : objectif de l’étape, niveau intéressant, temps nécessaire) et pour alors réaliser un parcours cohérent et personnalisé pour mes élèves.

Ainsi, malgré leur côté marketing, publicité des marques de jeux ou de cinéma, qui m’avait rebuté d’emblée, je me suis tourné vers les modules de L’Heure du Code, à la suite des « cours » dans la page d’accueil, car ils sont calibrés pour 1h !

Après étude rapide de chacun, j’ai retenu le dernier parcours, « Artiste » :

  • il est sans marketing direct,
  • il est moins enfantin dans la présentation,
  • il se rapproche du langage Logo : avancer, tourner, répéter ...
  • il a un contenu mathématiques important : les angles, les polygones, déplacement, rotation, notion de motif (sous-problème), algorithme géométrique, algorithme informatique, répétition d’un algorithme « élémentaire ».

Suite dans l’onglet « Pour le professeur »

Pour le professeur

Suivre ses élèves

Pour les premiers pas avec Studio.code.org, mes élèves ont travaillé anonymement dans un parcours hors « cours ».

Mais, comme avec LaboMep pour faire des mathématiques, il est possible pour le professeur de s’inscrire et d’inscrire ses élèves sur le site pour suivre leur progression dans les différents « cours ». Il faudrait « juste » commencer par gérer l’accès à cet espace privé : identifiants et charte d’usage.

Côté gestion du travail des élèves, un suivi synthétique de la progression générale des élèves est présenté (que le travail soit fait en classe ou hors classe) :

Comme déjà dit, étant destinés à un public anglophone, plutôt des États-Unis, les plans de cours et ressources ne sont pas directement utilisables. Il en va de même pour la seconde ligne : Aide et Communauté, Développement professionnel, Informatique conférenciers invités.

Suivre son propre parcours en auto-formation ou exploration

Par contre l’accès à « votre progression de cours » peut être intéressant pour un enseignant, pour lui-même, car il enregistre les informations de sa propre progression dans le site et les différents « cours ». Il permet ainsi de ne pas refaire les mêmes étapes, de gérer son temps de travail, de fouiller en zappant au sein d’une étape, …

Usage des 2 boutons présenté ci-dessus :
1- [Continuer] : reprendre un « cours » là où il a été abandonné : ici « Cours 3, Étape 2 : Labyrinthe »
2- [Voir le cours] : voir les étapes et les niveaux déjà réalisés, coloriés selon la légende en bas de page :

Même si le contexte est très enfantin, même si la répétition devient pénible quand on a compris la notion travaillée, un enseignant peu à l’aise avec la programmation (par blocs ou non) peut travailler seul et à son rythme (en zappant ou non) faute d’avoir trouvé une formation institutionnelle plus adaptée et dans l’urgence du moment.

Le 5e « cours » appelé « Cours accéléré » peut alors être un point de départ pour s’initier.
La synthèse est un peu plus poussée avec un bilan par trophée sur les « concepts » en bas de page (ici à droite) :

Concernant les évaluations finales, elles sont sous forme de QCM simple (généralement 1 seule question et 4 propositions). Voici l’exemple le niveau 15 du Cours 3, Étape 2 :

C’est tout à fait suffisant pour juger de la maîtrise des notions dans le même esprit que le site, tout en obligeant à réfléchir à l’algorithme de manière abstraite faute de pouvoir l’essayer.
Ces évaluations peuvent tout de servir de base afin de proposer des évaluations à ses élèves en classe, mais en les adaptant. Elles sont hélas en version anglaise pour les captures d’écran des blocs, ce qui est dommage par rapport au reste déjà traduit. Pour les soumettre in-situ aux élèves même les moins à l’aise avec l’anglais, il aurait fallu au moins travailler d’emblée avec l’interface du site en anglais pour bénéficier de l’imprégnation du vocabulaire par la répétition.

Programmation et Programmation par blocs

Un éditeur en ligne permet de réaliser des programmes autonomes au sein de l’environnement du site :

Cela permet d’envisager de s’exercer hors parcours, de faire travailler les élèves sur ce site avant de passer à Scratch. Pour le professeur cet éditeur permet de réaliser et proposer des algorithmes avec le langage et la charte graphique du site, même s’il comporte des parties non traduites comme on le voit ci-dessus. Les traductions sont souvent transparentes, comme Actions ou Events pour Actions et Événements, mais parfois moins, comme Loops pour boucles :

Et certains blocs basiques ne sont pas proposés comme « Avancer », « Avancer plus » souvent présentés dans les Cours : il faut utiliser un bloc « Déplacer ... » plus complexe a priori :

La programmation par blocs n’est qu’une interface de programmation et pas un langage. Les micro-mondes de Scratch, comme ceux utilisant Blockly dans le cas de http://studio.code.org/, utilisent des blocs incontournables pour des algorithmes dans un langage de programmation informatique : répétition, test conditionnel, … mais aussi des blocs spécifiques qu’on ne retrouve pas chez l’un ou l’autre.

Par exemple la boucle « Compter » mise en place au niveau 4 du Cours 4, Étape 9 n’existe pas dans Scratch (on peut néanmoins la programmer avec un bloc personnalisé) alors que dans tous les langages informatiques cette boucle « Pour » existe. Il en va de même pour la boucle « Tant que … faire … » (ou « Faire … Jusqu’à … ») et aussi pour les fonctions qui n’existent par au sens de réaliser une sous-routine pour « proposer des paramètres et récupérer une valeur après traitement », comme on le ferait pour une fonction puissance(2,3) qui renverrait 8.
Scratch propose simplement des procédures ou sous-routines sans retour, il faut passer par une variable locale ou globale pour contourner cette limitation. Voici un exemple simpliste pour montrer comme on peut déporter le calcul du carré d’un nombre :

Ce dernier point s’avère d’ailleurs gênant pour pouvoir envisager travailler plus généralement la notion de fonction en mathématiques.

Pour en finir avec cet aspect langage de programmation, Blockly, suivant son paramétrage et son utilisation, permet d’obtenir un programme dans un langage standard professionnel comme Javascript, Python, … Il peut aussi être adapté pour tout autre « langage d’interface » comme celui des micro-mondes de jeu. C’est ce que montre le bouton proposé dans tous les niveaux, comme ici pour le niveau 3 du Cours 3, Étape 5 :

Comme il fallait s’en douter, on voit ici que pas mal de choses sont cachées dans ces micro-mondes afin de rendre « facile » leur usage et la découverte de la programmation :

  • le bloc Répéter est une boucle Pour : for(){ ... }, dont les 3 paramètres (valeur initiale, condition d’arrêt, incrément) sont occultés pour n’en demander qu’un (la borne stricte de l’énumération à partir de 0, de 1 en 1)
  • les fonctions moveForward(n) et turnRight(n) n’existent pas dans le langage Javascript : ce sont des fonctions programmées et ici non présentées.

Enfin, alors que sur http://studio.code.org/ les outils à utiliser sont proposés selon l’objectif, avec peu de blocs, et peu de blocs volontairement « parasites » (inutiles), Scratch propose d’emblée une bibliothèque de blocs complète pour son environnement, ce qui nécessite de repérer les blocs utiles pour les débuts.
Ce rôle de filtre est assuré par le professeur aidé des codes couleurs – fort heureusement. Mais c’est vraiment difficile pour celui qui apprend seul, notamment pour l’enseignant qui n’est pas destinataire d’un temps de formation ou qui n’a pas le temps nécessaire pour appréhender correctement ce(s) monde(s).

Suite dans l’onglet « Utilisation dans une classe de 4e »

Utilisation dans une classe de 4e

Mise en œuvre

En salle pupitres, avec la classe entière, j’ai présenté la séance en expliquant que les programmes et l’organisation du collège vont changer l’an prochain, et qu’il faudra notamment être capable de faire un peu de programmation (plus parlant à ce stade que le mot algorithme).
J’ai tout de suite rassuré en précisant aux élèves qu’ils savaient déjà faire des choses puisque nous utilisons régulièrement un logiciel de géométrie dynamique, TracenPoche, et le tableur d’OpenOffice : programmer c’est savoir demander à l’ordinateur de réaliser une tâche, comme faire une figure ou faire des calculs ; à nous de savoir lui dire correctement, en utilisant le langage adapté.

Après avoir indiqué l’accès au parcours « Artiste » par la partie publique de notre ENT, j’ai bloqué les postes élèves avec la présentation de mon écran et me suis placé au tableau numérique, plus efficace ici que le logiciel de pilotage de la salle pour capter l’attention, montrer les différentes parties de l’écran et les manipulations.

J’ai simplement montré l’organisation de l’interface sur le 1er niveau du parcours :

  • tout à gauche il faut que le lutin repasse le carré déjà existant ;
  • pour faire dessiner ce lutin, on dispose au centre de blocs d’instruction pour le commander ;
  • ces blocs sont à empiler/accrocher à droite sous ’quand l’exécution commence’ ;
  • on peut tester autant de fois que nécessaire avec le bouton Démarrer/Réinitialiser quand on ne réussit pas.

J’ai donc glissé un 1er bloc ’avancer ...’ puis cliqué sur le bouton [>Démarrer] à gauche sous la zone de rendu :
un premier trait s’est dessiné mais l’environnement a protesté car je n’ai pas réussi le défi :

Puis j’ai ajouté un bloc ’Tourner …’ et exécuté pour montrer l’absence de dessin. Mais le lutin a quand même bougé, tourné.
Enfin j’ai ajouté un dernier bloc ’avancer ...’ pour montrer que c’est bien le déplacement qui permet de dessiner.

Les élèves trouvant que c’était « simple », je leur ai rendu la main pour qu’ils fassent.

Bilan pour les élèves : un vrai travail

En 1h la grande majorité des élèves termine le parcours.
Certains sont aiguillés au bout d’une grosse demi-heure sur la page générale pour y choisir parmi les parcours dans un environnement graphique rappelant ’MineCraft’, ’Angry Birds’ ou ’Flappy bird’.

Concernant les aides (voir onglet « Découverte du site Studio.code.org »), j’ai dit aux élèves de lire la partie script s’ils le voulaient : ils ne l’ont pas fait.
Je n’ai eu à donner des informations à certains élèves vraiment perdus que ponctuellement. J’ai fait un point collectivement quand la notion gênait plusieurs élèves, signe qu’elle n’était potentiellement pas claire pour tout le monde.

Les points importants de cette séance :

  • L’abstraction des mouvements.
    On retrouve classiquement cet aspect dans le Logo en 2D et encore plus dans le Logo en 3D (voir GeoLap) : l’élève doit visualiser les mouvements, soit en se mettant à la place du lutin (en vivant le mouvement), soit en se plaçant comme spectateur des mouvements (en télécommande).
    Certains élèves ont du mal à investir l’un de ses modes pour évaluer ou anticiper un déplacement, un mouvement.
    C’est bloquant dès le début !
  • La découverte d’un bloc informatique efficace : ’répéter’.
    La boucle nécessite une explication pour tous – en l’occurrence l’information a circulé par rangée ou de proche en proche.
    Parfois, il est nécessaire de faire les manipulations devant l’élève pour qu’il comprenne l’insertion, la connexion des blocs et la notion de sous-routine (sans l’expliciter ainsi directement).
    Dès qu’on lui rend la main, il se débrouille et l’aspect ’économique’ de la répétition passe alors très bien car il a du poser et poser plusieurs fois les mêmes blocs dans les niveaux précédents.
    Au niveau 4 où ce bloc est présenté, j’aurais pu prévoir en ressource une petite animation montrant le fonctionnement de cet objet de programmation afin de maintenir les élèves en autonomie.
  • La pose du bloc ’tourner ...’ pour les figures à motif répétitif.
    Certains ont du mal à poser le ’tourner ...’ qui permet de décaler le motif de base pour le répéter en fleur. Il faut revenir à la décomposition par « sous-routine », relire le script et le comprendre.
  • Le test/débogage à volonté.
    Cette possibilité est appréciable pour comprendre à son rythme.
    Elle l’est tout autant pour voir que cette phase est utile dès qu’une routine est imposée ou quand le problème se complexifie : comprendre le fonctionnement global à l’exécution, comprendre le fonctionnement fin du script, retrouver où on a fait une erreur …

Les 2 classes sont de profils différents : l’une ’pas scolaire’, l’autre ’scolaire’ avec quelques élèves ’dys-’.

Dans la 1ère classe, ce sont bien les problèmes liés aux mathématiques qui ont émergé d’emblée, obligeant à revenir et à retravailler sur les mathématiques comme la mesure d’un angle (assez vite quand même).
Des problèmes « concrets » ou physiques – qui devraient être acquis en repérage spatial, comme « à droite ou à gauche ? » – ont nécessité l’utilisation d’un objet (crayon) pour « donner vie » au lutin, décomposer ses déplacement, pour montrer comment il tourne pour préparer le tracé suivant.
Un élève en voie de déscolarisation a travaillé normalement (une fois amené au bon exercice car il tente systématiquement de « s’échapper » pour faire ce que lui veut).
En dehors de 2 élèves qui n’ont pas voulu « jouer le jeu » et que j’ai laissé sur une activité totalement différente pour éviter de perturber la séance, tous les autres ont travaillé toute l’heure, ce qui n’est pas souvent le cas. C’est normal dans la mesure où le niveau en mathématique n’est pas celui attendu en 4e et où la nouveauté de l’environnement logiciel a joué à plein.

Dans la seconde classe, alors qu’il est intéressé mais souvent en retrait, un élève « dys-lex-calcul-ique » semblait comme un poisson dans l’eau. Il posait même des questions – ce qui est rare en classe – pour être vite débloqué : la géométrie lui parle et l’aspect ludique le captive. Lors de la présentation de début de séance, le mot ’minecraft’ a d’ailleurs déclenché dans ses yeux un intérêt évident. Et en effet, une fois son parcours « Artiste » bouclé, il a pu s’attaquer au parcours de son choix, évidemment « MineCraft », déplacements, répétition, test, actions spécifiques : détruire, construire, miner ...

Les autres élèves « dys- » (plutôt en orthographe ou en organisation) ne se sont pas faits remarquer par rapport aux autres élèves, ni plus de problème, ni moins.

Dans les 2 classes, la coopération par rangée de postes informatiques a permis d’avancer même si je n’étais pas disponible pour venir aider les impatients, quelque soit le niveau des élèves côte à côté et pas seulement entre ’copains’.

Bilan pour le professeur : un vrai confort

Pour le professeur cet espace numérique est très efficace dans cette phase d’initiation : il n’a pas à s’occuper de chaque élève tout en étant disponible pour chacun.

L’intérêt d’utiliser cette « heure de code » est le même que quand on travaille en salle informatique sous LaboMep avec des menus élaborés pour ses élèves :

  • l’élève avance à son rythme grâce à l’évaluation réalisée par le site (objectif atteint ou pas),
  • le professeur est là en ressource pour aider les élèves selon leurs profils quand ils ne s’en sortent pas seuls (différenciation),
  • l’effet « autre contexte que la classe normale » permet de récupérer des élèves,
  • l’essentiel est faisable dans le temps imparti, les plus rapides disposent d’exercices complémentaires pour continuer à travailler.

Dans ces conditions, le professeur peut amener tout le monde au même niveau de base, à la connaissance de certaines notions ou de certains objets, pour pourvoir ensuite s’appuyer dessus et imaginer, construire des activités, individuelles ou de groupe, de style tâche finale (où le contexte aiguille sur les outils/notions) ou tâche complexe (mobilisant des outils/notions non identifiés a priori) ou projet (mêlant tâche complexe, tâche finale et champs pluri disciplinaires).

Après cette 1ère séance d’initiation, j’étais conforté dans mon envie de passer directement dans l’environnement Scratch. Mais les conditions allaient radicalement changer :

  • une interface plus complexe,
  • une activité de production de A à Z : mise en place, programmation étape par étape avec tests,
  • le tout pris en charge exclusivement par le professeur.

Vu l’ensemble des petits problèmes potentiels dus à ces conditions, d’autant plus lors d’une première séance pour l’enseignant dans cet environnement logiciel avec des élèves, faire une telle séance en classe entière en salle informatique n’était pas envisageable.

Passage à Scratch en douceur

J’ai donc partagé les classes en 2 groupes, pris une semaine sur deux.

Je renvoie sur l’activité publiée sur le site de l’IREM de Lille : Somme et Produit (Initiation à Scratch) en 4ème (aperçu ci-dessous), notamment la fiche professeur qui détaille le déroulement.

Voici un résumé de la progression adoptée :

  • 1ère séance (15 jours après)
    • connexion sur l’environnement de développement Scratch en ligne ;
    • présentation de l’interface en lien avec l’initiation au Logo « Artiste » ;
    • une activité à réaliser présentée sous forme habituelle : une fiche élève d’information avec des consignes, déposée dans le dossier Maths ;
    • avec comme but annoncé de réaliser un logiciel qui demande 2 nombres à l’utilisateur, réalise leur addition et présente le résultat à l’utilisateur ;
    • et pour ceux qui ont le temps, modifier l’interface du logiciel produit afin de le rendre agréable pour un utilisateur (design logiciel) ;
  • Hors classe
    • récupération des projets en lot ;
    • conversion en lot des documents textes en PDF pour pouvoir les annoter ;
    • test et évaluation du travail de chaque élève ;
    • renvoi des documents en lot sur les comptes élèves ;
    • réalisation de corrections pour la séance suivante : une simple, une un peu plus évoluée au niveau présentation et une nettement plus poussée (pour donner des objectifs complémentaires aux plus dégourdis).
  • 2ème séance (15 jours après)
    • présentation d’une synthèse de la séance précédente avec la correction « basique » : notions d’algorithmique (entrée/saisie, traitement, sortie/affichage ), outils de programmation utilisés (bloc demander, blocs variables dont le cas particulier du bloc « réponse », blocs d’opérations, bloc dire) ;
    • présentation des « corrections embellies » pour montrer à tous l’utilisation des éléments graphiques de Scratch : Scène, Lutins (nouveau, modifier), notamment pour éviter la suppression d’un script quand on supprime le Lutin auquel il est attaché ;
    • présentation de l’objectif de la séance : réaliser un programme qui demande 2 nombres à l’utilisateur, qui réalise leur produit, qui présente le résultat à l’utilisateur et qui soit visuellement « pratique » ;
    • présentation des conditions de validation : projets individuels respectant les contraintes, fonctionnels et, si possible, visuellement agréable.
  • Hors classe
    • récupération des projets en lot ;
    • conversion des documents textes ;
    • évaluation détaillée en parallèle du test du projet de chaque élève ;
    • réalisation de corrections pour la séance suivante, dont une version sera distribuée comme base pour la séance à venir si certains en ont besoin (ceux qui n’avaient pas un projet correct).
  • 3e séance (15 jours après)
    • synthèse avec des corrections ;
    • poursuite sur un nouveau projet pour découvrir les test conditionnels : indiquer le signe d’un nombre (suivant sa position par rapport à 0 et non par la présence/absence d’un signe - devant une expression numérique).

La 1ère séance s’est très bien déroulée dans les 2 classes malgré des soucis d’accès au site de Scratch (lenteur du chargement, navigateur par défaut inadapté).

La séance « Artiste » a permis de reléguer la gestion de l’interface au strict minimum : trouver les bons blocs dans les bonnes catégories grâce à leurs couleurs (fort heureusement).
Comme envisagé, l’heure a été nécessaire pour pouvoir gérer chaque élève : de la mise au travail à la validation des étapes en passant par les explications à répéter, notamment pour l’usage des variables. Ce dernier point est normal et se retrouve dans le cours de mathématiques quand on travaille le calcul avec des lettres. A l’usage, mathématiques, algorithmique et mise en œuvre par programmation devraient se compléter et compléter l’arsenal déjà employé pour aider les élèves dans ce domaine.

La 2ème séance a été plus délicate.

Pour les élèves qui ne veulent pas s’investir ou jouer le « jeu » scolaire, il n’y a pas d’effet magique, de biais pour les faire entrer plus facilement dans le travail : ils bricolent les lutins mais sans plus.
Ce n’est pas vraiment Scratch qui a posé problème, même si j’ai insisté sur l’usage du bloc variable « réponse » (il permet d’appréhender l’affectation des variables de manière concrète).
Ce n’était pas non plus le choix du fil directeur de ces séances pour montrer les 2 grands aspects d’un programme/logiciel : la partie gestion de l’utilisateur (entrées, sorties, interface) et la partie traitement informatique/algorithmique (données, traitements, calculs).
C’est plutôt le passage par des consignes écrites et non reprises dans le détail à l’oral. Le « faire comme précédemment » n’implique pas qu’il suffit de reprendre le cheminement détaillé juste avant, sur le même document, pour s’en inspirer.
Or, en informatique comme dans beaucoup de situations mathématiques, utiliser ce qu’on a déjà fait, « faire pareil », « adapter » ou « s’inspirer de » est une premier étape dans la résolution d’un problème, dans l’appropriation des notions, avant d’aller au besoin chercher des informations complémentaires « ailleurs ».

Quelques projets d’élèves ont été rassemblés sur le site Scratch dans un Studio Produit, avec 1 projet « Produit » et 2 projets « Somme » qui ont servi aux synthèses de correction.

Retour au sommaire