Un TP de cape et d’épée avec le Chevalier de Méré

vendredi 28 octobre 2011
par  Alain BUSSER

Dans la correspondance entre Blaise Pascal et Pierre de Fermat, le premier évoque des problèmes que lui ont soumis Antoine Gombaud, chevalier de Méré, notamment le fait que des probabilités qui lui étaient connues, étaient proches de 0,5 mais pas exactement égales à 0,5.

La première des deux se prête assez bien à un TP en Seconde (seule la fin nécessite un langage objet comme Python) :

PDF - 130.1 ko
le sujet du TP en pdf
TP Python sur le premier problème soumis à Blaise Pascal par le Chevalier de Méré

Le TP a très bien commencé, avec ce raisonnement :

Le total des faces des 4 dés est 24, et 4 d’entre elles sont gagnantes (avec un 6 dessus) ; donc la probabilité d’avoir au moins un 6 est de 4 chances sur 24, soit une chance sur 6.

La bonne nouvelle, c’est que beaucoup d’élèves perçoivent bien les probabilités comme des fractions... La fluctuation d’échantillonnage ressort bien de cette activité, une élève ayant eu 9 tirages gagnants sur les 10 (ça devait être son jour !) et deux élèves ont eu 0 partie gagnante.

Voici quelques erreurs intéressantes :

  • Les élèves ont, en général, du mal à verbaliser l’acte de compter les « True » dans la liste (à la question « comment as-tu trouvé que l’effectif est 6 ? » ils ne savent souvent pas du tout répondre) [1] ; une fois qu’ils ont compris qu’ils avaient juste compté les « True », ils ont certes eu du mal à trouver comment faire ce comptage en Python, malgré la présence d’un exemple de comptage auparavant...
  • Plusieurs élèves ont mis count(6) au lieu de count(True) à la fin ;
  • Beaucoup d’élèves ont entré count(true) au lieu de count(True) et n’ont pas réussi à retrouver la source de leur erreur, bien que la question précédente leur aie rappelé la syntaxe des booléens dans Python ;
  • Un élève a oublié de citer la liste à compter, avec count(True) au lieu de liste.count(True). Ce genre d’erreur est facile à remédier.
  • Environ la moitié de la classe a oublié de diviser le nombre de « True » par l’effectif total, d’ailleurs plusieurs élèves ont cherché comment on écrit « fréquence » en Python, et ont été très déçus que Python n’ait pas d’instruction réservée au calcul de fréquences (mais que fait Guido van Rossum ?) ; la notion de fréquence est en général mal maîtrisée à l’entrée en Seconde...

Aucun élève ne semblait connaître la notion d’erreur d’approximation. Dommage, parce qu’avec 10000 lancers, la fluctuation d’échantillonnage est assez faible :

effectif erreur
5190 0,25 %
5170 0,13 %
5262 1,64 %
5289 2,16 %
5140 0,71 %
5200 0,44 %
5088 1,72 %
5269 1,78 %
5168 0,17 %
5180 0,06 %
5115 1,2 %
5218 0,79 %
5126 0,99 %

En effet, l’écart-type étant de l’ordre de 0,5 %, l’intervalle de confiance au niveau 95% pour l’effectif de parties gagnantes est [5127 ;5227] auquel appartiennent 10 des 13 données des élèves [2].

Ce TP est très facile à porter sur tableur, mais la mise en œuvre est moins facile qu’avec Python, essentiellement parce que les élèves ne connaissent pas du tout le tableur, et que la recherche du « critère » dans le « NB.SI » n’est pas évidente.

Malgré ça, aucun élève n’a eu le temps de calculer la probabilité du (III) ; un seul a eu le temps de compléter l’univers omega.


[1] Pour y remédier, une narration de recherche leur a été confiée, sur le calcul approché de \sqrt{3} ; en effet, annoncer aux élèves que la note ne portera que sur la rédaction les motive à faire plus d’efforts pour ladite rédaction.

[2] soit les trois quarts : On est largement en-dessous des 95% attendus !


Commentaires

Logo de Alain BUSSER
jeudi 22 mars 2012 à 21h57, par  Alain BUSSER

Merci pour cette analyse très pertinente des difficultés levées par cet atelier. J’interprète l’introduction de l’algorithmique dans les programmes de maths, comme une incitation à habituer les élèves très tôt à la notion d’itération (calcul séquentiel). Cette notion est difficile et a priori, des outils comme Python, Xcas ou SciLab, avec la possibilité de manipuler des listes et leur préimplémentation d’algorithmes de tri, de somme, etc. permettent de court-circuiter cette difficulté. En résumé, cet atelier Python me laisse l’impression

  1. d’être totalement hors programme du point de vue algorithmique (parce qu’axé sur de la programmation rarement séquentielle), en tout cas en Seconde, où je prive les élèves du plaisir de la découverte d’un algorithme en mode pas-à-pas ;
  2. mais d’être un accélérateur de cours de mathématiques, en permettant d’exposer rapidement et « concrètement » des notions comme les ensembles (qu’on manipule en probabilités, en résolvant des équations et inéquations, avec les ensembles de définition) ou les relations entre lesdits ensembles.

Sur l’intérêt d’enseigner la programmation objet (hors programme) j’ai trouvé cet article ; sur la programmation, celui-ci ; sur le confort que permet la description d’un problème (plutôt que la description de la manière de le résoudre) en mathématique, celui-là. Bonne lecture !

Logo de Sébastien Hoarau
jeudi 22 mars 2012 à 10h41, par  Sébastien Hoarau

J’ai regardé avec grand intérêt vos TP d’algorithmique en Python. Toutefois, je pense que vos TP sont plus orientés « manipulations de concepts mathématiques par des outils python ». Je pense notamment au TP sur les opérations ensemblistes (très peu utilisée la structure d’ensemble en programmation, on lui préfère largement celle de tableau ou de liste).

D’autre part, vous dites vous même que les élèves font assez peu d’algorithmique. Dans ce TP ci par exemple plutôt que de leur donner des expressions syntaxiquement et sémantiquement très difficiles : [randint(1,6) for i in range(4)].count(6) !!!!! Peut-être leur apprendre quelques méthodes sur les listes (le .count et le .append par exemple) et leur faire construire par une vraie boucle 10 fois la liste des 4 lancés... genre :

lesQuatresDes = [ ]
for n in range(10) :
\t lesQuatresDes.append(randint(1,6))
\t print(lesQuatresDes.count(6))

Les itérateurs sont assez compliqués à comprendre à l’intérieur d’une liste je trouve et surtout très spécifique à Python. Dans une initiation à l’algorithmique il vaut mieux s’en tenir à des choses plus génériques et que l’on est susceptible de retrouver dans d’autres langages. Mais je peux me tromper, je n’ai aucune expérience de ce genre de public :)

Brèves

Guide 2011 du Web pédagogique

lundi 3 janvier 2011

Le Café pédagogique publie son Guide 2011 du Web. Une mine de liens vers des sites susceptibles d’être utiles aux enseignants. Une bonne photographie du paysage éducatif actuel.

Sur le Web : Guide 2011 du Web

Médailles Fields 2010

mardi 24 août 2010

Les noms des quatre médaillés Fields 2010 ont été dévoilés lors de la cérémonie d’ouverture du Congrès international des mathématiciens à Hyderabad :

- Elon Lindenstrauss
- Ngô Bào Châu
- Stanislas Smirnov
- Cédric Villani.

Sur le Web : ICM 2010

Deux publications sur l’algorithmique

samedi 17 octobre 2009

L’IREM d’Aix-Marseille publie une brochure de 73 pages, téléchargeable librement, intitulée Algorithmes et logique au lycée. Ces notions sont illustrées et déclinées sur des exercices du programme de spécialité mathématique en série L, mais sont adaptables aux programmes à venir.

Le hors série thématique n° 37 du magazine Tangente, disponible actuellement en kiosque, s’intitule « Les algorithmes. Au cœur du raisonnement structuré ». Extrait de l’éditorial : « La rédaction de Tangente a conçu la quasi-totalité de ce hors série thématique pour qu’il puisse être lu par des élèves de Seconde ».

Une carte mentale pour l’algorithmique

jeudi 10 septembre 2009

Sur son site, Jean-Jacques Dhénin a publié une carte mentale géante qui renvoie vers plus de 30 documents en ligne sur l’algorithmique. Tout ce qu’il faut — et même davantage — pour faire face au nouveau programme de Seconde !

Un catalogue libre d’algorithmes pour le lycée

dimanche 30 août 2009

Guillaume Connan, de l’IREM de Nantes, publie un catalogue libre de 119 pages d’algorithmes pour le lycée. Sur son site très riche, on trouvera d’autres documents en rapport avec l’algorithmique, notamment sur l’utilisation des langages fonctionnels au lycée et sur la comparaison programmation fonctionnelle/programmation impérative.

L’algorithmique à l’IREM de Lille

vendredi 26 juin 2009

Le groupe AMECMI de l’IREM de Lille vient de mettre en ligne des ressources importantes au service des professeurs de Seconde :

- Algorithmique et programmation (Emmanuel Ostenne)
- Bibliographie amoureuse de l’algorithmique (Alain Juhel)