Showing posts with label Computer Science. Show all posts
Showing posts with label Computer Science. Show all posts

Saturday, July 30, 2016

Pop coding .... can drag and drop be too easy

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'".


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. 



Friday, December 12, 2014

Computer Science Curriculum

At times I wonder when we should teach computer science, how we should teach it, and should it be taught as a separate skill set.

Reading this document - Computer Science: A curriculum for schools didn't help me at all with my dilemma. I love teaching computer science through such things as coding apps and I would advocate 100% for a the importance of having students develop computer science skills yet somehow I am not convinced by the thought of a computer science curriculum.

I am a tick box/check list type of person often as I feel, complex tasks, if simplified down into tick boxes and check lists are easier to manage but, I also feel that simplifying complexities in this way detracts from the intricacies and depth which are the things that make the complexities so interesting.

While the linked document is very valid, and helped me clarify a lot of my thinking, and it certainly doesn't recommend a tick box/check list approach, it did encourage me to think about my integrated approach and in particular the clarity of my assessment with regard to computer science. Looking at the programming "What a student should know?" part of this document I realise by using Scratch programming for students to create interactive animations they have achieved the Key Stage 2 and Key Stage 3 outcomes for programming but the problem is they would not have known they have achieved them. So I am probably, in my avoidance of check lists and tick boxes not letting my students be aware of what great programmers they are (at a simple level) and one of my goals, which is to improve their interest in and confidence about computer science has been totally defeated.