The Scratch programming language has been one of the most ubiquitous and constant introductions to programming in computer science use in classrooms. It's fun interface and block-based coding make it a popular choice for introducing students to coding.
A product of the lifelong learning group at the MIT Media Lab, Scratch is built on decades of work done in educational computing and it's rich lineage includes work done by Seymour Pappert and Cynthia Solomon with the formative Logo programming language.
First released in 2002, Scratch has gone through a few iterations over the years. Below, we will take a look at some of the more popular versions and how each of them can still be used today.
Scratch 1.4 is an older version of Scratch that comes installed on the Raspberry Pi image. It has the ability to broadcast and control the General Purpose Input Output (GPIO) pins on the Raspberry Pi. Scratch 1.4 also works exceptionally well with the SparkFun PicoBoard. Scratch 1.4's ability to interface to the analog functions of the Picoboard make the combination the simplest analog to digital conversion available for the Raspberry Pi.
Scratch 2.0 is the current version of Scratch. Which means it is probably the version you are most familiar with.
In addition to Scratch 1.4, the Raspberry Pi image also contains a second version of Scratch, Scratch 2.0. Scratch 2.0 has some updated control tools for the GPIO but, some tools that are present for GPIO in 1.4 are not included. Scratch 2.0 allows the use of cloud-based data as well as the building of custom blocks.
As we go through these transitional forms of Scratch, many lessons are being learned and the iterative nature of the language is driving many new forms of learning.
In the last few months, Scratch 3.0 has come online. While currently available as a beta version, the support for many powerful plugins is incredible!
Sadly, support for the SparkFun Picoboard is not yet available in Scratch 3. But, with the ability to use past versions and the addition of support for the micro:bit in Scratch 3, we are very excited for this new version.
For those who like to be on the cutting edge, check out ScratchX. You'll be able to find experimental extensions and play around with beta versions that are still in development.
We have watched with wonder and delight as Scratch has grown through the years and there will be, undoubtedly, more incredible changes to come. What's your favorite version of Scratch so far?