Less than 3% of graduates in the U.S. graduate with a degree in Computer Science and that figure has been dropping for the past decade, even as the importance of software in our daily lives is so obviously growing. For educators, the problem lies in the dearth of teaching strategies: Existing products meant to “teach kids to code” are usually designed for older children, or they require technical guidance from a parent or teacher.
“The state of Computer Science education in the U.S. has gotten worse over the last 20 years,” says Vikas Gupta, who headed up consumer payments at Google until he left to cofound Play-i last year. “Why aren't we doing something for our kids to get them interested in Computer Science?”
But building a teaching tool for all ages--one which doesn’t require a guide or tutor--means relying on robots to teach coding. But most robotics kits are still too expensive and complex for the job, which is where Play-i thinks it can make a difference.
“There's a lot of recent research coming from places like MIT which shows that children as young as five years old can grasp programming. What's lacking is the tools which make it accessible to them. Most platforms which exist today, they are focusing on kids to consume content. You can watch videos, you can play games, but how many draw them out to create something? When I give my child an iPad I want them to use their iPad to create amazing things and not just consume technology.”
Gupta set out to find a way to teach very young children the basics of coding--sequences of instructions, subroutines, events, conditional statements--in a playful way. Today Play-i launched a crowdfunding campaign to raise $250,000 to manufacture two kid-friendly robots called Bo and Yana, which teach high-level programming concepts to children as as young as five.
Gupta wants to build affordable robots which the non-technical parent would enjoy as much as a young child. “Programming tends to be an abstract concept,” says Gupta. “The best way to make it concrete for a child is to use tangible products. The very first concept that they learn is that the work they do controls an object in another world in a repeatable and controllable way. Even that is an alien concept for a child. The second one is a sequence of instructions. If I give you an abstract sequence of go straight, go right, go straight, go right, it's not immediately obvious to a child that you will come back to the same point. With a robot, it's obvious what's going on.”
Together with a team of advisors from the robotics and computer science education worlds, including Lego Mindstorms creator Mike Dooley, Play-i designed two robots and their associated programming interfaces. Bo is a bug-eyed, blue character with wheels, six connection points for accessories, and 12 different sensors to detect its surrounding and other robots. Yana is a storytelling robot equipped with an accelerometer so it can detect how it is being moved.
The first problem was syntax. How do you teach coding to a child who may not yet be able to read and write? “Any time that I have picked up a new programming language, syntax is the hardest thing to get over,” says Gupta. “In many ways syntax is the thing that I'm learning. Programming concepts remain the same. So we wanted to break down that barrier for kids as well. How can we do something that is without syntax?” The solution was a combination of puppeting, animation, and a visual interface. A child can drive Bo along a certain route and that route will be recorded and made available on an iPad as an animation. A child can then edit the animation or schedule it to be performed again. “We can take an animation in an iPad which is basically time frame data and positional data. I can save that and I can call it again and again and again and that's how I can program. This breaks down the barrier of trying to understand what a sequence is, what a subroutine is, what's the syntax for the language, is there an error?”
Another coding concept children learn from puppeting is reusability. “I puppeted the robot to do this and I created this amazing animation. Now I can share it with someone and they can use it. It's not only for my robots but for someone else's robot.”
The robots execute instructions in real time and they can be edited while the robot is executing them. “The beauty of that is that it makes programming playful,” says Gupta.”It's not about 'I do a whole bunch of stuff and I don't know what's going to happen at the end.'”
Play-i did a lot of testing with children and quickly discovered that kids wanted to use them to tell stories. They also wanted Bo, a robot which has wheels, to fly or leap like a kangaroo. So Gupta decided to build a second, smaller robot called Yana which can recognize gestures.“Characters, in a way, are what you can call programs or subroutines. I created this character and I can use it in different contexts,” says Gupta.” If I shake it, I want it to be a lion. If I tap it twice, I want it to be a pig. If I start rotating it, I want it to be a train. What this is, in programming parlance, is a large if-then statement. You can start giving kids the scaffolding of a story. Slowly we take the scaffolding away and let them create their own programs and their own stories.”
Gupta has a two-year-old daughter so he put a lot of effort into designing a robot which would be as appealing to girls as to boys. This required some surprising changes to the designs. “The moment you have wheels which are visible on a product, immediately for many girls we found that becomes a boy's toy. They don't want to play with it. So when you see this robot (Bo), you actually don't see the wheels at all. A simple thing like that has broken down the barrier and suddenly girls love it.“ Girl’s also wanted to customize the robots. "There are six attachment points which let you customize it physically and then we also have this idea of personalities in a digital form--a set of sounds, a set of subroutines, and so on. Let's say that you have a dog. You can go around recording the sound of the dog. Then you can save it and say when you run into a wall, bark. Suddenly your robot starts to take on the personality of your dog. Those little personalisations draw girls out quite a bit.”
Play-i robots will be available in the summer of 2014. Bo will cost $149 as part of the crowdfunding campaign while Jana will be available for $49. While the initial visual interface is aimed at children from five up, Play-i will also provide a path of progression to more sophisticated development by providing libraries for environments like Scratch, Blockly, Android, and iOS.
The robots were recently demoed to 20 kids in Seattle. “Eventually after a few hours the robot's battery died--it's a prototype--and two children started crying. They wanted more of the robot!” says Gupta.