Programming as an essential skill
Programming nowadays is a very relevant skill to have and has a high demand in the modern economy. As any other skill, it can be learned and trained. But when is the right time to introduce children to the foundations of information technology and programming? In the German educational system, IT-courses can be elected in the later phases of high school. This introduction is rather late and focuses on mostly theoretical concepts like sorting algorithms and class diagrams. Programming is all about logic and problem-solving. Skills that can be useful beyond just the field of IT. So, can’t these fundamentals be taught even earlier to strengthen a child’s development, and what is the most effective way to do it?
Developing a programming platform for children
This question was approached by a research team at Google, and they founded the Bloks Project. They wanted to bring the programming concepts to a young audience of children aged 5–8 years old. At the time, there already were different programming tools on the market that focused on younger audiences, like the programming language Scratch. In Scratch, users can create scripts not by pure typing, but by dragging and dropping different blocks of code into a canvas. While this method makes programming more approachable, it still required children to be able to read and be familiar with the usage of a computer. The Bloks project went a step further and wanted to enter the space of physical tangible programming. They wanted to create an open platform that could be used by schools and individuals to teach children foundational knowledge of programming.
The main stakeholders of the projects were teachers, parents, children as the main audience of the product and developers who could easily create new programs and functions with the tools provided. To fulfill the needs of these Stakeholders, the team used Design Thinking methodology.
The team observed groups of children and tried to understand how they interacted with each other and their environment. They also interviewed teachers and parents and the children to further gather insights and identify paint points.
Based on this research, the team was able to identify three key design principles to be used in their product: Simplicity, modularity, and familiarity. The tool had to be easy to use and be understandable for a child. It had to be modular and provide dynamic functionality to allow children to build and create their own projects. And it had to be familiar, by using familiar objects and concepts that children were already comfortable with.
After creating these guidelines, the team used an iterative design process to realize the Google Bloks tool. They started with rough sketches and mockups, which they tested on potential users. After that, they build first prototypes, which they used to gather more information and make further improvements. This iterative approach allowed the team to create a useful and educational tool, that was liked by the audience. The product is a system of different block modules, that could be combined to represent instructions and logic, like conditions and loops. There are three different modules: The Brain Board, the Base Board, and the Pucks. The Brain board acts as the main control unit, which is powered by a raspberry PICO. Baseboards can be attached to the Brain Board and other Base Boards. Pucks can be placed on top of Base Boards to create different functionality like loops, switches, and dials. The whole system can be used to control gadgets like robots or can provide instructions when connected to a computer or phone. Different orientations of Base Boards and Pucks can change the behavior of the program.
Usage of Design Thinking and results
Google Bloks can be seen as an excellent example of the application of design thinking to create innovative solutions to complex problems. The team used an approach that was focused on the target audience’s needs. They analyzed the pain points of the audience by observations and interviews. Using an iterative design process, the team was able to create a tool that was fun and educational. It allowed children to explore the concepts of programming, stimulating logical thinking and creativity.
After finalizing their product, the Google Bloks team published a paper about their findings within the project. It covers the mentioned research- and design phases, as well as their expectations for the future of the project. The team expected the product to be distributed to many schools and more research to be done.
While the project raised awareness for the meaning of programming skills at young ages and the usefulness of physical elements in teaching these skills, Bloks has since its initial paper in 2016 not released additional papers and is not actively producing or supporting the project. This could have a variety of reasons. The physical components could have been too expensive for schools to afford. Another explanation could have been the limitations of physical hardware. There are size limitations in physical programming, that would not apply to a digital solution like scratch.
The Google Bloks project supports the usefulness of Design Thinking methodology. By using user-centered and iterative approaches, it was possible to create an innovative platform that made programming approachable to children. But it also shows that the usage of Design Thinking does not guarantee the success of a project. Many other aspects like environmental factors and market demands must be accounted for as well.