I’ve spent a lot of time in the past few years talking to students and teachers about learning to code. I’ve also spent a lot of time observing classrooms where coding instruction is being given. I’ve had a lot of “aha moments” and been inspired by many things I have seen. In all of those experiences, the thing that really stands out is seeing Scratch, a free visual programming environment developed at the MIT Media Lab, being used effectively by all ages and abilities. I have come to believe that almost anyone can learn to use Scratch and thus start down the pathway of learning to code.
The Scratch project started in 2003 and since then over 5mm projects have been built and posted on the Scratch website. You can browse the projects here, you can find one you like, you can fork/copy it, and you can make something yourself. It is this forking/copying thing that is so powerful in my mind. You don’t need to start with a blank canvas in Scratch. You can find a project you like, you can look at the code to see how it was made, and you can then modify the code to change the way it works. That’s actually how I learned to code too (by initially modifying someone else’s code).
I just found this flappy birds style game that was posted to Scratch yesterday (use the space bar to flap, hit the flag to start).
If you click on the link that says “posted to Scratch” right above the game embed, and then click on the button that says “see inside”, you will see the code that was used to create this game. You will see how visual and inviting that code is relative to most coding systems.
Anyway, this post is not about Scratch. It is about Scratch Jr. The one thing that you need to be able to do to use Scratch is read and write. So kids who are still learning to read and write can’t use Scratch. A few years ago some researchers at Tufts started working with the team at the Media Lab to create a version of Scratch that younger kids can use. It is called Scratch Jr. Scratch Jr is getting close to commercial release, which will be on tablets (iOS first, Android next).
Since Scratch and Scratch Jr are free to use and supported mostly be research grants, there isn’t a lot of money to commercialize Scratch Jr, particularly the development of easy to use iOS and Android native apps for tablets.
That’s where all of you come in. Scratch Jr posted a Kickstarter project this week. I backed it yesterday. In a few days, they have already raised their initial target of $25k, but I am certain they could use a lot more. The more money they raise, the faster they can get iOS and Android out and the more they can do to get Scratch Jr into classrooms all over the world.
Here’s the Kickstarter page and here is the video they posted. It’s only four minutes and the bits where Mitch Resnick (the “father of Scratch”) talks about learning to code and coding to learn is really good. You should watch it. And please consider backing the project too.