Programming can be a lonely, abstract, and ultimately frustrating activity. Even when building the simplest of applications, you can spend hours—indeed days—in front of a computer, coding in some arcane programming language and then running the code and then debugging it and then running it again. Ad infinitum.

But as programming becomes an increasingly important part of the modern world—this is the new construction—educators and researchers are trying to make it more fun and approachable, particularly for young kids with little patience for frustration and abstraction. In recent years, they've tried everything from kids books to games like Minecraft. Now, with a new initiative called Project Bloks, a team of Google researchers is trying to make coding a hands-on experience—literally.

They've designed a set of blocks—physical, electrical blocks—that you can snap together to form a real program. Using these blocks, you could create a musical instrument or an automated toy or a device that sends messages to smartphones and tablets. The idea—called tangible computing—dates back at least to the 1970s, and shows tremendous potential for helping students learn to program says Tim McNerney, who researched tangible computing at MIT. "Kids really benefit from interacting with physical objects," he says. "It lets them collaborate with other kids instead of getting 'sucked into the screen' and forgetting their classmates around them. It transforms programming from a solitary to a social activity."

Google, along with Stanford University researcher Paulo Blikstein and the design firm IDEO, are trying to push the concept further by creating a common technology platform that various companies and academics can share. That way education researchers can spend less time figuring out the technical underpinning of electronic blocks or other gadgets and more time designing new, better ways for students to actually learn from the blocks.

Google

Move the Puck

The project offers three different types of block. The "pucks" are the most interesting. Each puck can include a different type of control, such as an on/off switch or a directional arrow. According to a paper released by the Google team, pucks don't require any electronic components. You could even print them on paper using conductive ink. The pucks sit on a "base board" that shuttles data to a "brain board," a kind of central control for your app. The brain board includes a power source and a cheap, tiny computer called the Raspberry Pi Zero, and it can communicate with other outside devices.

In the musical instrument, these outside devices might include a speaker. In other cases, it might include a robot equipped with a pen for drawing lines on paper. Pucks could be associated with environmental sensors, such as a thermometer, and the program you assemble could simply send the current temperature to a computer. You can also save arrangements into a single puck, so you readily reuse them for another app or build more complex programs.

Importantly, each piece has features that help children understand how they fit together, such as matching magnetic strips or directional connectors. In Google's trials, which included 150 children, this design made it easier for kids to get started with the blocks without any instruction. Educators could then take these ideas as a starting point to develop new blocks based on this platform, and consider different lesson plans for working with the gadgets to deepen students understanding of the technology.

Project Bloks won't teach your kids enough about programming to land a job straight out of grade school. But that's not the point. The real idea is to give them a grounding in the basic concepts of computing. "I think this project has the potential to change the discourse around [computer science] education," says Blikstein. "Instead of focusing on the idea that CS is a job skill and that learning CS will land you a good job, we are focusing on CS as a new literacy for the 21st century, which is important for everyone regardless of your career path."

Ideally, Project Bloks and other tangible computing systems should also educate people who otherwise would never consider learning to program. "America and the planet very much need programming to become an 'I can do it too' activity" says McNerney. "Long gone should be the days when white, nerdy, boys rule the profession, and math-o-phobia steers smart girls away from engineering when they become teenagers."

Google

Toys, Evolved

Project Bloks builds on decades of tangible computing research, from MIT researcher Seymour Papert's work to help kids program robotic turtles in the 1960s and 70s, to the programmable AlgoBlocks in the 1990s to Tuft University's Tern project. More recently, a plethora of new tangible computing platforms have arrived, such as LittleBits, Kibo and Osmo.

But the fields still lack standards that could allow components from one project to work with those from another. And, in many cases, according to the Project Bloks team, these projects weren't created with classroom education in mind.

It's not clear how useful this platform will be for existing tangible computing systems, which in many cases have very different design goals from Project Bloks. "We will have to look at what the Project Bloks team has done to find out if there are natural synergies," says LittleBits CEO Ayah Bdeir.

But Project Bloks is still in its earliest stages. Its exact utility may be seen further down the road as the team further develops the technology. And the response so far is optimistic. Bdeir sees it as a validation of the work her company has already been doing, as do other experts in the field.

"I think what Google is doing with Project Bloks is awesome," McNerney says. "I couldn't dream of anything more than to have Google put tangible programming into their educational mission statement."