More options for taking Scratch into Javascript

It’s a bit like Star Trek, a mission that was supposed to last only a short time but turns out to be endless. Trying to find a smooth transition from Scratch to Javascript continues to plague me; but there are some new tools that look pretty good.

As I reported a while ago,S2Js.com provides a nice structured tutorial explicitly taking students through the process of building a game by teaching Javascript while referring back to Scratch blocks. The big limiting factor seems to be the willingness of students to actually read materials and work through a step-by-step guide. For real traction it needs a classroom structure to move the students along and that’s how, by all reports, it is being used in the Baltic states to great effect. Outside the classroom environment, for a self-motivated student this is a great program.

So what’s new?

First there’s WoofJS – which “mirrors Scratch to provide a gradual transition from block-based to text-based coding”. WoofJS provides a list of Scratch blocks and then provides the corresponding Javascript in a nice environment where it’s quite easy for students to build good apps. So for example WoofJS shows the If…then block and then shows the Javascript as:

if(/* condition */){/* then do stuff here */}

Students then copy and paste the Javascript into the sandbox workspace. This approach seems to work well and allows the students to clearly see the Javascript they are creating. The creators of WoofJS have done some neat stuff making it so that, within their working environment, Javascript works a bit more like Scratch. One of the great things about WoofJS is that, due to deliberately mirroring Scratch, it handles things like two sprites touching. That’s exactly the sort of thing kids making games to learn want to be able to do and handling that sort of activity is crucial to medium-term engagement.

WoofJS is still in development and there are a couple of rough edges that need smoothing and improvements it’d be nice to see – making sure all Scratch blocks have an equivalent or an explanation on why they are not there, for example. There’s nothing fatal; it’s completely usable today. Overall this is an excellent transition for a clue-ey student.

The second program worth looking at is not an explicit transition from Scratch, however it is a neat way of introducing Javascript using blocks. App Lab is like Scratch in that it uses drag-and-drop blocks that are organised by function and click together like a jigsaw puzzle. It does not, however, try to mirror or restrict itself to Scratch. That makes it less of a simple transition, but much more powerful in the end. One of the lovely features of App Lab is that you can toggle your view between showing blocks and showing the underlying text Javascript. For a classroom environment using blocks and so removing the inevitable typos when 30 students start to input text is a great, great idea. Using blocks allows students to focus on what they are building rather than what they are typing; but by toggling to text they can see, and learn, the Javascript. That said, the blocks don’t really hide the Javascript they just make it simple to implement.

None of these programs is the single magic bullet. Perhaps such a thing doesn’t exist. S2JS.com is a self-contained course that will take the focused student on a journey. WoofJS is an ideal sandbox that allows a student to take their approach in Scratch and begin to translate that to Javascript. App Lab is a lovely environment for learning Javascript using blocks which is brilliant anywhere, but especially in a classroom environment.

All three are really clever stuff and perhaps the level of activity we’re now seeing in this area is an indication that the mission to find a smooth transition from Scratch to Javascript will not, after all, be endless.