Files
TermNSI/Revisions_Rentree/NOTES_PROF.md
T

4.9 KiB

Révisions de rentrée : PERRIAND-7

Activités de reprise pour la rentrée de Terminale, après la coupure estivale. Fil rouge unique : le réveil d'une station orbitale après deux mois d'hibernation.

Fichier Pour qui Publié sur hub-docs
README.md Élèves oui (page d'index de la section)
PERRIAND-7_Reveil_des_systemes.ipynb Élèves oui (NOTEBOOK_ALLOWLIST)
PERRIAND-7_CORRIGE.ipynb Professeur non (aucun notebook Terminale hors allowlist)
NOTES_PROF.md Professeur non (EXCLUDE_FILES)
_generateur.py Professeur non (EXCLUDE_FILES, il contient le corrigé)

Notebooks ouvrables sur Basthon, Jupyter ou VS Code. Aucune bibliothèque externe, aucun fichier annexe.


Intention

Ces activités ne révisent pas le programme de Première pour lui-même : chaque notion est choisie et cadrée pour ce qui arrive derrière en Terminale.

Module Notion révisée Prépare
1, Le réacteur affectation, mutabilité, aliasing de listes POO (attributs), listes chaînées
2, Les protocoles return vs print, paramètres, portée Récursivité, Modularité
3, Le balayage for / while, accumulateur, range(len(...)) parcours d'arbres et de graphes
4, La soute indices, tranches, listes de listes, compréhensions structures linéaires, tri fusion
5, L'équipage dictionnaires, .get(), dict de listes graphes (liste d'adjacence), mémoïsation
6, Sortie d'orbite synthèse : parcours avec une pile, pile d'appels Pile/File, Récursivité

Le module 6 se termine sur un compte à rebours récursif à tracer à la main : c'est le raccord direct avec le chapitre en cours.


Parti pris pédagogique

Lire et réparer avant d'écrire. Après deux mois d'arrêt, la page blanche bloque. Chaque module suit donc la même montée : diagnostic (prédire la sortie sans exécuter), puis réparation (code cassé à corriger), puis production (écrire), puis bonus. Les diagnostics donnent aussi un repérage rapide de qui a réellement décroché.

La difficulté monte, comme au bac. Les derniers exercices de chaque module, et le module 6 dans son ensemble, sont volontairement plus exigeants. C'est annoncé aux élèves dès l'introduction du notebook : les dernières questions servent à voir jusqu'où vont les meilleurs, ne pas les terminer n'est pas un échec.

Auto-correction par assert. Chaque production est suivie d'une cellule de tests qui affiche OK. Les élèves avancent sans file d'attente devant le bureau, et ça amorce le chapitre Modularité (jeux de tests). Tous les assert du corrigé ont été exécutés et passent.

Modules indépendants. Chaque module s'ouvre sur une cellule SECOURS qui redéfinit ses données. Un élève bloqué au module 2 peut sauter au module 5 sans rien casser : le fil rouge est narratif, pas technique.


Conduite de séance

Compter 2 h pour le parcours complet bonus inclus. Sur 1 h, le noyau utile est :

  • Module 1 : diagnostics 1.1 et 1.2 (l'aliasing, celui qui rapporte le plus)
  • Module 2 : diagnostic 2.1 et réparation 2.2 (print vs return)
  • Module 3 : production 3.4 (maximum à la main)
  • Module 5 : production 5.3 (dictionnaire de comptage)

Les bonus (1.5, 2.5, 3.6, 4.5, 5.5) sont là pour occuper les rapides. 4.5 (fusion de deux listes triées) et 6.1 (parcours en profondeur) sont les deux vrais morceaux.

À faire au tableau plutôt qu'en autonomie :

  • 1.2 (aliasing) : un schéma mémoire de deux flèches vers la même liste vaut mieux qu'une explication écrite.
  • 6.2 (compte à rebours) : à tracer collectivement, c'est le pont vers la pile d'appels.

Points de vigilance :

  • Le diagnostic 3.2 contient une boucle infinie. Elle est en bloc Markdown non exécutable et signalée comme telle, mais prévenir à l'oral évite un Basthon figé.
  • Le diagnostic 2.3 provoque volontairement une UnboundLocalError. Insister sur le fait que la bonne réponse est le passage en paramètre, pas global.
  • La réparation 4.2 (suppression pendant l'itération) est le plus difficile des exercices non-bonus : leur faire d'abord exécuter le code cassé pour constater.

Régénérer les notebooks

Les deux notebooks sont produits par un script unique (énoncé et corrigé partagent la même source, ce qui évite qu'ils divergent) :

python3 _generateur.py

Modifier un exercice dans _generateur.py puis relancer met à jour les deux notebooks.

Attention : _generateur.py contient le corrigé en clair, et build_docs.py publie les fichiers .py comme ressources téléchargeables. Il est explicitement exclu du build (EXCLUDE_FILES), tout comme le présent fichier. Ne pas le renommer sans mettre à jour cette exclusion côté serveur.


Lycée Charlotte Perriand, NSI Terminale, Licence CC BY-SA 4.0