Adaptation locale : il s'agit d'une proposition pédagogique transversale, non d'une séance officiellement validée pour un programme national. Adaptez l'intitulé du niveau, la durée et les exigences aux textes de votre établissement.
Ouvrir la fiche élève imprimable →Sans éléments de correction
Préparation de l'enseignant
- Prérequis
- Listes et valeurs de retour Python ; première approche des exceptions.
- Matériel
- Interpréteur Python local et tableau entrée/attendu/observé.
- Question de lancement
- Pourquoi un code qui marche sur [4] échoue-t-il sur [] ?
Situation de départ
Une IA utilise max(valeurs) pour une fonction censée accepter aussi une liste vide.
Données et support de l’exercice
Contrat : renvoyer le maximum ou None si liste vide ; cas [], [4], [-2,-5], [3,3].
Déroulement pédagogique
- 1. Observer et rechercher (10 min)
Faire le tableau des résultats attendus pour chaque entrée.
- 2. Confronter et argumenter (25 min)
Exécuter le code et caractériser le cas qui échoue.
- 3. Réinvestir individuellement (20 min)
Proposer un correctif et concevoir un cas supplémentaire.
Questions à poser aux élèves
- Note le résultat attendu pour chacun des quatre cas de test.
- Réécris la fonction pour qu'elle respecte le contrat sur liste vide.
Production attendue
Table de tests et version corrigée.
Accompagnement guidé
Proposer une fonction partiellement écrite avec garde « if not valeurs ».
Pour aller plus loin
Tester des nombres décimaux et discuter le contrat si tous ne sont pas comparables.
Autre variante
Avancés : tests paramétrés et invariants.
Afficher les éléments de correction (enseignant)
max([]) déclenche ValueError ; «max(valeurs) if valeurs else None» correspond au contrat.
Erreurs fréquentes à anticiper
- Ignorer une liste vide comme cas improbable.
- Assimiler absence de résultat et erreur de programme.
Vérification de fin de séance
Question : Que renvoie max([]) en Python avant correction ?
Réponse ou élément attendu : La fonction lève une exception ValueError.
Les élèves doivent pouvoir justifier leur travail indépendamment d’une réponse fournie par l’IA.
Grille d'évaluation formative
Attribuer 0 point si le critère n'est pas satisfait, 1 point s'il est partiellement atteint, 2 points s'il est atteint avec justification. Total indicatif : 6 points, à adapter au contexte.
| Critère | 0 | 1 | 2 |
|---|---|---|---|
| Contrat correctement explicité. | ☐ | ☐ | ☐ |
| Cas limites couverts par les tests. | ☐ | ☐ | ☐ |
| Correctif validé par les quatre exemples. | ☐ | ☐ | ☐ |
Il s'agit d'un outil d'observation, non d'un barème officiel.
Proposition d’utilisation de l’IA
L'enseignant peut adapter ce prompt à son outil autorisé ; aucune donnée d'élève n'est requise.
Propose des cas de test limites, sans fournir d'abord une implémentation.
Point de vigilance
Ne pas exécuter du code inconnu hors d'un environnement contrôlé.
