Posted by Steve Vranakis and Jayme Goldstein, Executive
Creative Director and Project Lead, Google Creative Lab
At Google, we’re passionate about empowering children to create and explore with technology.
We believe that when children learn to code, they’re not just learning how to program a
computer—they’re learning a new language for creative expression and are developing
computational thinking: a skillset for solving problems of all kinds.
In fact, it’s a skillset whose importance is being recognised around the world—from President
Obama’s CS4All
program to the inclusion of Computer
Science in the UK National Curriculum. We’ve long supported and advocated the
furthering of CS education through programs and platforms such as Blockly, Scratch
Blocks, CS First and Made w/ Code.
Today, we’re happy to announce Project
Bloks, a research collaboration between Google, Paulo Blikstein (Stanford
University) and IDEO with the goal of creating
an open hardware platform that researchers, developers and designers can use to build physical
coding experiences. As a first step, we’ve created a system for tangible programming and built
a working prototype with it. We’re sharing our progress before conducting more research over
the summer to inform what comes next.
Physical coding
Kids are inherently playful and social. They naturally play and learn by using their hands,
building stuff and doing things together. Making code physical - known as tangible programming
- offers a unique way to combine the way children innately play and learn with computational
thinking.
Project Bloks is preceded and shaped by a long history of educational theory and research in
the area of hands-on learning. From Friedrich Froebel,
Maria
Montessori and Jean Piaget’s pioneering work in
the area of learning by experience, exploration and manipulation, to the research started in
the 1970s by Seymour Papert and Radia Perlman with LOGO
and TORTIS. This exploration has continued to grow and includes a widerangeofresearchandplatforms.
However, designing kits for tangible programming is challenging—requiring the resources and
time to develop both the software and the hardware. Our goal is to remove those barriers. By
creating an open platform, Project Bloks will allow designers, developers and researchers to
focus on innovating, experimenting and creating new ways to help kids develop computational
thinking. Our vision is that, one day, the Project Bloks platform becomes for tangible
programming what Blockly is
for on-screen programming.
The Project Bloks system
We’ve designed a system that developers can customise, reconfigure and rearrange to create all
kinds of different tangible programming experiences.
A birdseye view of the
customisable and reconfigurable Project Bloks system
The Project Bloks system is made up of three core components the “Brain Board”, “Base Boards”
and “Pucks”. When connected together they create a set of instructions which can be sent to
connected devices, things like toys or tablets, over wifi or Bluetooth.
The three core components
of the Project Bloks system
Pucks: abundant, inexpensive, customisable physical instructions
Pucks are what make the Project Bloks system so versatile. They help bring the infinite
flexibility of software programming commands to tangible programming experiences. Pucks can be
programmed with different instructions, such as ‘turn on or off’, ‘move left’ or ‘jump’. They
can also take the shape of many different interactive forms—like switches, dials or buttons.
With no active electronic components, they’re also incredibly cheap and easy to make. At a
minimum, all you'd need to make a puck is a piece of paper and some conductive ink.
Pucks allow for the
creation and customisation of endless amount of different domain-specific physical
instructions cheaply and easily.
Base Boards: a modular design for diverse tangible programming experiences
Base Boards read a Puck’s instruction through a capacitive sensor. They act as a conduit for a
Puck’s command to the Brain Board. Base Boards are modular and can be connected in sequence
and in different orientations to create different programming flows and experiences.
The modularity of the Base
Boards means they can be arranged in different configurations and flows
Each Base Board is fitted with a haptic motor and LEDs that can be used to give end-users real
time feedback on their programming experience. The Base Boards can also trigger audio feedback
from the Brain Board’s built-in speaker.
Brain Board: control any device that has an API over WiFi or Bluetooth
The Brain Board is the processing unit of the system, built on a Raspberry Pi Zero. It also
provides the other boards with power, and contains an API to receive and send data to the Base
Boards. It sends the Base Boards’ instructions to any device with WiFi or Bluetooth
connectivity and an API.
As a whole, the Project Bloks system can take on different form factors and be made out of
different materials. This means developers have the flexibility to create diverse experiences
that can help kids develop computational thinking: from composing music using functions to
playing around with sensors or anything else they care to invent.
The Project Bloks system
can be used to create all sorts of different physical programming experiences for
kids
The Coding Kit
To show how designers, developers, and researchers might make use of system, the Project Bloks
team worked with IDEO to create a reference device, called the Coding Kit. It lets kids learn
basic concepts of programming by allowing them to put code bricks together to create a set of
instructions that can be sent to control connected toys and devices—anything from a tablet, to
a drawing robot or educational tools for
exploring science like LEGO® Education WeDo
2.0.
What’s next?
We are looking for participants (educators, developers, parents and researchers) from around
the world who would like to help shape the future of Computer Science education by remotely
taking part in our research studies later in the year. If you would like to be part of our
research study or simply receive updates on the project, please sign up.
If you want more context and detail on Project Bloks, you can read our position
paper.
Finally, a big thank you to the team beyond Google who’ve helped us get this far—including the
pioneers of tangible learning and programming who’ve inspired us and informed so much of our
thinking.