Les fonctions

Article proposé par le Groupe d’Expérimentation Pédagogique (GEP) NSI de l’académie de Versailles

Professeurs expérimentateurs

  • Jean-Christophe Dagnet (lycée Louis Bascan de Rambouillet)
  • Sophie Duvauchelle (lycée Marie Laurencin de Mennecy)

Niveau - Thèmes

  • Lycée 1ère NSI
  • Les fonctions

Intentions pédagogiques

Le passage d’argument(s) est une notion que les élèves mettent beaucoup de temps à intégrer et qui est conceptuellement difficile, bien que la définition des fonctions ou procédures soit généralement mieux comprise. D’autre part, le constat du manque d’entraînement des élèves nous a poussés à vouloir leur fournir des modalités de pratique quotidienne de la programmation.

Pré-requis

Une maîtrise des constructions élémentaires en Python, incluant les opérateurs de base et les types de données, l’affectation et la réaffectation de variables, ainsi que les structures de contrôle conditionnelles et itératives, est indispensable.

Résumé

Afin d’aborder efficacement les notions fondamentales sur les fonctions en Python, nous proposons suite à cette expérience :

  • une approche pédagogique sous forme de cours-TP intégré dans un notebook. Cette méthode mêle des apports théoriques concis à des exercices pratiques immédiatement applicables, permettant ainsi aux apprenants de comprendre les concepts tout en les mettant en œuvre dans des situations concrètes.
  • d’utiliser la plateforme France IOI, reconnue pour son approche interactive, progressive et ludique adaptée aux débutants comme aux élèves plus avancés.

Outils utilisés / Matériel

  • [*Notebook*] sous Capytale. Le notebook (au format .ipynb) est disponible au téléchargement à la fin de cet article.
    Logo Capytale
    Capytale

    Les notebooks offrent une utilité pédagogique considérable en rendant l’apprentissage interactif et engageant. Ils permettent aux élèves d’exécuter du code en temps réel, de visualiser des résultats et de comprendre des concepts de manière pratique. Les enseignants peuvent créer des leçons structurées combinant textes, exemples de code et visualisations, facilitant ainsi la compréhension.

  • [*France-IOI*] : Site
    Logo France IOI
    France IOI

    L’association France-IOI promeut l’informatique en offrant des ressources éducatives en ligne et en organisant des concours (Castor et Algoréa notamment). Le site d’entraînement à la programmation que nous utilisons dans cette expérimentation, conçu par des professeurs et élèves de l’École Normale Supérieure de la rue d’Ulm, se fonde sur une approche ludique pour permettre un apprentissage progressif grâce à un scénario amusant. Le site propose des pages de cours et de très nombreux problèmes à résoudre, avec correction automatique en ligne.

Constat d’un problème

Sur France IOI, pour résoudre les exercices, il est nécessaire d’utiliser de nombreux appels aux fonctions input et print, qui peuvent induire ensuite une confusion chez des élèves, entre passage d’arguments et saisie par l’utilisateur d’une part, entre retour de la fonction et affichage d’autre part.
Les années précédant cette expérimentation, les élèves avaient tendance à prendre de mauvaises habitudes comme dans les captures d’écran ci-dessous, issues d’exercices donnés en classe en dehors de France IOI :

Mauvaise pratique 1
Mauvaise pratique 2

Nous avons donc ajouté, pour les élèves, la consigne additionnelle suivante :

« Pour chaque problème, vous devez définir une fonction puis, dans le programme principal, enregistrer les valeurs dans une variable grâce à un appel à input puis appeler votre fonction pour afficher sa valeur de retour. »

Par exemple, voici la solution attendue pour le tout premier problème :

Solution attendue n° 1

Un autre exemple, pour un problème nécessitant d’utiliser des données d’entrée :

Solution attendue n° 2

Gestion du groupe - Durée estimée 4 H + travail en autonomie

  • Début en classe entière avec le notebook : découverte de la définition et l’appel de fonctions.
  • Mise en place de France IOI :
    - Création des comptes élèves
    - Intégration au groupe classe
    - Résolution des premiers exercices guidée par le professeur : niveau 1 bloc 1, au moins les deux premiers problèmes voire davantage selon le temps disponible
  • Travail autonome à la maison : poursuite des exercices proposés par France IOI (la fin du premier bloc, avec ensuite un bloc chaque semaine jusqu’à la fin du niveau 2)
  • Retour en classe entière :
    - Poursuite du notebook
    - Corrections collectives et échanges sur les stratégies
    - Suivi de la progression sur la plateforme

Déroulement de la séquence

  • Séance 1 :
    Les élèves découvrent de manière autonome la notion de fonction en algorithmique et programmation, au travers des notebooks interactifs qui combinent une introduction, des exercices d’application et des cours, leur permettant de créer et comprendre des fonctions simples. Depuis ce notebook, ils sont invités à s’inscrire sur France-IOI et à réaliser les exercices demandés, avant de partager leurs réalisations et de discuter des défis rencontrés.
  • Séance 2 :
    Les élèves terminent le notebook interactif pour approfondir leur compréhension des fonctions, en explorant des concepts avancés tels que les docstrings et les valeurs par défaut, avant de partager leurs réalisations et de discuter des avantages de ces concepts.
  • En autonomie :
    Ils continuent les exercices sur France-IOI, permettant au professeur de vérifier leur progression. Ils envoient ensuite leur code sous forme d’archive compressée via Pronote.
    Ce travail en autonomie est donné entre les séances 1 et 2 mais aussi tout au long de l’année scolaire par la suite.

Retour d’expérience

Les plus-values pédagogiques (enseignants / élèves)
  • Aucune installation n’est requise que ce soit pour les notebooks ou pour France-IOI
  • Découverte de nouvelles notions par des travaux pratiques
  • Apprentissage actif
  • Apprentissage ludique (turtle, France IOI)
  • Facilité d’accès pour les professeurs aux productions (Capytale, France IOI)
    Apprentissage facilité par :
  • la progression évolutive en termes de difficulté,
  • la diversité des activités proposées,
  • l’utilisation de modules permettant une visualisation de l’exécution des fonctions.
    Globalement, les élèves ont apprécié le fait de ne pas avoir de cours (il est caché dans le notebook et au fil des pages de France IOI), cette diversité pédagogique et cette évolution dans l’apprentissage. Il ont réussi à mieux assimiler ces notions de passage d’arguments même si d’autres TP sont nécessaires.
Les points de vigilance
  • Un document de synthèse, construit avec les élèves, est nécessaire afin de fixer le vocabulaire technique et les éléments de syntaxe Python.
  • Les élèves ne deviendront pas immédiatement des expertes ni des experts mais la notion de fonction sera réutilisée tout au long de leur cursus, permettant des progrès continus.
  • France IOI : difficulté de suivre les recommandations du professeur. Les élèves continuent leur progression sur le site si "ça marche" même si les demandes de l’enseignant ne sont pas satisfaites. Le professeur ne peut vérifier si la consigne additionnelle est respectée que par un fastidieux examen du code envoyé par Pronote.
Les leviers

D’autres activités peuvent êtres mises en œuvre de façon ludique. Se référer aux articles suivants :

Ressources

Partager

Imprimer cette page (impression du contenu de la page)