On toys that teach coding
Gregory Schmidt of the New York Times shared a piece today about the toys that focus on teaching children to code. When I saw the headline, I was hoping for something well-researched, grounded in evidence, and skeptical, but instead, it was more of a marketing piece.
Rather than critique the story as a whole, I thought it would be more fun to fact check it claim by claim.
“Coding is a fundamental skill for children to learn in school…”
Is it? I’ll admit, I’m part of a movement that views it as a fundamental thing to offer children in school, but is it something every child should learn, like reading and writing? I don’t think that this is a well-established or agreed upon fact, and according to rigorous national surveys, few parents or teachers believe it. Maybe the readers of the NY Times do, but most don’t.
“Learning to code teaches valuable cognitive skills like critical thinking and problem solving”
No, actually, it doesn’t. That’s a common belief, but every attempt to show that learning to code results in improved general skills in critical thinking and problem solving has found no evidence of this. My lab has contributed evidence that strong critical thinking and problem solving skills—most notably, self-regulation skills—can lead to better programming, but not the other way around.
“Construction-based coding toys require a lot of time, patience and room, but the payoff is that children can show off their own creations.”
The key fault in this claim is that children only get that payoff if they have the time and patience. Research shows over and over that most learners, people of all ages start with low programming self-efficacy, and that without early, repeated successes in writing programs, this self-efficacy is quickly exhausted, causing youth to give up. Without an attentive, encouraging, and knowledgeable teacher (e.g., a parent with some coding experience that isn’t prone to solving problems on behalf of the child, but whom the child trusts for help), these toys may lead to reduced interest in coding and lower programming self-efficacy. Female learners in particular are prone to internalizing these failures into their identity.
Schmidt actually tested some of the toys with his brother’s children and reported this:
“Henry loved the bright lights and loud music emitting from the Code-a-Pillar. The durable construction meant he could bang on it without breaking it. Even though we could not get the Code-a-Pillar to respond to more than five segments at a time, he still liked pushing it around the floor by hand.”
This same basic trend occurs repeatedly in research: with construction-oriented coding environments, youth are vastly more interested in creating art, visuals, animations, and manipulating physical objects, than they are in expressing formal procedures to computers. And that shouldn’t be surprising: it’s a lot of hard work to express a program, and the payoff isn’t usually nearly as exciting to youth as the more visual and tactile things they can do with their well-practiced physical skills.
Schmidt ends the article with some sensible advice:
“…it’s better to ease children into coding and get them hooked on something right for them that they can then step up from, than to start with something that is too advanced that will collect dust in a corner.”
The problem is, how can parents know what’s right for their child? An increasing body of evidence suggests that they can’t. Even teachers of computer science have a hard time figuring out a good starting point. As a researcher of this stuff, I can’t tell you what a good starting point is. We just don’t know enough about young children learning to code to have any belief that toys alone like these will result in interest in coding, let alone skill. Most of our evidence suggests the opposite will occur. And if a child does get excited, there are still few resources to help parents find the next experience that will maintain and grow that interest over time. All of these toys are a hollow attempt to extort cash from parents who fear their children will be automated out of a job.
As an expert on learning to code, what would I recommend as an alternative to toys if you want your young child to learn a bit about coding? One option is to buy these toys for yourself. Become an expert at them, learn a bit about teaching, and see if you can engage your child in some intergenerational creation. Find ways for your child to help you in which they can be successful and authentically helpful, and their interest and ability will grow. Another option is to leave learning to the experts: trained CS teachers. Find a summer camp or after school program that is grounded in the scientific evidence we have about learning computing, and your child will leave confident, interested, and hungry for more. And most importantly, focus on ensuring your child has strong communication skills, and strong self-regulated learning skills: those are the elements of successful learning and of great software engineers.