• Home
  • Kemi
  • Astronomien
  • Energi
  • Naturen
  • Biologi
  • Fysik
  • Elektronik
  •  science >> Vetenskap >  >> Andra
    Inte en matteperson? Du kanske är bättre på att lära dig koda än du tror

    Språkkunskaper är en starkare prediktor för programmeringsförmåga än matematikkunskaper, enligt en ny studie från University of Washington. Här, studiens medförfattare Malayka Mottarella demonstrerar kodning i Python medan hon bär ett specialiserat headset som mäter elektrisk aktivitet i hjärnan. Kredit:Justin Abernethy/U. av Washington

    Vill du lära dig koda? Lägg ner matteboken. Öva dessa kommunikationsförmåga istället.

    Ny forskning från University of Washington finner att en naturlig förmåga att lära sig språk är en starkare prediktor för att lära sig programmera än grundläggande matematikkunskaper, eller räknekunskap. Det beror på att skriva kod också innebär att lära sig ett andra språk, en förmåga att lära sig språkets ordförråd och grammatik, och hur de arbetar tillsammans för att kommunicera idéer och avsikter. Andra kognitiva funktioner knutna till båda områdena, som problemlösning och användning av arbetsminne, spelar också nyckelroller.

    "Många hinder för programmering, från förkunskapskurser till stereotyper av hur en bra programmerare ser ut, är centrerade kring idén att programmering är starkt beroende av matematiska förmågor, och den idén föds inte i våra data, " sa huvudförfattaren Chantel Prat, en docent i psykologi vid UW och vid Institute for Learning &Brain Sciences. "Det är svårt att lära sig programmera, men är allt viktigare för att få kvalificerade positioner i arbetskraften. Information om vad som krävs för att bli bra på programmering saknas kritiskt inom ett område som har varit notoriskt långsamt med att minska könsgapet."

    Publicerad online 2 mars in Vetenskapliga rapporter , en tidskrift med öppen tillgång från Nature Publishing Group, forskningen undersökte de neurokognitiva förmågorna hos mer än tre dussin vuxna när de lärde sig Python, ett vanligt programmeringsspråk. Efter ett antal tester för att bedöma deras verkställande funktion, språk- och matematikkunskaper, deltagarna genomförde en serie onlinelektioner och frågesporter i Python. De som lärde sig Python snabbare, och med större noggrannhet, tenderade att ha en blandning av stark problemlösning och språklig förmåga.

    I dagens STEM-fokuserade värld, Att lära sig koda öppnar upp för en mängd möjligheter till jobb och utökad utbildning. Kodning förknippas med matematik och ingenjörskonst; Programmeringskurser på högskolenivå tenderar att kräva avancerad matematik för att registrera sig och de tenderar att undervisas vid datavetenskap och ingenjörsavdelningar. Annan forskning, nämligen från UW psykologiprofessor Sapna Cheryan, har visat att sådana krav och uppfattningar om kodning förstärker stereotyper om programmering som ett maskulint område, potentiellt avskräcka kvinnor från att fortsätta det.

    Men kodning har också en grund i mänskligt språk:Programmering innebär att skapa mening genom att stränga ihop symboler på regelbaserade sätt.

    Även om några studier har berört de kognitiva kopplingarna mellan språkinlärning och datorprogrammering, vissa av uppgifterna är decennier gamla, använder språk som Pascal som nu är inaktuella, och ingen av dem använde naturliga språkbegåvningsmått för att förutsäga individuella skillnader i att lära sig programmera.

    Så Prat, som är specialiserad på neurala och kognitiva prediktorer för att lära sig mänskliga språk, försökte utforska de individuella skillnaderna i hur människor lär sig Python. Python var ett naturligt val, Prat förklarade, eftersom det liknar engelska strukturer som styckeindrag och använder många riktiga ord snarare än symboler för funktioner.

    För att utvärdera de neurala och kognitiva egenskaperna hos "programmeringsförmåga, " Prat studerade en grupp engelska som modersmål mellan 18 och 35 år som aldrig hade lärt sig att koda.

    Denna graf visar hur kunskaperna hos studiedeltagare, som räknekunskap och språklig förmåga, bidra till inlärningen av Python. Enligt grafen, kognition och språklig förmåga är större prediktorer för inlärning än räknekunskap. Kredit:Prat et al./Scientific Reports

    Innan du lär dig koda, deltagarna gjorde två helt olika typer av bedömningar. Först, deltagarna genomgick en fem minuters elektroencefalografiskanning, som registrerade den elektriska aktiviteten i deras hjärnor när de slappnade av med slutna ögon. I tidigare forskning, Prat visade att mönster av neural aktivitet medan hjärnan är i vila kan förutsäga upp till 60 % av variationen i den hastighet med vilken någon kan lära sig ett andra språk (i så fall, franska).

    "I sista hand, 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, Paper, Scissors—considered an introductory project for a new Python coder. This helped assess their ability to write code using the information they had learned.

    I sista hand, 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. Viktigt, 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.


    © Vetenskap https://sv.scienceaq.com