Beyond Scratch…

cropped-cropped-cropped-felix.jpg

One of the criticisms of the ‘old ICT’ curriculum was that it focused too heavily on teaching learners how to use a narrow selection of software. The new curriculum tackles part of this issue head-on, by transforming the curriculum from ‘using programs’ to ‘making them’ i.e. coding. Which, I think, is fantastic.

However, there is a second concern here which schools need to address to ensure our learners benefit most from curriculum changes; namely moving away from a ‘narrow selection’ of software. I think you could, perhaps, argue that future learners highly skilled in using Scratch, and Scratch alone, may have no more transferable knowledge of programming concepts than their older peers ‘famously’ skilled in using, and bored to death of, PowerPoint. They will simple be skilled in using Scratch and, as Scratch is superseded, their skills/understanding will become obsolete. For pupils to genuinely develop their coding ability (defined as a product of skills and knowledge) they need to use a range of programs so they can learn about the similarities and differences between languages and programming environments, and recognise the core concepts of programming that transcend all such scenarios. This deeper ‘first principle’ understanding is what we need to cultivate in our learners to ensure they can continue to learn and apply their skills and understanding as technology evolves. So what can we do in our curriculum design to aid this?

Well, this is a work in progress (!), but two points I’ve thought of for the moment:

Learning objectives, learning and language, should link to academic content and be program neutral. e.g. (a simple example!) ‘Use a conditional loop ‘- as opposed to – ‘Select the yellow if block from the command block within Scratch’

Exposure to multiple languages/environments: As discussed above, curriculum design should provide pupils with experience of a range of languages/environments. This should include text based  languages (such as Python). Some Python code equivalents of Scratch blocks appear below. This is a project I am working on at the moment!

Screen Shot 2013-03-09 at 16.29.34

Leave a Reply