Compare commits

..
2 Commits
Author SHA1 Message Date
admin cad5cbedcf ajout des activités de reprise de rentrée 2026-09-06 21:35:04 +02:00
admin 33e683fd76 correction du badge de licence 2026-09-06 21:35:04 +02:00
6 changed files with 4210 additions and 1 deletions
+1 -1
View File
@@ -1,6 +1,6 @@
# NSI Terminale - Lycée Charlotte Perriand
[![Licence CC BY 4.0](https://img.shields.io/badge/Licence-CC%20BY%204.0-blue.svg)](LICENSE)
[![Licence CC BY-SA 4.0](https://img.shields.io/badge/Licence-CC%20BY--SA%204.0-blue.svg)](LICENCE.md)
[![Jupyter Notebook](https://img.shields.io/badge/Jupyter-Notebook-orange.svg)](https://jupyter.org/)
Cours de **Numérique et Sciences Informatiques** pour les élèves de Terminale.
+107
View File
@@ -0,0 +1,107 @@
# 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](https://basthon.fr), 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) :
```bash
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*
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+34
View File
@@ -0,0 +1,34 @@
# Révisions de rentrée : PERRIAND-7
Activité de reprise, à faire en début d'année de Terminale.
La station orbitale PERRIAND-7 sort de deux mois d'hibernation et ses programmes de bord
ne répondent plus correctement. À vous de les réveiller, un module à la fois.
## Ce qu'on révise
| Module | Notion |
|---|---|
| 1. Le réacteur | variables, affectation, mutabilité |
| 2. Les protocoles | fonctions, paramètres, `return` |
| 3. Le balayage | boucles `for` et `while` |
| 4. La soute | listes, listes de listes |
| 5. L'équipage | dictionnaires |
| 6. Sortie d'orbite | synthèse |
Rien de nouveau : tout a été vu en Première. Mais chaque notion révisée ici resservira
directement cette année, en récursivité, en POO, sur les arbres et sur les graphes.
## Le notebook
[PERRIAND-7_Reveil_des_systemes.ipynb](PERRIAND-7_Reveil_des_systemes.ipynb)
Ouvrable sur [Basthon](https://basthon.fr), Jupyter ou VS Code. Aucune installation,
aucun fichier annexe. Chaque exercice est accompagné de ses tests : si `OK` s'affiche,
c'est gagné.
Les modules sont indépendants. Chaque module commence par une cellule SECOURS qui remet
en place ses données : vous pouvez passer au suivant sans avoir fini le précédent.
---
*Lycée Charlotte Perriand, NSI Terminale, Licence CC BY-SA 4.0*
File diff suppressed because it is too large Load Diff