The following article is reposted from https://drpam.substack.com/p/why-kids-should-learn-to-code-despite?r=1ffgg&utm_campaign=post&utm_medium=web&triedRedirect=true with express permission from the author.
Key Points
Coding nurtures problem-solving and creativity in kids.
Young coders gain early math and literacy foundations through non-tech play.
Middle childhood coding bolsters logical and team skills.
Teen coding fosters advanced problem-solving abilities.
What We Can Learn
It's not about the tools, it's the people that matter
Understanding data structures, algorithms, and programming languages is essential for ethical oversight in an AI-driven future
Coding is a digital literacy that keeps us from unquestioningly accepting technology design as inevitable
During last year’s Abundance Summit, Emad Mostaque, CEO of Stability AI, said we would have “no more humans coding in 5 years.” This is circulating on social again, maybe because AI is “smarter” now or maybe because ChatGPT qualified for a Level 3 Engineer in the Google Coding Interview. Whatever. The idea of coding being no longer useful is catching on since what's the point of competing if AI will soon outperform humans’ programming abilities? Business Insider even went so far as to list the top 10 jobs ChatGPT will replace.
I would expect software engineering jobs to be different in 10 years. Wouldn’t you? Tools evolve. But unless you're a technological determinist, you must allow that people evolve, too. Neither negates the value of the fundamental skills people learn from coding. This isn't a speed game. It's a thinking game. The quality of output on ChatGPT is entirely due to the quality and specificity of the prompts, the ability of a subject-matter expert to review what are sometimes dubious conclusions, not to mention a knowledgeable manager who can keep a team working together and moving forward.
Next week, CodeNinja’s education director, Bill Marsland, will join me and my colleague Diana Graber for our monthly Cyberwise Chat to talk about the value of coding. I’m curious to hear how he sees the landscape, considering the concerns over AI replacing human coders.
Coding: What is it Good For?
Is coding a necessary competency that kids need to learn? Or has the specter of AI on the horizon and some grim prognostications, made you question if signing your kid up for summer coding camp is even relevant? The doomsayers argue that since AI can code better than a human, human coders won’t be needed. That’s baby-and-bath-water logic. It overlooks two things: 1) there are lifelong benefits of learning to code that have nothing to do with writing code, and 2) an increasingly AI-driven world means a greater need for informed ethical oversight.
I once took a Ceramics class. I was awful at it. I couldn’t center and throw a pot to save my soul. However, I learned a lot about what makes a beautiful piece, making me a more informed observer and critic. The point of encouraging your child to learn coding isn't so they can have a career as a computer programmer or compete with ChatGPT to write Javascript. The purpose of teaching coding to kids is to support their cognitive and psychosocial development by teaching them new ways of thinking about problems and projects and turning them into knowledgeable observers and critics.
Coding Teaches Computational Thinking
Coding is a way of solving problems of all kinds. It fosters computational thinking, enabling individuals to break down complex problems into manageable parts, identify patterns, and devise efficient solutions that can be applied to real-world applications, such as a science fair project, an online portfolio, an app that supports community recycling, animations, or building a game.
Beyond computational thinking, coding cultivates creativity and spatial reasoning, as coders must imagine and construct digital worlds and functions from scratch. Coding also promotes resilience, self-esteem, and adaptability, as it involves constant learning from mistakes, debugging, and refining ideas to reach a goal (Hippler, 2017).
Coding Activities Adapt to a Child’s Development
Coding is not a one-size-fits-all activity. The level and complexity of coding activities evolve in keeping with a child’s development and interest. Coding activities can be introduced at a very young age without involving any technology—pattern recognition, the order of things, cause and effect. These are foundational skills that support their overall educational development. These skills are at the core of Montessori programs for young children and Waldorf activities such as food preparation, gardening, and movement.
Research shows that while all students—even preschoolers—can master foundational coding concepts, there are marked differences in comprehension, which suggests a developmental progression inherent in programming knowledge acquisition (Somuncu & Aslan, 2022). Here are some interesting findings about kids and coding by age group:
Coding for Ages 4-7: Laying the Foundation
Young children are naturally curious and eager to learn. Coding, when introduced through play and storytelling, can significantly enhance their cognitive development. Many coding activities for young children focus on tangible objects, not technology, allowing children to physically manipulate objects to understand relationships and connections. Bers et al. (2014) found that kindergartners were both interested in and able to learn many aspects of robotics, programming, and computational thinking with the developmentally appropriate robotics curriculum.
For ages 5-7, tablet applications like ScratchJr offer a playful introduction to coding, enabling kids to create their own stories and games by connecting blocks of code. Using simple coding images allows children to express themselves through digital storytelling (Strawhacker & Bers, 2019).
Integrating coding with play in early childhood education reinforces foundational math and literacy skills, laying the groundwork for more advanced learning. Children learn to approach problems logically and sequentially (Bers et al., 2014). For example, Bee-Bots are small, programmable, rechargeable robots that teach young children through play by giving simple commands that the Bee-Bots follow, such as moving forward or turning. Hopscotch played with coding symbol cards reinforces sequencing and cause and effect -- what happens when you change the card order.
Children exposed to age-appropriate coding activities showed higher mathematical reasoning skills (Somuncu & Aslan, 2022). Early coding challenges also teach kids the value of patience and perseverance, the search for solutions through trial and error as part of the process rather than making and fixing "mistakes."
Coding for Ages 8-12: Building Blocks of Innovation
As children transition into middle childhood, coding activities start to include learning computer programming languages. The complexity of coding projects increases, fostering deeper engagement with computational thinking. Grover and Pea (2013) emphasized the role of block-based coding environments in enhancing logical reasoning and problem decomposition skills in programs like Scratch and Tynker. Fifth graders used Scratch to create an interactive story that explained the water cycle, learning about earth science while also developing an understanding of sequencing and cause-and-effect in programming. Thompson and Childers (2021) found that coding using Google’s CS First Storytelling Lessons improved a different group of fifth graders’ writing assessments and stamina.
As with younger kids, these coding experiences strengthen logical thinking. Children develop an understanding of algorithms as sets of rules that determine actions, and they learn how data can be represented and manipulated in different forms, which is crucial for mathematical and scientific reasoning. Coding projects often involve teamwork, promoting social skills and collective problem-solving (Denner et al., 2012). Applying coding to solve real-world problems in math and science classes deepens understanding and retention of academic content (Ozcan et al., 2021).
Ages 13-18: Preparing for the Future
For adolescents, coding becomes an avenue for exploring more sophisticated programming concepts and technologies. Margolis and Fisher (2002) stressed the importance of high school computer science education in developing critical thinking for opening pathways and breaking down gender barriers to STEM careers by challenging sociocultural stereotypes and increasing self-efficacy. Programming experience is also related to increased neural efficiency in problem-solving tasks (Helmlinger et al., 2020).
Coding in games like Minecraft and Roblox is a fun way for kids to engage with games they love while creating mods (modifications) or entire game experiences they can publish and share with other players. Game coding education has also been shown to mitigate problematic gaming by improving adolescents' self-esteem (Chung et al., 2023).
High school students benefit from taking their coding projects out into the community, such as participating in hackathons dedicated to using technology to solve pressing societal issues, such as systemic racism, mental illness, and climate change, or, more locally, a school’s carbon footprint. This not only teaches them programming skills but also demonstrates how these skills can be applied to real-world problems.
Science and mathematics are increasingly becoming computational endeavors, as reflected in the inclusion of "computational thinking" in the Next Generation Science Standards as a core scientific practice. The problem-solving skills that come from programming prepare students for a wide range of professions beyond the tech industry.
Conclusion
There's lots of evidence that coding education across all ages enriches cognitive development, enhances educational outcomes, and prepares students for a digital future. We also face urgent ethical questions that require a fundamental knowledge of technology. Rather than seeing coding as a wasted effort because AI can do it better, consider coding as a basic form of literacy where understanding data structures, algorithms, and programming languages is as important as reading and writing if we are to understand society today.
Coding is one part of digital literacy that has the potential to “inoculate us against fatalism. Those who understand how a program is built and why are less likely to accept its design as inevitable.” (O’Gieblyn, 2023, para. 6)
Comentários