• Home
  • Chimie
  • Astronomie
  • Énergie
  • La nature
  • Biologie
  • Physique
  • Électronique
  •  science >> Science >  >> Autres
    Vous n'êtes pas matheux ? Vous apprendrez peut-être mieux à coder que vous ne le pensez

    Les compétences linguistiques sont un prédicteur plus fort de la capacité de programmation que les connaissances en mathématiques, selon une nouvelle étude de l'Université de Washington. Ici, La co-auteure de l'étude, Malayka Mottarella, démontre le codage en Python tout en portant un casque spécialisé qui mesure l'activité électrique dans le cerveau. Crédit :Justin Abernethy/U. de Washington

    Envie d'apprendre à coder ? Pose le livre de maths. Pratiquez plutôt ces compétences de communication.

    Une nouvelle recherche de l'Université de Washington révèle qu'une aptitude naturelle à l'apprentissage des langues est un prédicteur plus fort de l'apprentissage de la programmation que les connaissances mathématiques de base, ou la numératie. C'est parce qu'écrire du code, c'est aussi apprendre une seconde langue, une capacité à apprendre le vocabulaire et la grammaire de cette langue, et comment ils travaillent ensemble pour communiquer des idées et des intentions. D'autres fonctions cognitives liées aux deux domaines, comme la résolution de problèmes et l'utilisation de la mémoire de travail, jouent également des rôles clés.

    "De nombreux obstacles à la programmation, des cours préalables aux stéréotypes sur ce à quoi ressemble un bon programmeur, sont centrés sur l'idée que la programmation repose fortement sur les capacités mathématiques, et cette idée n'est pas née dans nos données, " a déclaré l'auteur principal Chantel Prat, professeur agrégé de psychologie à l'UW et à l'Institute for Learning &Brain Sciences. "Apprendre à programmer est difficile, mais est de plus en plus important pour obtenir des postes qualifiés sur le marché du travail. Les informations sur ce qu'il faut pour être bon en programmation font cruellement défaut dans un domaine qui a été notoirement lent à combler l'écart entre les sexes. »

    Publié en ligne le 2 mars dans Rapports scientifiques , une revue en libre accès du Nature Publishing Group, la recherche a examiné les capacités neurocognitives de plus de trois douzaines d'adultes alors qu'ils apprenaient Python, un langage de programmation commun. Suite à une batterie de tests pour évaluer leur fonction exécutive, compétences linguistiques et mathématiques, les participants ont complété une série de leçons et de quiz en ligne en Python. Ceux qui ont appris Python plus rapidement, et avec une plus grande précision, avaient tendance à avoir un mélange de solides capacités de résolution de problèmes et de langues.

    Dans le monde d'aujourd'hui axé sur les STIM, apprendre à coder ouvre une variété de possibilités d'emplois et d'éducation prolongée. Le codage est associé aux mathématiques et à l'ingénierie; les cours de programmation de niveau collégial ont tendance à exiger des mathématiques avancées pour s'inscrire et ils ont tendance à être enseignés dans les départements d'informatique et d'ingénierie. D'autres recherches, à savoir du professeur de psychologie UW Sapna Cheryan, a montré que de telles exigences et perceptions du codage renforcent les stéréotypes sur la programmation en tant que domaine masculin, décourageant potentiellement les femmes de le poursuivre.

    Mais le codage a également une base dans le langage humain :la programmation consiste à créer du sens en enchaînant des symboles selon des règles.

    Bien que quelques études aient abordé les liens cognitifs entre l'apprentissage des langues et la programmation informatique, certaines données datent de plusieurs décennies, en utilisant des langages comme le Pascal qui sont maintenant obsolètes, et aucun d'entre eux n'a utilisé des mesures d'aptitude au langage naturel pour prédire les différences individuelles dans l'apprentissage de la programmation.

    Alors Prat, qui se spécialise dans les prédicteurs neuronaux et cognitifs de l'apprentissage des langues humaines, a entrepris d'explorer les différences individuelles dans la façon dont les gens apprennent Python. Python était un choix naturel, Prat a expliqué, car il ressemble à des structures anglaises telles que l'indentation de paragraphe et utilise de nombreux mots réels plutôt que des symboles pour les fonctions.

    Évaluer les caractéristiques neuronales et cognitives de « l'aptitude à la programmation, " Prat a étudié un groupe d'anglophones natifs âgés de 18 à 35 ans qui n'avaient jamais appris à coder.

    Ce graphique montre comment les compétences des participants à l'étude, comme la numératie et les aptitudes linguistiques, contribuer à l'apprentissage de Python. D'après le graphique, la cognition et l'aptitude au langage sont de meilleurs prédicteurs de l'apprentissage que la numératie. Crédit :Prat et al./Rapports scientifiques

    Avant d'apprendre à coder, les participants ont subi deux types d'évaluations complètement différents. D'abord, les participants ont subi un examen électroencéphalographique de cinq minutes, qui a enregistré l'activité électrique de leur cerveau alors qu'ils se détendaient les yeux fermés. Dans des recherches antérieures, Prat a montré que les modèles d'activité neuronale pendant que le cerveau est au repos peuvent prédire jusqu'à 60 % de la variabilité de la vitesse à laquelle une personne peut apprendre une deuxième langue (dans ce cas, Français).

    "Finalement, these resting-state brain metrics might be used as culture-free measures of how someone learns, " Prat said.

    Then the participants took eight different tests:one that specifically covered numeracy; one that measured language aptitude; and others that assessed attention, problem-solving and memory.

    To learn Python, the participants were assigned 10 45-minute online instruction sessions using the Codeacademy educational tool. Each session focused on a coding concept, such as lists or if/then conditions, and concluded with a quiz that a user needed to pass in order to progress to the next session. For help, users could turn to a "hint" button, an informational blog from past users and a "solution" button, in that order.

    From a shared mirror screen, a researcher followed along with each participant and was able to calculate their "learning rate, " or speed with which they mastered each lesson, as well as their quiz accuracy and the number of times they asked for help.

    After completing the sessions, participants took a multiple-choice test on the purpose of functions (the vocabulary of Python) and the structure of coding (the grammar of Python). For their final task, they programmed a game—Rock, Papier, Scissors—considered an introductory project for a new Python coder. This helped assess their ability to write code using the information they had learned.

    Finalement, researchers found that scores from the language aptitude test were the strongest predictors of participants' learning rate in Python. Scores from tests in numeracy and fluid reasoning were also associated with Python learning rate, but each of these factors explained less variance than language aptitude did.

    Presented another way, across learning outcomes, participants' language aptitude, fluid reasoning and working memory, and resting-state brain activity were all greater predictors of Python learning than was numeracy, which explained an average of 2% of the differences between people. Surtout, Prat also found that the same characteristics of resting-state brain data that previously explained how quickly someone would learn to speak French, also explained how quickly they would learn to code in Python.

    "This is the first study to link both the neural and cognitive predictors of natural language aptitude to individual differences in learning programming languages. We were able to explain over 70% of the variability in how quickly different people learn to program in Python, and only a small fraction of that amount was related to numeracy, " Prat said. Further research could examine the connections between language aptitude and programming instruction in a classroom setting, or with more complex languages such as Java, or with more complicated tasks to demonstrate coding proficiency, Prat said.


    © Science https://fr.scienceaq.com