There has been a big push in computer-science education in the last few years. The UK has made it part of its national curriculum, President Obama has pledged $4 billion toward a national computer-science initiative and a slew of toys and games designed to teach kids how to code have come to market. Even Apple got into the spirit with the introduction of Swift Playgrounds, an iPad app that instructs kids on the basics of the company's Swift programming language. Today, Google detailed its own big investment in computer-science education. It's called Project Bloks, an open hardware platform that anyone can use to create physical coding experiences for kids.
Project Bloks is made of three basic components: the "Brain Board," "Base Boards" and "Pucks." The "Brain Board" is, well, the brains of the operation. It houses the main processing unit and is built on top of a Raspberry Pi Zero. It provides power and connectivity to the whole system, and can communicate with any device that has an API through WiFi and Bluetooth. The Base Boards, meanwhile, are modular pieces that can be connected via the Brain Board to create grids or different programming flows. Each Base Board has a capacitive sensor, which it uses to receive instructions from the Pucks.
The Pucks are really the heart and soul of Project Bloks. They're basically code instructions in physical form. Some examples of Pucks include dials, switches, arrows and buttons, which can then be programmed with instructions like "turn on and off" or "go up." They also have no active electronic components and are therefore very inexpensive to make; they can be anything from high-end plastics to a piece of paper with conductive ink. As long as they have some kind of capacitive ID that the system can use to identify them, they can be used as Pucks. Therefore a very basic Project Bloks system will have one Brain Board connected to one or more Base Boards that are outfitted with a Puck each.
Project Bloks is a collaboration between Google's Creative Lab division and Paulo Blikstein, director of the transformative learning technologies lab at Stanford University. The idea is based on a concept called tangible programming, a long-held theory that kids naturally play and learn better by using their hands and by playing with each other. That's why making the code be akin to physical blocks is pretty important.
Unfortunately, until now, tangible programming isn't something that's very accessible to most people. Sure, there are companies that have made coding toys for kids, but they're often expensive. What's more, their functionality tends to be limited.
"You really need a lot of expertise," explains Jayme Goldstein, the leader of the project. "You need to know electrical engineering, you need to know hardware engineering. You've got to spend a lot of time developing the infrastructure before you can even get to the educational design." Goldstein says the researchers he's spoken to often spend a couple of years just on the technical back-end. "Next is the money. There's a lot of research and development associated with hardware, along with opportunity costs."
But since Google has already done all of that work, all designers and developers need to do is to take that Project Bloks platform and create something from it. "What we bring to the table is the hardware underpinnings," Goldstein said. "It's a system that designers, developers and researchers can use to make all kinds of physical programming experiences for kids."
"Imagine what could happen if we had 10 times more people developing ways for children to learn coding and computational thinking," said Blikstein in a statement. "Not just the traditional way, but kits that would teach programming in different ways such as making music or controlling the physical world. That is what this platform will enable: make it easy to think outside of the box, without all the technical obstacles."
One example system the team came up with was to have Pucks represent different musical instruments, so you could create music patterns. You could then press a Record button to get all of those patterns into a single Puck, which you could then put back into the system as an instrument. "All of a sudden, you're learning abstraction," said Joao Wilbert, the project's tech lead. "It's usually incredibly hard to grasp."
"What we've got here is a general technology," Goldstein said. That's a key difference from more task-specific toys like Osmo's Coding or Little Bits. "This system can be customized to talk to different toys. It can do far more than just moving in different directions." It's also very accessible and can be used even by kids who don't have literacy skills yet. Because Project Bloks is so open-ended, you can use it with the Internet of Things. You could have it work with a Nest thermostat, for example, or anything built on Arduino, for that matter. "This is a coding toy that grows up with the child," Goldstein said.
Google worked with IDEO, an international design consultancy, to create a reference design for Project Bloks. Simply called Coding Kit, it has a Brain Board and a bunch of different Base Boards and Pucks that kids can put together to control anything from a tablet to a robot like one from Lego's WeDo. But lest you get excited, the Coding Kit is not for sale. Instead, Google is going to use it for testing with kids and select schools. It'll also be available for public testing at the Exploratorium museum in San Francisco.
"We'll be doing an academic paper and a research study to gather data," Goldstein said. "The dataset is going to be made open to everyone." He says developing out in the open is how Google operates. "This is a field where there is an ecosystem already. We just want to get feedback. This is just the first step."