Repères pour le professeur
Objectifs et capacités
Objectifs
- Générer une liste en extension, par ajouts successifs et en compréhension
- Manipuler les éléments d'une liste (lire, ajouter, supprimer) et la parcourir
- Utiliser des listes pour calculer des statistiques et des tableaux de valeurs
Capacités travaillées (BO)
- S'approprier : rechercher, extraire et organiser l'information
- Analyser, raisonner : émettre une conjecture, choisir une méthode
- Réaliser : calculer, représenter, utiliser un outil numérique
- Valider : contrôler la vraisemblance, argumenter
- Communiquer : rendre compte d'une démarche à l'écrit et à l'oral
Notions et définitions
Repères historiques
- Ada Lovelace, premier programme publié (1843)
- John McCarthy, le langage Lisp fondé sur les listes (1958)
- Guido van Rossum, Python (1991)
Ressources de la séquence
Ancrage dans le programme, notions, repères, débats, bibliographie et différenciation, communs à toutes les séances.
Ancrage dans le programme officiel
Objectif du module : « Ce module permet aux élèves de consolider et d'approfondir l'étude de l'algorithmique et de la programmation débutée dans les classes antérieures. »
Listes : « La seule nouveauté est celle de liste, qui trouve naturellement sa place dans de nombreuses parties du programme et permet de travailler des notions telles que les suites numériques, les tableaux de valeurs. »
Langage : « En continuité avec la classe de seconde, le langage utilisé est le langage Python. »
Compétences : « valider : critiquer un résultat, argumenter ; contrôler la vraisemblance d'une conjecture ; mener un raisonnement logique et établir une conclusion »
Certification (arrêté du 17 juin 2020, annexe III) : en contrôle en cours de formation, deux situations d'évaluation en première et terminale : « Ces situations d'évaluation ont chacune une durée de quarante-cinq minutes environ et sont notées sur 10 points. » « Un exercice au moins comporte une ou deux questions dont la résolution se fait en présence de l'examinateur. » Pour les candidats hors CCF : « L'épreuve, d'une durée d'une heure, est une évaluation écrite et pratique, notée sur 20 points se déroule en fin de cursus de formation. »
Notions : définitions rigoureuses
- Liste
- Suite ordonnée de valeurs, notée entre crochets : notes = [12, 15, 9].
- Indice
- Position d'un élément, à partir de 0 : notes[0] vaut 12.
- Méthodes
- notes.append(14) ajoute 14 à la fin ; notes.remove(9) retire la valeur 9 ; len(notes) donne la longueur.
- Parcours
- for n in notes : traite chaque élément tour à tour.
- Compréhension
- carres = [k × k for k in range(6)] génère 0, 1, 4, 9, 16, 25 (en Python, × s'écrit avec l'astérisque).
- Fonction et liste
- Une fonction peut recevoir une liste en argument et renvoyer un résultat.
Repères
| Date | Événement |
|---|---|
| 1843 | Ada Lovelace publie un programme de calcul pour la machine analytique de Babbage. |
| 1958 | John McCarthy crée Lisp, langage entièrement fondé sur les listes. |
| 1991 | Guido van Rossum publie la première version de Python. |
| Aujourd'hui | Les listes servent à traiter les données des capteurs, des tableurs et des sites web. |
Les historiens en débat
Dès les débuts de l'informatique, il a fallu stocker des séries de valeurs : Lisp, en 1958, a fait de la liste sa structure centrale. Python, langage libre et gratuit, rend ces listes très simples à manipuler ; elles servent partout où l'on traite des données, des relevés de capteurs aux tableaux de valeurs d'une fonction. Synthèse du professeur.
Pour aller plus loin
Sources et bibliographie
- Gilles Dowek, Les Métamorphoses du calcul, Le Pommier, 2007.
- Jean‑Paul Delahaye, Les Inattendus mathématiques, Belin, 2004.
- Gérard Swinnen, Apprendre à programmer avec Python 3, Eyrolles, 2012.
Différenciation : un rythme de travail différent
- Pour les élèves qui ont besoin de plus de temps : énoncé découpé en petites questions, rappel de cours en marge, calculatrice ou tableur autorisés pendant l'entraînement, correction pas à pas en vidéo ou en classe virtuelle.
- Pour les élèves qui avancent vite : question d'approfondissement (démonstration, généralisation, programme Python à écrire), problème ouvert à rédiger et à présenter à l'oral.
Déroulé d'ensemble
| Séance | Titre | Durée | Objectif |
|---|---|---|---|
| Séance 1 | Créer et manipuler une liste | 65 min | générer une liste et accéder à ses éléments |
| Séance 2 | Parcourir une liste | 65 min | parcourir une liste pour calculer et compter |
| Évaluation | Évaluation de fin de séquence (/20) | 55 min | Vérifier les acquis : connaissances, capacités, rédaction |
Chaque séance dure environ 55 minutes à distance : lancement en classe virtuelle ou par message sur l'ENT, recherche du problème (calculatrice, tableur, GeoGebra ou Python dans le navigateur), mise en commun, cours et trace écrite. Les élèves renvoient la fiche à trous et leur production par l'ENT ou en photo.
Séance 1 · Créer et manipuler une liste
65 minSéance approfondie : cours développé, documents sourcés, activités exigeantes, corrigés et barème.
Problématique de la séance
Comment stocker toutes les mesures d'un contrôle qualité ?
Déroulé minuté à distance
- 10 min → Lancement en classe virtuelle : Rappel de la séance précédente, lecture de la problématique, récit du professeur appuyé sur le cours (capsule audio sur l'ENT si la connexion est fragile).
- 12 min → Travail autonome : Activité 1 (S'approprier) ; le professeur reste joignable par la messagerie de l'ENT.
- 18 min → Travail autonome : Activité 2 (Réaliser) ; le professeur reste joignable par la messagerie de l'ENT.
- 15 min → Travail à rendre : Activité 3 (Communiquer) à déposer sur l'ENT ou à rendre en photo ; correction individualisée avec le barème.
- 10 min → Mise en commun : Correction collective des points essentiels, puis élaboration et dépôt de la trace écrite.
Le cours développé (récit du professeur) · Les listes
Une liste Python est une suite ordonnée de valeurs, écrite entre crochets : mesures = [12, 15, 9, 17, 11]. Chaque élément a un indice qui commence à 0 : mesures[0] vaut 12, mesures[4] vaut 11. len(mesures) donne le nombre d'éléments. mesures.append(14) ajoute 14 à la fin ; mesures.remove(9) retire la première valeur 9. On peut créer une liste en extension (on écrit tous les éléments), par ajouts successifs (liste vide puis append dans une boucle) ou en compréhension : [k × k for k in range(6)] (avec l'astérisque en Python). On travaille dans Basthon, gratuit, dans le navigateur.
Document 1 · Le contrôle qualité
Situation-problème.
Un atelier de mécanique mesure l'écart (en centièmes de millimètre) de cinq pièces à la cote attendue : 12, 15, 9, 17, 11. Le technicien veut enregistrer ces mesures dans un programme.
Source : Situation construite pour la séance par le professeur (données fictives, choisies pour être réalistes).
Activité 1 · S'approprier
12 minSupports : Document 1
Lisez la liste mesures = [12, 15, 9, 17, 11].
- mesures[1] ?✔ Corrigé :
15.
- len(mesures) ?✔ Corrigé :
5.
- Indice de la valeur 17 ?✔ Corrigé :
3.
| Critère de réussite | Points |
|---|---|
| S'approprier, réaliser | 6 |
| Total de l'activité | 6 |
Activité 2 · Réaliser
18 minSupports : Cours
Programmez dans Basthon.
- Ajoutez la mesure 14.✔ Corrigé :
mesures.append(14) ; la liste a 6 éléments.
- Retirez la mesure 9.✔ Corrigé :
mesures.remove(9).
- Créez la liste des images de 0 à 5 par x × x − 3 en compréhension.✔ Corrigé :
[x × x − 3 for x in range(6)] donne −3, −2, 1, 6, 13, 22.
| Critère de réussite | Points |
|---|---|
| Analyser, raisonner, réaliser | 7 |
| Total de l'activité | 7 |
Activité 3 · Communiquer
15 minSupports : Documents et cours
Rédigez un mode d'emploi (6 lignes) pour un collègue : comment créer une liste, lire un élément, en ajouter un et en retirer un. Pour bien commencer : Pour créer une liste, on écrit… · Le premier élément a pour indice… · Pour ajouter une mesure, on utilise…
Syntaxe correcte ; indice 0 ; append et remove ; exemple ; clarté.
| Critère de réussite | Points |
|---|---|
| Valider | 5 |
| Communiquer | 2 |
| Total de l'activité | 7 |
Trace écrite (à faire recopier ou à déposer sur l'ENT)
Une liste s'écrit entre crochets. Le premier élément a pour indice 0. append ajoute un élément à la fin. len donne le nombre d'éléments.
Barème récapitulatif des activités notées
| Activité | Points |
|---|---|
| Activité 1 · S'approprier | 6 |
| Activité 2 · Réaliser | 7 |
| Activité 3 · Communiquer | 7 |
| Total | 20 / 20 |
Séance 2 · Parcourir une liste
65 minSéance approfondie : cours développé, documents sourcés, activités exigeantes, corrigés et barème.
Problématique de la séance
Combien d'heures la température a‑t‑elle dépassé le seuil ?
Déroulé minuté à distance
- 10 min → Lancement en classe virtuelle : Rappel de la séance précédente, lecture de la problématique, récit du professeur appuyé sur le cours (capsule audio sur l'ENT si la connexion est fragile).
- 12 min → Travail autonome : Activité 1 (S'approprier) ; le professeur reste joignable par la messagerie de l'ENT.
- 18 min → Travail autonome : Activité 2 (Analyser, raisonner) ; le professeur reste joignable par la messagerie de l'ENT.
- 15 min → Travail à rendre : Activité 3 (Valider, communiquer) à déposer sur l'ENT ou à rendre en photo ; correction individualisée avec le barème.
- 10 min → Mise en commun : Correction collective des points essentiels, puis élaboration et dépôt de la trace écrite.
Le cours développé (récit du professeur) · Parcours et fonctions
Pour parcourir une liste, on écrit for t in temperatures : ; la variable t prend tour à tour chaque valeur. On combine le parcours avec un accumulateur (total = total + t) pour calculer une somme ou une moyenne, avec un compteur et un test (if t > 26 : compteur = compteur + 1) pour compter, ou avec une comparaison pour trouver un maximum. On structure le programme avec des fonctions : def moyenne(liste) : … return total / len(liste). Python propose aussi sum(liste) et max(liste) pour vérifier.
Document 1 · Le capteur de température
Situation-problème.
Dans une serre de production horticole, un capteur relève la température chaque heure de 10 h à 16 h : 18, 21, 25, 29, 31, 27, 22 (en °C). Au‑delà de 26 °C, il faut ouvrir les aérations.
Source : Situation construite pour la séance par le professeur (données fictives, choisies pour être réalistes).
Activité 1 · S'approprier
12 minSupports : Document 1
Observez les données.
- Nombre de relevés ?✔ Corrigé :
7.
- Température maximale ?✔ Corrigé :
31 °C.
- Combien de relevés dépassent 26 °C ?✔ Corrigé :
3 (29, 31, 27).
| Critère de réussite | Points |
|---|---|
| S'approprier, réaliser | 6 |
| Total de l'activité | 6 |
Activité 2 · Analyser, raisonner
18 minSupports : Cours
Programmez.
- Fonction moyenne(liste) avec une boucle ?✔ Corrigé :
total = 0 ; for t in liste : total = total + t ; return total / len(liste) ; résultat ≈ 24,7 °C.
- Programme qui compte les dépassements ?✔ Corrigé :
compteur = 0 ; for t in temperatures : if t > 26 : compteur = compteur + 1 ; résultat 3.
- Vérification avec sum et max ?✔ Corrigé :
sum donne 173, max donne 31.
| Critère de réussite | Points |
|---|---|
| Analyser, raisonner, réaliser | 7 |
| Total de l'activité | 7 |
Activité 3 · Valider, communiquer
15 minSupports : Documents et cours
Rédigez une note au chef de culture (6 à 8 lignes) : expliquez ce que fait votre programme et ce qu'il indique pour l'ouverture des aérations. Pour bien commencer : Le programme parcourt… · Il compte les heures où… · D'après les résultats, …
Fonctionnement du parcours ; résultat 3 heures ; moyenne ; conseil pratique ; clarté.
| Critère de réussite | Points |
|---|---|
| Valider | 5 |
| Communiquer | 2 |
| Total de l'activité | 7 |
Trace écrite (à faire recopier ou à déposer sur l'ENT)
for t in temperatures permet de parcourir une liste. Un compteur augmente de 1 à chaque condition vérifiée. Un accumulateur sert à calculer une somme. On structure un programme avec des fonctions.
Barème récapitulatif des activités notées
| Activité | Points |
|---|---|
| Activité 1 · S'approprier | 6 |
| Activité 2 · Analyser, raisonner | 7 |
| Activité 3 · Valider, communiquer | 7 |
| Total | 20 / 20 |
Fiche à trous · corrigé
Une liste se note entre crochets.
Le premier élément d'une liste a pour indice 0.
La méthode append ajoute un élément à la fin d'une liste.
La fonction len donne le nombre d'éléments d'une liste.
La version élève contient la même fiche avec une banque de mots (papier ou ENT).
Évaluation de fin de séquence (/20) · barème et corrigé
Évaluation sur 20 à faire en temps limité sur l'ENT ou sur papier, puis à renvoyer en photo ; le corrigé et le barème servent aussi à l'autoévaluation. En Bac Pro, elle est construite comme une situation de contrôle en cours de formation (problème contextualisé, compétences évaluées) ; en 1re générale, elle prépare à l'épreuve anticipée (automatismes sans calculatrice et exercices) ; en Terminale générale, aux exercices indépendants de l'épreuve de spécialité.
| N° | Question | Barème | Corrigé et critères |
|---|---|---|---|
| 1 | On définit mesures = [12, 15, 9, 17, 11]. Que valent mesures[0], mesures[3] et len(mesures) ? | 4 pts | 12 ; 17 ; 5. Un point chacun, plus un point pour l'indice qui commence à 0. |
| 2 | Écrivez une fonction moyenne(liste) qui renvoie la moyenne des éléments d'une liste à l'aide d'une boucle, et testez‑la sur mesures. Puis écrivez la liste en compréhension des images de 0, 1, 2, 3, 4, 5 par f(x) = x × x − 3. | 8 pts | total = 0 ; for m in liste : total = total + m ; return total / len(liste) ; résultat 12,8. Liste : −3, −2, 1, 6, 13, 22. Fonction (5 pts), compréhension (3 pts). |
| 3 | Un capteur relève une température par heure : 18, 21, 25, 29, 31, 27, 22. Écrivez un programme qui compte les heures où la température dépasse 26 °C et expliquez son fonctionnement à un collègue. Pour bien commencer : *Le programme parcourt…* · *À chaque température, il teste…* · *À la fin, la variable compteur contient…* | 8 pts | compteur = 0 ; for t in temperatures : if t > 26 : compteur = compteur + 1 ; résultat 3. Programme (4 pts), explication (4 pts). |
| Total | 20 pts | ||
Pistes pour un rythme de travail différent
- Laisser deux jours de plus aux élèves qui ont peu de connexion et accepter un rendu sur papier photographié.
- Proposer la fiche à trous, un énoncé découpé en petites questions et une vidéo de correction pas à pas.
- Pour les élèves rapides : une démonstration, un programme Python à écrire ou un problème ouvert à présenter à l'oral.
- Automatismes : moyenne, image d'un nombre par une fonction, suite arithmétique.
- Pour aller plus loin : générer les 10 premiers termes d'une suite dans une liste et la représenter.