This past Friday, the Raspberry Pi Foundation and the CoderDojo Foundation became one. The Raspberry Pi Foundation described it as “a merger that will give many more young people all over the world new opportunities to learn how to be creative with technology.” Maybe. Or maybe not. Before I describe why I’m a bit skeptical, let me first take a moment to explain more about what these two entities are.
The Raspberry Pi Foundation is a charitable organization created in the U.K. in 2009. Its one-liner mission statement says it works to “put the power of digital making into the hands of people all over the world.” In addition to designing and manufacturing an amazingly popular line of inexpensive single-board computers—the Raspberry Pi—the Foundation has also worked very hard at providing educational resources.
The CoderDojo Foundation is an outgrowth of a volunteer-led, community-based programming club established in Cork, Ireland in 2011. That model was later cloned in many other places and can now be found in 63 countries, where local coding clubs operate under the CoderDojo banner.
So both organizations clearly share a keen interest in having young people learn about computers and coding. Indeed, the Raspberry Pi Foundation had earlier merged with Code Club, yet another U.K. organization dedicated to helping young people learn to program computers. With all this solidarity of purpose, it would seem only natural for such entities to team up, or so you might think. Curmudgeon as I am, though, I’d like to share a different viewpoint.
The issue is that, well, I don’t think that the Raspberry Pi is a particularly good vehicle to teach young folks to code. I know that statement will be considered blasphemy in some circles, but I stand by it.
The problem is that for students just getting exposed to coding, the Raspberry Pi is too complicated to use as a teaching tool and too limited to use as a practical tool. If you want to learn physical computing so that you can build something that interacts with sensors and actuators, better to use an 8-bit Arduino. And if you want to learn how to write software, better to do your coding on a normal laptop.
That’s not to say that the Raspberry Pi isn’t a cool gizmo or that some young hackers won’t benefit by using them to build projects—surely that’s true. It’s just not the right place to start in general. Kids are overwhelmingly used to working in OSx or Windows. Do they really need to switch to Linux to learn to code? Of course not. And that just adds a thick layer of complication and expense.
My opinions here are mostly shaped by my (albeit limited) experiences trying to help young folks learn to code, which I’ve been doing during the summer for the past few years as the organizer of a local CoderDojo workshop. I’ve brought in a Raspberry Pi on occassion and shown kids some interesting things you can do with one, for example, turning a Kindle into a cycling computer. But the functionality of the Raspberry Pi doesn’t impress these kids, who just compare them with their smartphones. And the inner workings of the RasPi are as inaccessible to them as the inner workings of their smartphones. So it’s not like you can use a RasPi to help them grasp the basics of digital electronics.
The one experience I had using the Raspberry Pi to teach coding was disastrous. While there were multiple reasons for things not going well, one was that the organizer wanted to have the kids “build their own computers,” which amounted to putting a Raspberry Pi into a case and attaching it to a diminutive keyboard and screen. Yes, kids figured out how to do that quickly enough, but that provided them with a computer that was ill suited for much of anything, especially for learning coding.
So I worry that the recent merger just glosses over the fact that teaching kids to code and putting awesome single-board computers into the hands of makers are really two different exercises. I’m sure Eben Upton and lots of professional educators will disagree with me. But as I see things, channeling fledgling coders into using a Raspberry Pi to learn to program computers is counterproductive, despite surface indications that this is what we should be doing. And to my mind, the recent merger only promises to spread the misperception.
David Schneider is a senior editor at IEEE Spectrum. His beat focuses on computing, and he contributes frequently to Spectrum's Hands On column. He holds a bachelor's degree in geology from Yale, a master's in engineering from UC Berkeley, and a doctorate in geology from Columbia.