I read this interesting article by Idit Harel and it started me thinking, especially now that New Zealand has given the green light to the year 0-15 Digital Technologies curriculum.
I am a huge fan of 'Scratch' and all the other drag and drop coding apps there are out there - marketed well and connected to the current pop culture and interest of children. Yet I also recognise that Idit makes a valid point when she refers to "pop computing" the "light and fluffy version of computer science" as being "a superficial response to the increased need for coders in the workplace."
Idit draws a distinction between "coding tutorials" and "computer science" and notes a difference to "playing with coding apps" rather than "learning to design an app using code." As she points out "building an app takes time and requires multi-dimensional learning contexts, pathways and projects" .... and "it can't be done in an hour or two, with a few simple drags, drops and clicks."
The concern is understandable and real. Knowing how to use 'Scratch' or 'Tynker' is not knowing how to code ... it is a beginning .... and a very engaging beginning which has transformed the role and the popularity of coding but in itself it is not computer science. Too often I hear teachers express that their students ... "know how to use 'Scratch'".
Idit draws a distinction between "coding tutorials" and "computer science" and notes a difference to "playing with coding apps" rather than "learning to design an app using code." As she points out "building an app takes time and requires multi-dimensional learning contexts, pathways and projects" .... and "it can't be done in an hour or two, with a few simple drags, drops and clicks."
The concern is understandable and real. Knowing how to use 'Scratch' or 'Tynker' is not knowing how to code ... it is a beginning .... and a very engaging beginning which has transformed the role and the popularity of coding but in itself it is not computer science. Too often I hear teachers express that their students ... "know how to use 'Scratch'".
Seymour Papert (Mindstorms, 1980) identified the need for programming languages (used in educational technology) to have a 'low threshold and high ceiling (LTHC)'. This refers to making programming languages easy to get started with but also flexible enough so students can create increasing complex projects as they progress. 'Scratch' also included the term (in addition to low floor and high ceiling) of having wide walls so that a wide range of projects can be created to include all learning styles and interests.
There is no doubt that drag and drop is an essential tool in a teachers' computing 'tool-box' but not if the original intent from Papert of having a high (or no) ceiling is not embedded in teaching and learning programmes. It is important that, as teachers, we don't let ourselves, or our students, sit inside a comfort zone where they can make an app or game as a simple linear process that may only take one lesson. Instead we need to push that ceiling as high as it can go, allowing our students to fail and learning from their failures, and including the whole process of prototyping, identifying and solving problems, collaboration and critical and creative thinking - regardless of whether drag and drop or text-based languages are being used.