Back in the 1990s and early 2000s, while schools around the world worked to set up their early computer labs, Mitchel Resnick was laying the foundations of a computational education empire.
With his team at the MIT Media Laboratory, Resnick had started the Computer Clubhouse Network, a set of afterschool learning centres aimed at giving students from low socioeconomic backgrounds the opportunity to immerse themselves in digital technologies.
“Where Technology Meets Imagination” was the tagline.
It was within these clubhouses that Resnick saw the opportunity for something bigger.
“We saw that many young people really wanted to create their own interactive stories, games and animations,” he reflects. “But there really weren't the right tools for them to do that.”
Java and C++ were out there, but they were for professional programmers, not kids in primary school.
Resnick’s mentor, the late Seymour Papert had created LOGO – a general-purpose programming language.
But already decades old at the time, Resnick had to concede that his mentor’s language had its limitations.
“The kids we saw wanted to make media rich creations with graphics, images, sound and music,” he explains.
“That really wasn't possible with the existing languages for kids.”
“We saw there was a real need to provide a new type of programming environment for kids to let them create the type of things they really wanted to create. It [Scratch] really came from the desires of kids.”
Scratch is a free, visual programming language used by students to create games, animations and stories.
Users vertically connect puzzle-piece shaped blocks to create code.
There are ten categories of blocks, each enabling different controls on the project, such as motion, looks or sound.
Each block type has a specially shaped slot to be inserted into, preventing errors in the scripts.
“Scratch really came from the desires of kids.”
It’s not so much about getting kids using technology; rather it is about ensuring they understand the technology they use.
“As we developed Scratch, we continued to believe the value of coding, but we wanted to make it more accessible and more meaningful and more social,” says Resnick.
Blocks are connected to create code. Source: MIT Media Lab
The first public version of Scratch appeared in 2007. Since then it has made its way into classrooms and households around the world.
The number of shared projects earlier this year eclipsed 30 million.
Open source = better outcomes
And while Scratch is used by teachers to educate students in the basics of coding, it also gives students the opportunity to learn from one another.
“Right from the beginning we wanted Scratch to be able to be an environment where kids could learn with and from one another,” he says.
“When we introduced the programming language in 2007, we also introduced an online community because we want kids to be able to learn with and from one another.
“If they're going to be inspired by what others create, we don't want kids just to be able to interact with other’s creations, but also see how they were able to make it.
“You can build a part of other people’s creations and use it as part of their own. So kids are able to remix what others have done.”
“If they're going to be inspired by what others create, we don't want kids just to be able to interact with other’s creations, but also see how they were able to make it.”
It’s this likeness that formed the basis of the name ‘Scratch’. Just as a DJ will ‘scratch’ the vinyl records back and forth in their music, users of Scratch ‘remix’ code when creating their projects.
Low floors, high ceilings, wide walls
The ratio of male to female participation in high school physics is around three to one in Australia. For advanced maths it is closer to two to one.
But with systems like Scratch now providing an equal entry point into STEM fields for boys and girls from a young age, there is hope that some of these imbalances can be rectified.
“Make sure there are multiple pathways of engaging with new technologies and with new ideas.”
And it’s no coincidence.
“One thing that guided our development with Scratch is extending a metaphor that I learned from my mentor, Seymour Papert,” says Resnick.
“Seymour used to talk about the importance of designing technologies with a low floor and a high ceiling. Meaning it's easy to get started with but you could do more and more complex things over time.
“But in our work, we've extended that metaphor to say we also want have wide walls. By wide walls, we mean you have to have a diversity of different pathways where kids can get engaged with the technology and continue to work with the technology.
“I think we need to continue with that approach throughout the years as kids continue to go on. Make sure there are multiple pathways of engaging with new technologies and with new ideas.
“And I think that's the way to engage a wide range of kids: across gender, across background and across socioeconomic class.”
The coding dark ages
While Scratch has been the driving force behind getting a generation of kids coding in schools, it is not a new concept.
With the likes of LOGO, the 1980s saw an initial wave of enthusiasm toward coding in schools.
But computers being used in different ways led to waning interest in coding, Resnick explains.
“People started to see technology as just using applications for a variety of things with computers and schools,” he says.
“I think one of the reason for the loss of interest in coding was coding sometimes was too difficult to use and wasn't accessible to kids.
“It didn't let kids create the types of things they're most interested in creating.”
Today, this isn’t the case. With coding now being mandated into syllabuses around the world, the dark age is certainly over.
“I think one of the reason for the loss of interest in coding was coding sometimes was too difficult to use and wasn't accessible to kids.”
“I think in the last five years or so, there's been this growth again, and interest in kids learning to code. Some of it is driven by the growing opportunities for jobs in the marketplace for programmers and computer scientists,” continues Resnick.
“But I think also there's a growing recognition that, for kids, even those who aren't going to have professional jobs related to coding, that it's important for everybody to have a sense of control with technology.”
The next generation
Coming in January, Scratch will be launching its third generation – Scratch 3.0.
With the Internet of Things fast establishing itself, Scratch 3.0 will allow users to connect to the world around them through coding.
“We don't want programming to just be a separate thing you do,” explains Resnick.
“We want it to be an underlying platform you can use for controlling and designing anything you want to with computational tools.”
New extensions have been added for speech recognition, object recognition and sensors, to give users a more immersive experience.
“If there's a new type of sensor to get information from the world, you should be able to connect that to your programming environment,” he says.
“If you want to be able to control other things in the world like an Internet of Things you should be able to control it from your programming environment.”
A preview of Scratch 3.0 is available now. The final version will go live on 2 January 2019.