2 points par GN⁺ 2025-05-04 | 1 commentaires | Partager sur WhatsApp
  • Une expérience d’apprentissage de Python montre que les capacités linguistiques et la résolution de problèmes sont les meilleurs prédicteurs de la vitesse d’apprentissage, suggérant qu’une initiation au code pourrait être plus proche de l’apprentissage d’une langue que des mathématiques
  • Les chercheurs ont recruté 42 personnes pour suivre 10 leçons de Learn Python sur Codecademy, puis ont comparé les prétests, quiz et exercices finaux des 36 participants ayant terminé l’étude
  • La réussite de l’apprentissage dépendait surtout de la résolution de problèmes et de la mémoire de travail, mais la vitesse d’apprentissage mobilisait à la fois les capacités cognitives générales et l’aptitude linguistique
  • L’aptitude linguistique expliquait près de 20 % des écarts de vitesse d’apprentissage de Python, tandis que le prétest de mathématiques n’en expliquait que 2 % et n’était pas corrélé à la réussite
  • Les oscillations bêta de l’EEG au repos étaient aussi associées à un apprentissage plus rapide et à davantage de connaissances en programmation, mais le lien de causalité et le mécanisme restent encore flous

Les aptitudes qui ont prédit l’apprentissage de Python

  • Une étude de chercheurs de l’University of Washington estime que les capacités linguistiques et la résolution de problèmes sont les meilleurs prédicteurs de la vitesse d’apprentissage de Python
  • L’étude a été publiée dans Scientific Reports et compare, au moyen de tests comportementaux et de mesures de l’activité cérébrale, la vitesse et la qualité avec lesquelles les participants apprennent la programmation
  • Son point de départ est l’hypothèse que l’apprentissage de langages de programmation comme Python ou Java pourrait ressembler plus qu’on ne le pense à l’apprentissage de langues naturelles comme le français, l’espagnol ou le chinois

Conception de l’étude et méthodes de mesure

  • Au total, 42 personnes ont été recrutées pour suivre le cours de code en ligne « Learn Python » de Codecademy
    • Le cours se composait de 10 leçons de 45 minutes
    • 36 personnes ont terminé l’étude jusqu’au bout
  • Avant les cours en ligne, les participants ont passé plusieurs prétests
    • Compétences en mathématiques
    • Mémoire de travail
    • Résolution de problèmes
    • Aptitude à l’apprentissage d’une seconde langue
  • Pendant les cours, la vitesse d’apprentissage et les performances ont été suivies au moyen des quiz intégrés au logiciel en ligne
  • À la fin de l’étude, un quiz et un exercice de code supplémentaires ont été organisés pour évaluer l’ensemble des connaissances en programmation

Les facteurs qui ont différencié vitesse d’apprentissage et réussite

  • Les participants ont obtenu des résultats différents quant à leur vitesse d’apprentissage de Python et à leur niveau final en programmation
  • Le fait d’avoir appris Python plus ou moins bien dépendait principalement des capacités cognitives générales
    • Résolution de problèmes
    • Mémoire de travail
  • Le fait d’avoir appris Python plus ou moins vite s’expliquait à la fois par les capacités cognitives générales et l’aptitude linguistique
  • L’aptitude linguistique représentait près de 20 % des écarts de vitesse d’apprentissage de Python
  • Les résultats au prétest de mathématiques n’expliquaient que 2 % des écarts de vitesse d’apprentissage et n’avaient aucune corrélation avec la qualité de l’apprentissage de Python
  • Dans ces résultats, l’apprentissage du code dépend davantage des capacités linguistiques que des aptitudes mathématiques

Ce que l’EEG ajoute comme indice, et ses limites

  • Avant l’apprentissage en ligne, les participants ont passé une mesure d’EEG au repos
  • L’EEG mesure l’activité cérébrale à partir de motifs électriques enregistrés à travers le crâne
  • L’activité électrique au repos présente plusieurs motifs, dont une activité électrique lente appelée oscillations bêta
  • Des travaux antérieurs avaient lié un niveau élevé d’oscillations bêta au repos à l’aptitude à apprendre une seconde langue
  • Dans cette étude aussi, un niveau élevé d’oscillations bêta était associé à un apprentissage plus rapide et à davantage de connaissances en programmation
  • Cependant, la manière dont les oscillations bêta sont liées aux résultats d’apprentissage n’est pas encore claire et nécessite des recherches supplémentaires

Effets sur l’enseignement de la programmation et les idées reçues

  • Les résultats soutiennent l’idée que, dans l’apprentissage de la programmation — au moins de Python — les capacités linguistiques jouent un rôle important, tandis que les compétences en mathématiques ne prédisent pas fortement la vitesse d’apprentissage ni la réussite
  • La programmation est souvent considérée comme un domaine « intensif en mathématiques », mais cette étude invite à réexaminer d’anciennes hypothèses sur les prérequis de l’apprentissage de la programmation
  • Certains domaines exigent à la fois des compétences en mathématiques et en programmation, mais cela ne signifie pas nécessairement qu’ils représentent la majorité des métiers possibles en programmation
  • Exiger des cours de mathématiques avancées pour tous les étudiants en informatique semble inutile au regard de ces résultats, et davantage de flexibilité dans les exigences en mathématiques pourrait aider au recrutement et à la rétention des étudiants
  • Alors que la programmation devient un prérequis pour de nombreux métiers, il peut y avoir des personnes faites pour l’informatique sans être des « profils matheux »

Commentaires sur la diversité et les méthodes pédagogiques

  • Les femmes ont souvent le sentiment de ne pas correspondre à l’image du « programmeur informatique typique »
  • En moyenne, les filles tendent à avoir de meilleures capacités linguistiques que les garçons, et si les capacités linguistiques prédisent la capacité à apprendre la programmation, les femmes pourraient elles aussi être davantage reconnues comme bonnes en programmation
  • Relier explicitement la programmation aux capacités linguistiques et proposer des parcours de formation qui n’exigent pas de mathématiques avancées pourrait contribuer à améliorer la diversité
  • Les options de type bootcamp, qui gagnent rapidement en popularité, peuvent mener à une carrière en programmation sans imposer le calcul différentiel et intégral aux participants
  • Un commentaire d’un pair estime que l’enseignement de la programmation peut trop pencher vers des exercices centrés sur les mathématiques, comme le calcul de nombres de Fibonacci ou l’implémentation d’algorithmes de tri, et que des exercices plus créatifs et orientés langage pourraient aider davantage d’étudiants à apprendre

1 commentaires

 
GN⁺ 2025-05-04
Avis sur Hacker News
  • En lisant réellement l’article, le titre tient presque du clickbait, et les résultats de l’étude sont largement exagérés.
    L’échantillon est très petit, avec seulement 36 personnes ayant terminé l’expérience ; la numératie donne R²=.27, et le langage environ R²=.31.
    Ensuite, les auteurs calculent la contribution à la variance au moyen d’une régression pas à pas, mais cela revient pratiquement à ignorer les résultats précédents et à faire comme si la contribution de la numératie était quasi nulle. La raison est qu’il existe environ 10 % de variance partagée entre les deux variables, et que la régression pas à pas est gloutonne : la variable entrée en premier s’en empare.
    Si l’on ajoutait un autre test linguistique similaire, on pourrait aussi conclure qu’il n’apporte presque aucune variance propre.
    Les mesures elles-mêmes — évaluateurs humains, temps de réalisation, etc. — sont toutes très bruitées, sans aucune tentative de traitement de ce bruit.
    Avec les valeurs présentées, si l’on teste au moyen du test de Steiger l’idée que « l’apprentissage linguistique est plus significatif que la numératie », on obtient une p-value de 0,772, donc rien de significatif.
    Au final, la numératie explique 27 % de la variance et les capacités linguistiques 31 %, mais après ajout d’une variable corrélée, la contribution propre de la numératie tombe simplement à 2 %.

    • Pour être juste, le nuage de points de la numératie ressemble davantage à un jeu de fléchettes qu’à un véritable processus.
      Le fait que la régression produise une pente positive semble aussi fortement influencé par la position de valeurs aberrantes, tandis que le nuage de points de l’aptitude linguistique montre au moins visuellement une relation croissante entre les deux variables.
  • À mon avis, un bon code ne se contente pas de résoudre le problème : il le fait d’une manière lisible et modulaire.
    La partie résolution de problèmes du codage exige des compétences mathématiques, et la partie structuration exige des compétences d’écriture. Un code désordonné devient ensuite difficile à relire ou à étendre, ce qui finit par entraver la résolution du problème elle-même.
    Les longues démonstrations mathématiques exigent aussi des capacités de structuration, mais les mathématiques semblent comporter davantage de « grands sauts » ou de concepts intrinsèquement complexes qu’il est difficile d’atteindre par la seule qualité d’écriture.
    À l’inverse, la programmation comporte beaucoup de « petites étapes » : même sans être exceptionnellement intelligent, on peut créer des programmes impressionnants en construisant patiemment composant par composant, à condition qu’il n’y ait pas trop de dépendances.

    • Dans la majeure partie du code, il faut très peu de mathématiques au-delà de la logique booléenne et d’opérations ensemblistes très élémentaires.
      En pratique, on passe plus de temps à lire des bases de données et des schémas d’interface pour comprendre le comportement qu’à effectuer des manipulations mathématiques.
      Il existe bien des exceptions, comme les moteurs de jeu, mais même en graphisme 3D, il est souvent inutile d’aller au-delà des premiers éléments d’algèbre linéaire.
    • Je ne suis pas vraiment d’accord avec l’idée selon laquelle « un code lisible et modulaire est un bon code ».
      Un code non modularisé est souvent plus lisible et plus rapide, et dans les langages bas niveau ou ceux à gestion manuelle de la mémoire, la meilleure solution, ou la solution correcte, est parfois assez éloignée de la lisibilité.
      La lisibilité dépend de la personne qui regarde, et passe après les exigences formelles.
      Personnellement, je préfère de longues fonctions bien organisées, modularisées au strict minimum. Les frontières entre fichiers, le contexte d’une nouvelle fonction et autres changements de contexte ont été pour moi la principale source de complexité et de bugs lors de la maintenance et de l’extension.
      La modularisation multiplie ces frontières, peut masquer la complexité et rendre les problèmes d’organisation plus difficiles à raisonner et à corriger. Même si une longue fonction est moins lisible au premier abord, elle crée selon moi un modèle mental plus clair et conduit à de meilleures solutions.
    • Je pense que les mathématiciens, comme les programmeurs, recherchent des abstractions propres et composables.
      Contrairement à ce dont les interactions avec d’autres éléments sont complexes, un concept complexe en soi ressemble davantage à un outil sur mesure dans une démonstration qu’à un objet généraliste.
      L’idée que « la programmation comporte beaucoup de petites étapes » est bien formulée. Je me dis souvent qu’une mémoire de travail moyenne peut même aider les programmeurs à écrire du code maintenable.
      Si l’on ne se souvient pas de ce qu’on a écrit il y a trois minutes, on ne peut pas produire du code spaghetti qui fonctionne. Bien sûr, c’est une hypothèse assez autojustificatrice.
    • Écrire un composant à la fois, l’exécuter, vérifier son comportement puis continuer est en soi une compétence que beaucoup de gens ont du mal à acquérir.
      Il en va de même pour éviter les dépendances inutiles entre composants, analyser un problème et trouver les parties séparables.
      Ce qui est frustrant quand on enseigne la programmation, c’est la pression constante de devoir maintenir l’attitude selon laquelle « tout le monde peut forcément apprendre à programmer ».
      Beaucoup de personnes qui veulent apprendre la programmation ont, dès le départ, des motivations confuses ou erronées, et il peut être bien plus efficace pour elles de développer d’autres compétences. Ce n’est pas une question d’élitisme : cela signifie simplement que moi aussi, je peux être incapable de faire des choses qui viennent naturellement à d’autres.
    • Ce qui compte ici, c’est de savoir si les mathématiques dont on parle relèvent de l’abstraction ou du calcul.
      L’effort consistant à faire une longue division mentalement ressemble à celui qui consiste à suivre un code spaghetti obscur.
      On peut devenir rapide et bon en division mentale sans jamais comprendre le théorème fondamental de l’analyse.
      Certaines personnes savent très bien se frayer un chemin dans du code poubelle et, comme elles sont payées pour cela, elles finissent forcément par s’y améliorer, mais on ne sait pas très bien quelle partie de la programmation elles ont vraiment améliorée.
      Quand j’ai l’impression qu’au travail je ne fais que m’exercer à des espèces de longues divisions mentales, je cherche toujours un nouveau poste. Même beaucoup d’argent ne vaut pas le prix du retard que cela fait prendre.
  • L’étude de Prat et al. (2020) suggère certes que, dans l’apprentissage de Python, l’aptitude linguistique est un meilleur prédicteur que les compétences numériques, mais il faut la lire avec prudence, car elle peut facilement être simplifiée à l’excès
    Ce que l’étude a mesuré, c’est la numératie fonctionnelle, c’est-à-dire la capacité à résoudre des problèmes numériques du quotidien. C’est assez différent des mathématiques avancées souvent associées à la programmation, comme la logique formelle, l’abstraction symbolique ou les langages formels
    Ce qui compte pour comprendre la récursion, l’inférence de types ou la conception d’algorithmes, ce n’est pas l’arithmétique de base, mais ces capacités plus abstraites. Donc le faible pouvoir prédictif de la numératie fonctionnelle dans cette étude ne signifie pas que le raisonnement mathématique profond n’a aucun rapport avec la programmation
    Par ailleurs, le langage étudié est Python, conçu pour être lisible et proche du langage naturel. Cela peut avantager les personnes ayant de fortes compétences linguistiques, mais ne se généralise pas forcément à des langages plus denses sur le plan symbolique et logique, comme C, Lisp ou Haskell
    Langage et mathématiques ne sont pas des domaines opposés : ils partagent des bases cognitives comme la mémoire de travail, l’attention exécutive et le traitement des structures hiérarchiques. L’essentiel n’est pas de savoir lequel « gagne », mais comment ils interagissent et se complètent dans différents contextes de programmation

    • Je ne suis pas d’accord avec l’idée que les mathématiques abstraites soient indispensables pour la récursion, l’inférence de types ou la conception d’algorithmes
      Le monde universitaire essaie depuis des décennies de formaliser de nombreux aspects de la programmation, mais il semble toujours ne pas comprendre la faible corrélation entre les diplômés en informatique et les programmeurs innovants
      Dans la réalité, beaucoup de gens qui obtiennent des résultats apprennent la récursion en se heurtant à un mur avec d’autres méthodes, puis en ayant ce moment du type « ah, c’est donc pour ça que la récursion existe ». Pas en étudiant l’abstraction symbolique, la sémantique dénotationnelle ou la théorie des types
      La vérité dérangeante, c’est que la quasi-totalité de la programmation professionnelle et innovante n’utilise pas les mathématiques avancées obligatoires des cursus diplômants
      À mon avis, la dureté de cet enseignement se maintient en grande partie par le « je l’ai fait, donc tu dois le faire aussi » et par le gatekeeping académique
      Quand on devient vraiment très bon en programmation et qu’on entre dans la période la plus productive de sa vie, cela ressemble à un langage. On devient capable de s’exprimer comme si l’on parlait
  • Ces résultats me semblent assez convaincants. J’ai toujours très bien lu, et très vite, et cette capacité m’a été extrêmement utile dans ma carrière de programmeur
    J’avais un score correct de 710 en maths au SAT, mais, à la fin des années 1990, j’ai eu 800/800 à la partie verbale du SAT
    Quand j’ai commencé mon projet de master sur les réseaux de capteurs sans fil, mon directeur a imprimé le code source de TinyOS et m’a dit de l’étudier pendant une semaine, puis de revenir quand je penserais l’avoir suffisamment compris
    Cette expérience a été formatrice, et depuis, chaque fois que je rejoins un nouveau projet, je prends le temps de lire le code et d’essayer de comprendre comment l’ensemble s’articule

    • En tant que personne plutôt forte côté langage, je m’y retrouve. À l’école, j’étais faible en maths à partir de la trigonométrie environ, mais j’étais bon en anglais, en espagnol et en C
      Aujourd’hui, je suis développeur web senior, et je ne suis toujours pas vraiment bon au-delà des maths de base nécessaires au quotidien. Cela dit, grâce à 18 ans dans la restauration, j’approxime les pourcentages assez vite
    • La lecture rapide et les scores verbaux élevés correspondent aussi à mon cas et à celui de bon nombre de mes camarades en informatique ; à l’époque du RTFM, des MUD et d’IRC, avant les LLM et YouTube, c’était une caractéristique que les universités favorisaient activement et vers laquelle les étudiants s’auto-sélectionnaient, d’après ce que j’en sais
      Les meilleurs programmeurs avec qui j’ai travaillé avaient toujours une forte pensée linguistique. Ils maîtrisaient plusieurs langues, même sans en avoir besoin, ou avaient un long passé de lecture de littérature difficile
      À tout le moins, ils avaient une forme d’esprit particulière, métacognitive et métalinguistique
      Je pense que c’est encore vrai aujourd’hui, mais avec la démocratisation des diplômes et des parcours de carrière, c’est devenu plus difficile à repérer dans la nature. En plus, même si, dans la pratique, une bonne conception et la capacité à expliquer sont bien plus souvent nécessaires que de construire des algorithmes à partir de zéro, l’optimisation pour le leetcoding favorise naturellement les cerveaux plus mathématiques
    • Je lisais bien les livres depuis l’enfance, et aux tests, mon raisonnement spatial était très élevé
      Mais je suis nul en maths et je déteste ça. Quand je lis la plupart des textes mathématiques, j’ai l’impression d’être dyslexique
      J’étais bon à l’école primaire, mais dès que l’accent s’est déplacé des algorithmes vers les équations, l’abstrait et des contenus dont je ne voyais pas l’application, j’ai rapidement été frustré
      À l’inverse, la programmation m’a semblé naturelle et facile à apprendre. Quand j’ai étudié des sujets réputés « difficiles » comme les pointeurs ou la récursion, ils m’ont en réalité paru tellement simples que j’ai passé plus de temps à me convaincre que « ça ne peut pas être aussi facile, je dois forcément rater quelque chose »
      Dans chaque poste, j’étais la personne à qui l’on confiait les problèmes « difficiles » ou « bas niveau »
      Quand je dois lire des maths, je ne comprends que si je transforme tout en étapes et que je fais passer des valeurs d’exemple à travers ces étapes pour voir comment elles s’influencent mutuellement. Je dois tout convertir en algorithmes
      Les tentatives d’exprimer du sens avec des équations et des preuves ne me conviennent pas ; je dois transformer une à une les frontières entre tous les symboles en étapes et les parcourir pour commencer à comprendre
      Je pense que la programmation m’a bien convenu parce que la manière dont on y est généralement exposé et dont on l’apprend est centrée sur les algorithmes, avec beaucoup moins d’autres formes d’expression mathématique. Le contexte autour de ce que signifient les variables et les routines est aussi bien plus riche qu’un amas de symboles
      Si Perl est censé être de la bouillie, alors qu’est-ce que l’écriture mathématique ? Comparé au pur charabia d’un adorateur de Cthulhu dont l’esprit est brisé, Perl est ce qu’il y a de plus clair au monde
      Le problème, ce sont les langages qui ont une syntaxe mathématique. Le style idiomatique qui fait tout avec des variables d’une seule lettre et des déclarations d’égalité est difficile à lire, et je suis incapable de lire Haskell
      Des concepts tout aussi délicats, comme les monades ou les classes de types, me paraissent faciles quand je les vois dans un langage plus ordinaire, mais je n’ai jamais réussi à avancer en essayant de les apprendre avec Haskell. Même un programme du niveau de fizzbuzz écrit en Haskell me prend longtemps à comprendre
    • J’ai eu une expérience presque identique avec le SAT. À ceci près que, contrairement à d’autres, j’aime la programmation fonctionnelle et Haskell, et que le fait d’étudier des choses comme les types dépendants dans un contexte de programmation m’a permis de combler ma compréhension approximative des vraies mathématiques et des preuves
    • Je venais dire la même chose, et j’étais prêt à ressortir mes scores SAT des années 1980
      Mon score verbal était nettement plus élevé, et j’ai construit une excellente carrière en génie logiciel sur de grands projets professionnels dans une grande entreprise connue de tous, en utilisant de nombreux langages ensemble
  • Les notions de « cerveau linguistique » ou de « cerveau mathématique » ne tiennent pas, sauf à démontrer expérimentalement que les neurones concernés se répartissent en deux zones distinctes et non chevauchantes, dédiées respectivement au langage et aux mathématiques.
    Les mathématiques elles-mêmes sont aussi un langage formel créé par les humains, et elles partent des définitions et axiomes de la logique et de la théorie des ensembles, mais ces définitions et axiomes doivent eux aussi d’abord être donnés en langage humain.
    Les mathématiciens expérimentés lisent les théorèmes écrits en lettres grecques au tableau comme de l’anglais ordinaire, ce qui suggère qu’ils les pensent comme de l’anglais courant.
    Bien sûr, s’ils le veulent, ils peuvent aussi se représenter mentalement une image visuelle isomorphe à ce langage.

    • La dyscalculie, la dysgraphie et la dyslexie peuvent apparaître indépendamment les unes des autres, ce qui suggère fortement que les mathématiques, la lecture et l’écriture sont régies par des processus différents.
      Les expressions « cerveau linguistique » et « cerveau mathématique » ne sont que des fictions utiles, et savoir s’il s’agit réellement de morceaux de chair différents n’a pas d’importance.
    • « Cerveau linguistique » ou « cerveau mathématique » ne sont évidemment pas des termes scientifiques.
      Mais la plupart des gens conviendront tout de même que résoudre des problèmes, exprimer ses idées avec des mots et exprimer ses idées en mathématiques sont des compétences très différentes.
    • Un autre problème de ce cadrage est la fausse dichotomie implicite. Les meilleurs programmeurs que j’ai rencontrés avaient souvent de fortes aptitudes à la fois en langue et en mathématiques.
      Comme le disait Henri Poincaré, « la poésie est l’art de donner des noms différents à une même chose, et les mathématiques l’art de donner le même nom à des choses différentes » ; au fond, je pense que c’est surtout proche de la capacité à bien nommer les choses, en particulier les abstractions.
    • Je pense plutôt que la différence entre pensée abstraite et pensée concrète peut être plus importante.
      Cela dit, d’après mon expérience, le SAT d’il y a 20 ans traitait aussi beaucoup d’abstractions dans la partie verbale, comme les analogies, et la partie mathématique était similaire. À un examen que j’ai passé une fois, j’ai eu 660 en verbal et 650 en maths, presque pareil.
    • Les suites d’un traumatisme cérébral peuvent fournir de bons indices, car certaines personnes perdent étrangement des fonctions précises.
      Oliver Sacks a écrit sur les effets secondaires étranges des traumatismes cérébraux.
      On pourrait aussi provoquer des lésions dans différentes parties du cerveau de mathématiciens ou d’écrivains pour expérimenter, mais la stimulation nerveuse ou l’anesthésie de zones cérébrales pourrait déjà montrer quelque chose.
  • Cette affirmation est étrange à plusieurs égards. Je ne pense pas qu’il existe des entités comme un « cerveau linguistique » ou un « cerveau mathématique », mais en même temps beaucoup de gens ne savent pas ce que sont les mathématiques, et cette preuve pourrait au contraire être vue comme allant dans le sens du « cerveau mathématique ».
    Les mathématiques ne portent pas sur le calcul, mais sur les motifs. Quand on arrive à l’algèbre, on se dit « pourquoi y a-t-il des lettres en maths ? », mais en allant plus loin, on finit par se demander « pourquoi y a-t-il des nombres en maths ? ».
    La grande tragédie de l’enseignement des mathématiques est qu’il se concentre trop sur le calcul. Des sujets utiles comme la théorie des groupes, la combinatoire, les graphes, la théorie des ensembles ou la théorie des catégories ont des bases que même des enfants peuvent comprendre, mais on ne les enseigne qu’en licence de mathématiques, voire en master ou doctorat.
    Ces sujets ont une profondeur immense, mais une grande partie de ce qui formalise une manière de penser est compréhensible par des enfants. À titre d’exemple, je recommande Visual Group Theory[0].
    Les mathématiques portent sur l’abstraction, et pourtant, bizarrement, nous la réservons pour la « fin de partie ».
    Je peux affirmer avec certitude que comprendre ce genre de choses accélère l’apprentissage et influence profondément la manière de penser. Mais il faut prendre ces abstractions au sérieux, et ne pas se limiter soi-même en les considérant comme des outils destinés uniquement à des applications particulières.
    Beaucoup de gens ont du mal avec les problèmes en contexte, mais même dans une situation absurde où le cousin Throckmorton veut acheter 500 pastèques, cela fait finalement partie du lien entre les maths et la réalité.
    Si les mathématiques « avancées » ont accéléré mon apprentissage, c’est parce que les mathématiques à ce niveau enseignent l’abstraction, autrement dit une manière de penser. Même sans écrire d’équations, c’est extrêmement utile.
    Les mathématiques ne consistent pas vraiment à écrire des équations, mais quand les choses deviennent complexes, les équations aident beaucoup, et c’est pour cela qu’on les utilise.
    [0] https://www.youtube.com/watch?v=UwTQdOop-nU&list=PLwV-9DG53N...

    • Il m’a fallu longtemps pour comprendre que les mathématiques sont faites d’abstractions.
      Par exemple, je n’avais jamais entendu dire que les matrices étaient une abstraction utile, ou une notation condensée, pour représenter des équations linéaires.
      Même chose pour les nombres imaginaires : ce sont des abstractions inventées pour faciliter certains calculs.
      J’aurais aimé les apprendre sous l’angle de la forme que prennent ces abstractions et de leur utilité.
    • Si l’on enseignait la musique comme on enseigne actuellement les mathématiques, il ne serait pas étonnant que les gens « soient nuls en maths ».
      « En cours de musique, on sort une portée, et quand le professeur écrit des notes au tableau, nous les recopions ou les transposons dans une autre tonalité. Il faut écrire correctement les clefs et les armures, et le professeur vérifie de très près que les noires sont entièrement remplies. Une fois, j’ai trouvé la bonne réponse à un exercice chromatique, mais je n’ai pas eu de points parce que la direction de la hampe était mauvaise. »
      https://en.m.wikipedia.org/wiki/A_Mathematician%27s_Lament
    • L’expression employée ici semble simplement désigner « les zones du cerveau activées lorsqu’on traite des problèmes mathématiques » et « les zones du cerveau activées lorsqu’on traite des problèmes linguistiques », et il existe des preuves solides d’une différence entre les deux.
    • Je parierais qu’enseigner aux enfants des mathématiques pures comme la théorie des groupes, l’algèbre abstraite, la notation grand O ou la combinatoire leur serait bien plus utile et les mènerait beaucoup plus loin que le calcul infinitésimal ou la géométrie qu’ils apprennent à l’école.
      Moi aussi, en apprenant l’algèbre abstraite en autodidacte, j’ai eu l’impression que mes capacités d’apprentissage et de raisonnement s’accéléraient.
    • Si je me fie seulement à mon expérience dans un lycée des années 2000, le fait que les classes de maths soient si finement segmentées semblait signifier soit que nous enseignions vraiment mal les maths à 80 % des gens, soit que seuls 20 % étaient capables de suivre le pré-calcul.
      Il y avait essentiellement quatre filières : l’une terminait l’algèbre 1 en terminale, une autre faisait de la trigonométrie en terminale, une troisième allait aussi jusqu’à la trigonométrie mais sans pré-calcul, et seule la dernière allait jusqu’à la trigonométrie et au pré-calcul.
      Cette dernière classe était elle-même subdivisée : certains ne faisaient que le pré-calcul, certains passaient le calcul différentiel et intégral 1 avec AP Calculus AB ou IB Math SL, et un groupe plus restreint passait AP Calculus BC ou IB Math HL.
      Dans ma promotion, environ 20 élèves sur 500 à 600 diplômés ont passé l’examen AP Calculus AB.
  • L’expression « compétences linguistiques et capacité de résolution de problèmes » est déjà un premier signal d’alerte. Le titre transforme ça en une question qui ne porterait que sur la langue
    Que la capacité de résolution de problèmes soit liée paraît assez évident, mais le rôle du langage est moins clair
    J’ai programmé la majeure partie de ma vie, mais je ne me considère pas comme quelqu’un de très éloquent. Mes compétences linguistiques sont correctes sans plus, et apprendre une nouvelle langue naturelle me semble peu probable
    Je suis donc sceptique, et en regardant l’étude, on voit d’abord que les « mathématiques » y deviennent de la numératie. Je pense que la programmation est plus proche de l’algèbre, mais même là, elle est moins stricte et plus facile à déboguer
    La mesure de numératie de l’étude était une échelle fondée sur Rasch : 18 questions de numératie issues de plusieurs échelles ont été évaluées, puis les 8 plus prédictives ont été retenues
    En plus, cette étude repose désormais sur des données vieilles de 5 ans

    • Pour moi, la capacité de résolution de problèmes revient presque à la capacité d’exprimer clairement le problème et la solution. Je ne vois pas de grande différence
      Si quelqu’un peut résoudre un problème mais ne peut pas expliquer ce qu’est le problème, ni pourquoi sa solution le résout, il est difficile de l’appeler un bon résolveur de problèmes
      Quelqu’un qui décrit bien un problème mais ne trouve pas de solution est déjà meilleur que beaucoup de programmeurs dans le monde, et je préférerais travailler avec lui plutôt qu’avec quelqu’un qui balance une solution sans « démarche »
      En fait, sans cette capacité d’expression, il est même difficile de saisir ce qu’est la résolution de problèmes dans un sens primitif
      Dans ce contexte, la créativité pourrait être la capacité à reformuler un problème de manière plus accessible. Dans bien des cas, ce cadrage suggère une solution évidente ou un ensemble de solutions aux compromis clairs
  • J’ai observé une corrélation assez intéressante entre les personnes qui apprennent bien la programmation et celles qui réussissent bien les concours d’orthographe en anglais
    Les deux semblent similaires dans le fait d’exécuter un processus algorithmique tout en gardant en tête beaucoup d’anecdotes et d’exceptions obscures aux règles

    • Je me demande si la personne était enseignante ou organisait des concours d’orthographe, et si elle a produit des statistiques suffisamment sérieuses pour distinguer cela de la corrélation avec l’intelligence générale. J’aimerais savoir d’où vient cette preuve anecdotique
    • Il y avait un professeur d’informatique qui écrivait vraiment très mal, et les étudiants le taquinaient beaucoup, gentiment
    • Moi aussi, je retiens naturellement bien l’orthographe anglaise, donc ça se tient
      Mon cerveau semble adapté au stockage et à la récupération de ce type de données, ce qui est aussi fortement corrélé à des choses comme les interfaces CLI et les structures de commandes particulières
  • Je considère fortement que définir un « cerveau linguistique » et un « cerveau mathématique » relève d’une fausse dichotomie et d’une mauvaise neuroscience
    Les mathématiques sont elles-mêmes un ensemble de symboles créé pour exprimer des concepts, autrement dit un langage
    Cette étude donne l’impression de s’efforcer de dire ce que la plupart des gens savent déjà : avec de l’intérêt, de la motivation et des opportunités, n’importe qui peut devenir un bon programmeur, mathématicien, ou autre
    Un livre intéressant sur l’évolution de la perception sociale des mathématiciens, et plus largement des informaticiens, est « Duel at Dawn »
    L’image moderne, relativement récente, est celle du génie reclus doté de capacités extraterrestres, surhumaines et innées pour traiter les nombres et l’information, parfois avec des sous-entendus d’autisme. Un archétype serait « Sheldon Cooper » dans la série TV « the big bang theory »
    Mais c’est faux
    Personne ne naît avec une capacité surhumaine à exceller dans quoi que ce soit. Ceux qui deviennent très bons dans un domaine sont, indépendamment de la perception qu’on en a, des gens qui ont travaillé extrêmement dur pour y parvenir
    Au début, je critiquais l’étude uniquement à partir de l’article, mais après avoir parcouru l’article cité lui-même, j’ai révisé mes critiques spécifiques. Cela dit, l’article scientifique lui-même ne me semble guère être plus qu’un faible argument eugéniste emballé dans du jargon de psychologie et de statistiques

    • Je ne vois pas l’eugénisme ; tu peux citer le passage ?
  • L’article est extrêmement trompeur, au point que j’ai presque envie de dire qu’il est malveillant
    L’étude elle-même indique que le raisonnement fluide et la capacité de mémoire de travail expliquent 34 %, l’aptitude linguistique 17 %, la puissance des bandes bêta et gamma basse de l’EEG au repos 10 %, et la numératie 2 %
    Mais ici, on assimile les compétences en mathématiques à la numératie. L’étude elle-même le suggère aussi, mais je ne suis fondamentalement pas d’accord
    À mon avis, les compétences en mathématiques sont bien plus proches du raisonnement fluide que de la numératie