Finally, a Way to Teach Coding to the Touchscreen Generation

First came Generation X. Then the Millennials. And if you have kids under 10, you already know what they’re going to be called: the Touchscreen Generation. For these kids, who learned to walk and talk as smartphones and tablets were saturating the cultural landscape, a computer with a physical keyboard is archaic and distant, a […]
mitcoding
MIT

First came Generation X. Then the Millennials. And if you have kids under 10, you already know what they're going to be called: the Touchscreen Generation.

For these kids, who learned to walk and talk as smartphones and tablets were saturating the cultural landscape, a computer with a physical keyboard is archaic and distant, a clattering tool their parents use. The Touchscreen Generation experiences computing as something immediate, direct, intuitive---not as an interaction that happens in a slightly removed way, where the screen and what happens on it are mediated by keys, mice, or trackpads.

And yet there's a different kind of distance that touchscreens create. Seamless interactions with touchscreens depend on the seamless packaging of apps into self-contained experiences. What kids gain in directness, they lose in an appreciation for how the software on the screen really works, how it was built, how they too could build it.

When I was a kid, I had to know some DOS commands to launch a program, or navigate a file tree, or insert a floppy disk, all of which served to remind me that this computer was a machine, not a magic portal. Interacting with touchscreens, on the other hand, feels so natural that it's easy to forget that these devices, these apps, are things that someone built. The natural posture for relating to touchscreens is as a consumer, not a creator. That kind of one-way dynamic isn't a good start to the way the next generation relates to technology.

>'This is a tool that they can use to get their voice out in the world, not just to consume what other people are doing.'

But a new app might be able to break through that passivity by meeting the Touchscreen generation where their fingers live. ScratchJr is a new iPad variation of the Scratch programming language, a tool created at MIT to help teach kids to code. The premise for both is the same: instead of text, Scratch uses interlocking colored blocks to mimic the logical structures and functions of a typical grown-up programming language. Scratch scripts allow their creators to direct and interact with "sprites"---cartoonish characters on the screen. By introducing kids to coding without the hurdles of arcane syntax and bug-prevention, the hope is that they'll become engaged enough with the process that their sensibilities will shift.

The difference with ScratchJr is that it aims to bring this dynamic to an even younger audience, the kids who have known only tablets and smartphones. "We wanted to make sure young people aren't just using tablet for browsing and consuming," says Professor Mitchel Resnick, head of the MIT Media Lab’s Lifelong Kindergarten group, which developed ScratchJr along with researchers at Tufts University and the Montreal-based Playful Invention Company. "This is a tool that they can use to get their voice out in the world, not just to consume what other people are doing."

Core Concepts

ScratchJr isn't as sophisticated as Scratch itself, which works as either a standalone app or a web app on PCs. But that relative lack of complexity turns out to be ScratchJr's strongest selling point. While Scratch is aimed at eight-year-olds and up, ScratchJr is targeted at kids five to seven. It's almost purely graphic-driven, which makes it accessible to an age group for whom reading is sometimes still a lot of work. And the only time the iPad keyboard ever comes into play is when young coders want to change the text in the word-bubble coming from a character's mouth. Otherwise, they're creating rudimentary but fun programs by tapping and dragging on the touchscreen interface, which is as native to many of them as turning on a light switch.

MIT

Resnick is also quick to emphasize that although stripped down, ScratchJr retains the essential computational concepts taught by its older sibling, such as events, sequencing, and iteration. These core ideas are key to the aim of the Scratch project to teach coding as a new kind of literacy. "Just as with traditional literacy, it's important to learn to read, but it's also important to learn to write," Resnick says.

Not Just on the Receiving End

But as with reading and writing for earlier generations when those skills were less commonplace, parental anxiety around learning to code is economic, not just idealistic. Skilled programmers these days have their pick of high-paying jobs. As the outlook even for such venerable professions as law and medicine become murkier, the mythology of the Zuckerbergian coder-tycoon becomes all the more seductive.

But it would be a shame to view creations like ScratchJr mainly as entry points through which helicopter parents can guide their children onto the joyless path toward a college-ready kid-CV. Teaching kids to code isn't about giving them a better chance in 20 years of fighting off the robots who will otherwise take their jobs. It's about teaching them now that the robot isn't running the show.

Interactive digital technologies are now unavoidably a part of growing up, which makes it all the more important to start early in trying to shape how the Touchscreen Generation relates to that technology. They need to know that they can take the robot apart and put it back together again; that if they don't like the app, they can make their own; that if they want new kinds of creatures, tools, and materials in Minecraft, they can learn Java and mod it themselves. Tinkering is a way to make technology your own, and tinkering is what a project like ScratchJr makes possible, on a device kids are already using. The most important thing kids can learn when they learn to code is that, when it comes to technology, they're not just on the receiving end.