In September 2015, the UK introduced a new computing curriculum that spans from reception class to A level (ages 4 to 18). The curriculum aims to go beyond teaching children how to use computers, and help them learn to think like computational scientists. For example, children are prompted to learn how to solve problems with resource constraints. In our everyday world, that might be as mundane as how to feed oneself for a week on a particular budget. In a computational world, it will be solving problems such as how can one search billions of webpages on the internet in a matter of seconds with the computers we have today.
An important part of learning computational thinking is learning appropriate tools. We have the alphabet for creating words, and numbers for doing mathematics. We have code for doing machine computation. Across the UK, children are being taught to code, using Scratch, Kodu, Lego Mindstorms, Alice, or other programming languages developed specifically for children. Unfortunately, none of these programming languages are appropriate for children with visual impairment. For those using text, little can be done to adjust the text. For those using screen readers, most of these will not work. Further, the result of the code often produces animations or moving robots, which rely on vision to appreciate.
This is really misfortunate as Computational Sciences is an excellent career for people with visual impairment as the majority of work activity is accessible. Every major high tech company has a number of blind coders (also called developers), as well a larger number of people who use some form of magnification. As a family that works in research, we also know visually impaired people working in computational biology, computational chemistry, and physics. The computational aspects of these subjects are much more accessible than the laboratory components.
Project Torino was started at Microsoft Research in Cambridge to address the lack of a programming language to teach young visually impaired children. The project created a prototype, or first draft, of a physical programming language to teach computational thinking and basic programming concepts to children in Key Stage 2 (7 – 11 years old) regardless of level of vision. The project was inspired by a Workshop we ran about 18 months ago to encourage visually impaired children to imagine their technological future that I captured in a previous blog. The children were teaming with ideas, but were not satisfied to imagine them. They wanted to learn to code so that they could build them.
Four children with visual impairment, forming the Torino Young Design Team, worked with a team of researchers over the summer of 2015 to design the physical programming language. The young designers tested various 3-d printed forms and created their own forms using modelling clay. We quickly learned that round things roll away and can’t be found, but square things are not compelling to hold in the hand. Our design had to find something in between. We found that dials and buttons were essential to draw the youngsters attention. By the end of summer, we had a novel set of hardware that enabled children to write code for Sonic Pi, a programming language for creating digital music.
More specifically, Project Torino created a set of computational beads that can be connected to create code that produces music or sound stories. It introduces basic programming concepts such as sequences of instructions, parameters, concurrency (ie. threads), and loops. It also enables lessons and challenges around broader computational thinking concepts, such as debugging (ie. fixing a problem), breaking problems down, and solving problems with resource constraints. This sounds rather complicated, but an evaluation with ten children with a range of ages, vision levels, and genders showed that children were highly engaged in created the code for the sound challenges that we gave them and in the process mastered the concepts and vocabulary described here.
In our prototype, or first draft, we focused on a getting a fun way for children to engage with computational thinking. In our next round of development, we are thinking about how we create something as successful at a cost that schools can pay.