element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet & Tria Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • About Us
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      • Japan
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Vietnam
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Business of Engineering
  • Technologies
  • More
Business of Engineering
Blog Study finds you can learn coding without being good at math
  • Blog
  • Forum
  • Documents
  • Quiz
  • Events
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Business of Engineering to participate - click to join for free!
  • Share
  • More
  • Cancel
Group Actions
  • Group RSS
  • More
  • Cancel
Engagement
  • Author Author: Catwell
  • Date Created: 6 Mar 2020 5:22 PM Date Created
  • Views 1031 views
  • Likes 6 likes
  • Comments 3 comments
  • coding
  • business of engineering
  • python
  • human
  • study
  • cabeatwell
  • engineering_life
Related
Recommended

Study finds you can learn coding without being good at math

Catwell
Catwell
6 Mar 2020

image

Language skills can help a user learn to code, rather than numeracy, since programming is similar to learning a new language. (Image Credit: Justin Abernethy/U. of Washington)

 

Anyone who wants to learn to code won’t need to rely as much on mathematical or engineering skills, but instead, on problem-solving and language skills. Researchers at the University of Washington discovered that people with a natural aptitude for learning languages have a better understanding of programming than those who have basic math knowledge or numeracy skills. That’s mainly because programming is equivalent to learning a second language, which involves vocabulary and grammar, and how they work together to communicate ideas. Problem-solving skills and working memory also contribute to the effectiveness of coding. The researchers published their findings in Nature’s Scientific Reports journal on March 2, 2020.

 

“Many barriers to programming, from prerequisite courses to stereotypes of what a good programmer looks like, are centered around the idea that programming relies heavily on math abilities, and that idea is not born out in our data,” said Chantel Prat, an associate professor of psychology at the UW and at the Institute for Learning & Brain Sciences. “Learning to program is hard, but is increasingly important for obtaining skilled positions in the workforce. Information about what it takes to be good at programming is critically missing in a field that has been notoriously slow in closing the gender gap.”

 

The study observed neurocognitive abilities of over three dozen adults as they learned Python, while undergoing a battery of tests that assessed their language and math skills, resting brain activity, attention to problem-solving, and memory. Participants who learned Python quickly and more accurately have a mix of strong problem-solving and language, along with good memory and reasoning abilities.

 

Their discoveries have considerable implications in today’s STEM programs, which tend to exclude those who have strong language skills. Since coding is mainly associated with math and engineering, college-level programming courses require advanced math to enroll, which is usually taught in computer science and engineering departments.

 

To assess cognitive and neural characteristics of programming aptitude, Prat observed a group of native English speakers who hadn’t learned to code before.

 

Before learning to code, each participant underwent two different assessments. The first one involved a 5-minute electroencephalography scan, which recorded their brain’s electrical activity in a relaxed state with their eyes closed. Research conducted in the past showed that while the brain is at rest, patterns of neural activity can predict 60% of the same speed as someone learning a second language.  “Ultimately, these resting-state brain metrics might be used as culture-free measures of how someone learns,” Prat said.

 

Afterward, the participants underwent an additional eight tests. One test was numeracy-focused, one specified in measuring language aptitude, and the remaining assessed their problem-solving, attention, and memory.

 

The participants were given ten 45-minute online sessions, which focused on a programming concept, such as if/then conditions or lists. Users were then given a quiz they were to pass so they could advance to the next session. They could also ask for help by using a “hint” button, a blog from previous users, and a “solution” button.

 

A researcher, from a shared screen, then observed each participant and determined how quickly they were able to successfully complete each lesson, as well as how often they requested help and their quiz accuracy. When they finished all their sessions, users completed a multiple-choice quiz on the purpose of functions and the structure of coding. Their final task was to program a rock, paper, scissors game, which helped to observe how they were able to write code from the information they learned.

 

Overall, researchers discovered the scores from the language aptitude test were the strongest predictors of the users’ learning rate in Python. Numeracy and fluid reasoning test scores were also linked with the Python learning rate, but these factors showed less variance than the language aptitude.

 

”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.

 

Additional research could also explore connections between language aptitude and programming instruction in a classroom, or with different programming languages, like Java, or with more difficult tasks to show programming proficiency.

 

Have a story tip? Message me at: cabe(at)element14(dot)com

http://twitter.com/Cabe_Atwell

  • Sign in to reply

Top Comments

  • DAB
    DAB over 5 years ago +2
    It all depends upon what you call math. I call logic math. If you do not understand logic, you will not be a successful programmer. Yes, you can cookie cut code and make things work, but you will be clueless…
  • rstone
    rstone over 5 years ago in reply to DAB +2
    I agree that logic is a part of math. I wonder, and this is coming from a place of not knowing much programming, if the results of this study are skewed by the use of a more "language like" programming…
  • dubbie
    dubbie over 5 years ago in reply to rstone +2
    Having taught programming and computing for more years than I can remember my experience is that higher mathematical skills are not important, being systematic and able to view problems from a more abstract…
  • dubbie
    dubbie over 5 years ago in reply to rstone

    Having taught programming and computing for more years than I can remember my experience is that higher mathematical skills are not important, being systematic and able to view problems from a more abstract point of view are more useful. It may be that mathematics promotes systematic and abstract thinking but so do many other avenues, such as languages and art. I taught on a scheme many years ago in the late 1980 which was designed to retrain unemployed non-engineers into computing and electronics. They all had degrees but in no science/engineering areas. They were just as good at computing and electronics as those doing it for a full degree. They lacked some of the background and wider knowledge but provided they had drive and a work ethic they did OK. We only got new contract if the previous cohort had high employment levels after finishing and we had many contracts.

     

    Dubbie

    • Cancel
    • Vote Up +2 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • rstone
    rstone over 5 years ago in reply to DAB

    I agree that logic is a part of math. I wonder, and this is coming from a place of not knowing much programming, if the results of this study are skewed by the use of a more "language like" programming language than a more technical, numbers based one? Does that make sense?

     

    Rick

    • Cancel
    • Vote Up +2 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • DAB
    DAB over 5 years ago

    It all depends upon what you call math.

     

    I call logic math. If you do not understand logic, you will not be a successful programmer.

     

    Yes, you can cookie cut code and make things work, but you will be clueless on how to figure out why a given program does not work the way it should.

     

    So I would be VERY careful about saying you do not need to understand math to program. It misleads people into thinking they can do more than they should.

     

    DAB

    • Cancel
    • Vote Up +2 Vote Down
    • Sign in to reply
    • More
    • Cancel
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube