Skip to content
Mathématiques · 5ème

Idées d’apprentissage actif

Algorithmique : Fonctions et Procédures

Les fonctions et procédures nécessitent que les élèves passent d'une pensée linéaire à une pensée modulaire. Travailler en collaboration et manipuler des blocs concrets rend cette abstraction visible et manipulable. C'est pourquoi ces activités actives, où les élèves créent, testent et améliorent leurs propres fonctions, sont essentielles pour ancrer cette notion.

Programmes OfficielsMEN: Cycle 4 - Algorithmique et programmationMEN: Cycle 4 - Écrire, mettre au point et exécuter un programme
20–35 minBinômes → Classe entière4 activités

Activité 01

Cercle de recherche35 min · Petits groupes

Cercle de recherche: La bibliothèque de blocs

Chaque groupe crée 3 blocs personnalisés dans Scratch (tracerTriangle, tracerCarré, tracerÉtoile) avec un paramètre "taille". Les groupes partagent ensuite leurs blocs pour créer une composition collective. L'objectif est de construire un dessin complexe en combinant uniquement des blocs créés par d'autres.

Comment une fonction permet-elle de décomposer un problème complexe en sous-problèmes gérables et indépendants ?

Conseil de facilitationPendant 'La bibliothèque de blocs', circulez entre les groupes pour écouter leurs discussions et posez des questions comme : 'Pourquoi avez-vous choisi cette taille comme paramètre ?'

À observerDemandez aux élèves de décrire en une phrase comment ils utiliseraient une fonction pour dessiner un triangle isocèle, en précisant un paramètre possible. Ils doivent aussi écrire une phrase expliquant pourquoi cette fonction serait utile.

AnalyserÉvaluerCréerAutogestionConscience de soi
Générer une leçon complète

Activité 02

Penser-Partager-Présenter25 min · Binômes

Penser-Partager-Présenter: Identifier les répétitions

Le professeur projette un programme de 30 lignes contenant des blocs de code identiques répétés à plusieurs endroits. Individuellement, les élèves surlignent les parties qui se répètent. En binôme, ils proposent des noms de fonctions pour chaque bloc identifié et réécrivent le programme simplifié.

Pourquoi la réutilisation de code via des fonctions est-elle une pratique essentielle en programmation ?

Conseil de facilitationLors du 'Think-Pair-Share', insistez pour que les élèves notent d'abord leurs propres observations avant de les partager, afin d'éviter les réponses impulsives.

À observerEn binômes, les élèves échangent deux fonctions qu'ils ont créées. Chaque élève doit tester la fonction de son camarade avec au moins deux jeux de paramètres différents et noter si le résultat est correct. Ils doivent ensuite écrire une suggestion d'amélioration ou de modification.

ComprendreAppliquerAnalyserConscience de soiCompétences relationnelles
Générer une leçon complète

Activité 03

Enseignement par les pairs25 min · Binômes

Enseignement par les pairs: Mode d'emploi de ma fonction

Chaque élève crée un bloc personnalisé avec paramètres sur Scratch, puis rédige un "mode d'emploi" (nom, ce que fait la fonction, quels paramètres donner). Son partenaire doit utiliser la fonction correctement en se basant uniquement sur le mode d'emploi, sans voir le code interne.

Comment les paramètres d'une fonction permettent-ils de la rendre plus flexible et adaptable à différentes situations ?

Conseil de facilitationPendant le 'Peer Teaching', demandez aux enseignants de jouer le rôle de l'élève : ils doivent reformuler les instructions de la fonction pour vérifier la clarté du mode d'emploi.

À observerPrésentez un court programme Scratch contenant une boucle pour dessiner un carré. Posez la question : 'Comment transformer cette boucle en un bloc personnalisé nommé 'dessinerCarré' ? Quels paramètres faudrait-il ajouter pour pouvoir changer la taille du carré ?' Observez les réponses des élèves pour évaluer leur compréhension.

ComprendreAppliquerAnalyserCréerAutogestionCompétences relationnelles
Générer une leçon complète

Activité 04

Galerie marchande20 min · Classe entière

Galerie marchande: Avant/Après refactorisation

Chaque groupe affiche côte à côte deux versions de son programme : avant (code long avec répétitions) et après (code court avec fonctions). Les visiteurs comptent les lignes économisées et évaluent la lisibilité. Un vote collectif désigne la refactorisation la plus efficace.

Comment une fonction permet-elle de décomposer un problème complexe en sous-problèmes gérables et indépendants ?

Conseil de facilitationLors de la 'Gallery Walk', prévoyez un temps de silence avant les échanges pour que chacun observe attentivement les différences entre les programmes avant de commenter.

À observerDemandez aux élèves de décrire en une phrase comment ils utiliseraient une fonction pour dessiner un triangle isocèle, en précisant un paramètre possible. Ils doivent aussi écrire une phrase expliquant pourquoi cette fonction serait utile.

ComprendreAppliquerAnalyserCréerCompétences relationnellesConscience sociale
Générer une leçon complète

Modèles

Modèles qui complètent ces activités de Mathématiques

Utilisez, modifiez, imprimez ou partagez.

Quelques notes pour enseigner cette unité

Commencez par des exemples concrets et proches des élèves, comme des recettes de cuisine ou des instructions de jeu, pour ancrer l'abstraction des fonctions. Évitez de présenter trop de théorie d'un coup : privilégiez l'expérimentation guidée où les élèves découvrent les principes par eux-mêmes. Utilisez des analogies simples mais précises, comme comparer une fonction à une machine qui prend des ingrédients (paramètres) et produit un résultat, sans se soucier du fonctionnement interne. Enfin, insistez sur l'importance de nommer correctement les fonctions et leurs paramètres, car cela reflète directement leur compréhension du concept.

À la fin de ces activités, les élèves doivent être capables de distinguer clairement la définition d'une fonction de son utilisation, d'intégrer des paramètres pour rendre leurs blocs réutilisables et de structurer un code en sous-parties autonomes. Leur langage doit refléter cette compréhension : ils parlent de 'définir', 'appeler', 'paramétrer' et 'réutiliser' avec aisance.


Attention à ces idées reçues

  • Pendant 'La bibliothèque de blocs', certains élèves pensent que la simple création d'un bloc suffit à exécuter le code. Ils oublient de l'appeler ensuite dans leur programme principal.

    Demandez à chaque groupe de présenter leur bibliothèque de blocs en expliquant quand et comment ils prévoient d'utiliser chaque fonction. Insistez sur la distinction entre 'définir' et 'utiliser' en montrant visuellement le code avant et après l'appel de la fonction.

  • Lors de 'Think-Pair-Share : Identifier les répétitions', les élèves créent des fonctions séparées pour chaque valeur, comme 'tracerCarré5' et 'tracerCarré10', sans voir l'intérêt des paramètres.

    Affichez les programmes de deux groupes côte à côte : l'un avec des fonctions spécifiques pour chaque taille, l'autre avec une fonction paramétrée. Demandez aux élèves de comparer le nombre de blocs et la facilité de modification, puis de justifier leur choix.

  • Pendant 'Peer Teaching : Mode d'emploi de ma fonction', certains élèves conçoivent des fonctions qui font trop de choses à la fois, rendant leur explication confuse.

    Lancez un défi : 'Votre camarade doit pouvoir résumer votre fonction en une phrase simple. Si ce n'est pas possible, simplifiez-la.' Utilisez cela pour introduire la règle du 'Single Responsibility Principle' : une fonction doit faire une seule chose, bien définie.


Méthodes utilisées dans ce dossier