I have spoken a lot recently about my frustration with a lack of apps that help teach children to code. Largely this frustration is centred around the resulting perception of ICT and edtech this limitation gives our schools. If a school invests wholesale in a set of iPads then the ICT curriculum for these children can be based largely around internet research, movie making and a collection of multimedia authoring apps. And though I love my iPads and iPad lessons the aspect of struggle or challenge for children using these devices is not always apparent or indeed talked about.
I am pleased that the proposed new Primary Curriculum has a strong emphasis on computer science, though it could do with being more balanced. As many have pointed out the place of digital literacy and media creation have been squeezed to be barely noticeable. It can seem to the casual viewer that they have taken the fun stuff away and what is all that talk of algorithms !!?However for too long we have talked up the simplicity of ICT, afraid that we might alienate less tech confident teachers. Many of us have pushed tools and apps at training sessions,on twitter and at teachmeets that are easy and sometimes free to use. Such multimedia tools offer great results and avoid “the technology getting in the way of the learning, to borrow an old National Strategy mantra.
In some schools there is still a confusion and a cloudy notion around what constitutes ICT. In some of the schools I worked at it could mean anything from whole class work on a whiteboard to using the laptops to type up our work. I always welcomed time during Subject Leaders events to push, promote and train people on the “control” aspects of ICT. This felt like authentic computer education, as so much of what we talked about in the primary strategy was about using technology as a hook to engage children into literacy or numeracy. Whereas control technology was often skirted over and it became acceptable that we just didn’t do that, perhaps because we’d lost the Lego pieces for the Mindstorms kit, or it was just too hard. Pete Yeomans has covered this well in his blog this week and this quote sums up the new/consultation curriculum very well:
So to the Computing Curriculum. It is, in my opinion a work of binary genius. It pushes the profession into a corner, and leaves us with nowhere to hide.
We cannot now argue at primary level, that using ICT as a tool to support the curriculum manner is an acceptable way of delivering the ICT curriculum. We cannot, any longer leave the elephant in the room alone. Control and Modelling was always the “Auntie Maud*” of the ICT family. It was avoided, difficult to deal with, out of our comfort zone, the bit of the curriculum you would prefer didn’t know your address. Now it is front and centre. In a binary curriculum with pretty unavoidable expectations
Well for me , I want work at a computer to contain an aspect of challenge for children and unfortunately that means that this will probably be a challenge for teachers too at times. Clearly, we don’t want ICT to turn into units of dull de programming lessons without t meaning or context- the 21st century equivalent of typing out lines of ZX Spectrum code from the back pages of a magazine. But, there is tremendous satisfaction to be had in building, testing, refining and admiring your own coded product. I think children should experience those feelings. Programming/ Coding can often be a source of thunks or challenges that call on you to retrace your steps and if necessary call for help from those around you. And if you are building a meaningful
Although a greater emphasis on coding and computer science is welcomed, it can not be taught in isolation of other digital skills. Image manipulation, sound editing, web research skills, understanding data are all skills that give context to and enhance lessons on using and writing code. In terms of employability and twenty-first century skills they are just as important too. If we are aiming to bolster our economy by immersing our children in code then let us not forget some of the other technology and softer skills they need to compete. My recent time spent as a leader of a development team in a software company, has given me a unique and timely insight into these skills and disposition that our learners need in business. Of course new jobs and ways of working will form organically over the next ten years or so, but some of these will last the test of time:
- Problem solving – in coding not everything goes to plan, human error means that you need to debug and you need to know when it is time to call for help from your colleagues. Many of our ICT environments are not set up for this collaborative approach.
- Data Interpretation Skills - Google analytics provided us with a mass of data and using this in real-time was very exciting. Looking at the peaks and troughs on these line graphs was the most meaningful experience of data handling I have ever had. Add to this insights we’d get from our Facebook page and our blog subscriptions stats, we were awash with meaningful data. Despite the quantity of graphs and tables though it still needed filtering and sorting and mining, before it could help us make strategic decisions.
- Image editing – sounds obvious but I am not sure we have always talked about resolution aspect ratio, image formats and size. All of these have a bearing on the look and feel of a website and/ or blog. Make the right choices and your work looks professional.
- Consideration of audience – knowing your market and creating something that they want, part of a create, test, take feedback and amend cycle. Some schools do this very well already in the context of games creation. See an example of Year 6 children creating games for younger children to evaluate here.
- Presentation and demonstration – not strictly an ICT or technology skill but very much a business essential. Knowing that you only have a few minutes to present and/or sell the most exciting software or product is an exciting but daunting experience.Though it gets easier. You learn not only what you need to say, but you need to get your head around a new application very quickly and be in a position to showcase the best bits.
- Creative Idea gathering, sharing – What some would call brain storming, but when this worked best this involved a group of up to six people thinking up ideas and letting colleagues provide shape, affirmation or rejection to these thoughts. I found my ideas did not always come to me in this environment, often these popped into my head in the calmer environment of the drive home or the car, but this would be the place where you’d test out and build on these thoughts. If they got through they were worth developing into a product.
I started off writing this post with a view to sharing the few apps that could support the teaching of coding, so back to that scant but important list. I say scant because I do not feel currently there is enough on the app store to adequately cover a varied, balanced and progressive computing curriculum in primary phase. I am supplementing the list below with PC based sites and software, so now here are two lists:
This was one of the first apps I put on my home iPad and it still a hit “game” with my own children. There are two versions of this app, a free version and a Pyramids version which is just 69p. The apps work by providing a series of challenges for the bot to complete which increase in difficulty. Or to put it another way the routes demand a greater number of sequences. Though I think these are brilliant apps in that they do challenge the pupils to think like a Beebot, you would struggle to get more than a lesson or two out of the apps. Furthermore I feel that younger children need the very practical and hands on experience of working with a real Beebot. Therefore this app should augment your work with the yellow plastic critters not replace it.
An app which does virtually the same job as Beebot, but without the yellow one is A.L.E.X. In this app you need to navigate an astronaut to reach a teleporter. Not only could you use this app with Key Stage 1, you could also use this to support differentiation with pupils in Key Stage 2. It would be far better to present this app to a less able learner in Year 4/5 as opposed to the Beebot app. The bonus with this app is that you can also create your own levels too.
I have to thank Shelly Blackburn for putting me onto this app, she lists a number of tried and tested apps on her Roydon Primary site. This serves as a good introduction to the subject for children around year 2 or 3. You can either free play with the code blocks and make Daisy move, spin and jump as you please. Or complete the short series of challenges, these involve choosing the correct blocks and arranging short sequences and even a loop. The problem with this app is that there is just not enough of it! It has the makings of a great app in that it has a simple interface, a great context for learning and it gets progressively more difficult. With each challenge there could be the opportunity to learn a different aspect of programming, but there are only around four five challenges. You are left wanting more. So come along Daisy Developers give us some more!! Looking at the entry on iTunes this app has not been updated in more than a year – it is well over due a version 2.0
write and test simple programs
use logical reasoning to predict the behaviour of simple programs
I am surprised I have missed this app and what’s more it is actually pretty good. Though it is essentially a quest type game you control the action by writing programs. These are sets of linked symbols, you may need to include loops on occasions and you can also fork the branches of your program based on true or false inputs. For example if you see a star walk towards it and turn away if it is nowhere to be seen. This is not a million miles away from Kodu and is certainly the most encouraging “programming” app I have come across. This is typical of the app culture we live in with IOS devices, you can go from bemoaning the lack of any clear apps on this theme about a week ago to finding something like this by sheer accident today.
I’d like to thrash out a progression document for where all these apps fit and where they can be matched with specific objectives. Though it is currently slightly problematic due to the ambiguity of the statements however the app we have just looked at may well tick any of these boxes:
Key Stage 1
- write and test simple programs
Key Stage 2
- use sequence, selection, and repetition in programs; work with variables and various forms of input and output; generate appropriate inputs and predicted outputs to test programs
- use logical reasoning to explain how a simple algorithm works and to detect and correct errors in algorithms and programs
Another app passed onto by Sheli Blackburn. I had dismissed it for a while, but my recent quest for apps of this nature has brought me back to look at it again. At first it seems straight forward enough – create a sequence to move some blocks from one part of the docks to another. However, the object is to write the most efficient program and this means reducing the number of steps to move the blocks. It gets complicated too as sometimes the blocks have to be rearranged by colour or in a number pattern. So to get the job done you’ll need to include subroutines, loops and variables such as if red block then goto line 2. Quite addictive and I have been so impressed by the learning thunks that it has thrown up to me that I am building it in to next term’s scheme of work. Another great feature of this app is that you can record your solutions and export these to the iPad camera roll. This feature helps to answer that age-old problem of getting stuff out of the iPad for display or assessment. Did I mention this app was free by the way.
Here is an example of a solution to a Cargobot problem, uploaded earlier this week from my faithful old iPad 1.
This needs a bit of work to get your head round and I am still not entirely sure it will be appropriate. Codea’s makers have bold claims about this app, you can apparently make games and simulations with this app that is like “garage band of coding”. Well when I tried it a few months ago I did the obligatory “hello world” and fiddled a bit but not much more. But since then it has undergone an update and I have played with it some more. Essentially you have a number of projects for which you can view the code. You can then alter the values in aspect of that code and make the games, tools or animations your own. I am going to continue to play with this app and weigh up whether it could fit easily into a year 6 unit of work. Certainly the video below would have you sold – oh and by the way this app does cost – quality normally does.
There are other apps I still need to look at, but I’ll come back to these in a future post as this is already way too long- notably:
2DIY – the PC based version – once children have mastered the skills of creating challenging 2D games then they can begin hacking at the code by altering the variable in the Action Script. Ahead of its time and much-loved by primary schools due to its versatility It very much puts code or script in context as changing variables can make the game more or less playable, for example adding teleports, power ups or changing the speed of the protagonist. The trail blazer for using script in this way is Simon Widdowson who has curated a vast collection of script examples on his 2DIY archive, though a slightly more accessible route maybe to look at the coding cards put together by myself and the Redbridge games network.
I have been using this pretty extensively this term and it seems to me that if you want to sell programming to older
primary pupils then this is the portal to do so. My pupils do not really view this as programming, they see it more as playing. Though I suppose you could argue the process of having a go, testing, debugging and problem solving could be deemed as play. In order to produce a playable game children need to construct lines of symbol based instruction based on “when” a condition or event occurs then “Do” /execute an action. Though I am a fan of Scratch and in many ways it is more versatile, Kodu binary approach of when and do and symbolic code lines are more accessible for pupils and teachers. Though do not get the idea that is easy stuff, with thorough planning and perseverance pupils can come up with some very complicated games. Kodu’s other appeal for me and my pupils has been the visual 3D editor that is used to build the gaming environment. This gives the coding context and adds a further creative spark to the task of game design.
For first time users Kodu can be a little daunting, but there is already a wealth of user generated guides and help videos on the internet. One such resources is a series of tutorial videos put together by Carole Rush a UK based teacher. A playlist of these youtube screencasts is embedded below:
I really do not want to talk about this in more than a paragraph as sadly in some debates this powerful and free piece of software is becoming synonymous with the new curriculum. Everyone from Mr Gove to your classroom assistant will talk about this as being the answer to covering the new Computer Science Curriculum. In my view this should form part, but not all of the programming diet of our pupils. Just as there are different programming languages there are also different methods of piecing together code and Scratch’s Lego like blocks should not be seen as the only way. I think children need to work with a range and gain an appreciation of lines of text-based and object-oriented scripts. Let us not throw out LOGO or Lego Mindstorms / 2 Control just yet!
This year I have found a new appreciation for Scratch as I have worked with my code club group of Year 5 and 6 pupils. The tasks from Code Club really do push the children to their limit of skill and understanding. I have been thrilled by the diligence and perseverance my club has brought to the problems. But, though Code club is a great way to stretch pupils it could do with some entry-level stuff. Someone needs to write some lessons that explain the different coding blocks in more detail and set children up in a way that allows them such fluency that they can more easily build projects from the ground up.