Coding, Computer Science and iPads – My Current View

student_ipad_school - 229

Photo Credit: flickingerbrad via Compfight cc

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.

There are exceptions though: Creatorverse, Garage Band, 123D Monsters

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

standards

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:

Apps

Beebot

This was one of the first apps I put on my home iPad and it still a hit “game” with my own children. There Bee-Boticonare 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.

This slideshow requires JavaScript.


A.L.E.X 

alexAn 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.

Daisy the Dinosaur

daisyicon

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

daisy

write and test simple programs
use logical reasoning to predict the behaviour of simple programs

iPad Apps: Daisy the Dino from Lambeth CLC on Vimeo.

catoshikeCato’s Hike and Cato’s Hike Lite

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

Sheli Blackburn has already started on such a document and this can be found here.

Cargobot

cargobotappAnother 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.

Codea

This needs a bit of work to get your head round and I am still not entirely sure it will be appropriate. codea-iconCodea’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:

Move the Turtle 

Scriptkit

PC

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.

This slideshow requires JavaScript.

Kodu

I have been using this pretty extensively this term and it seems to me that if you want to sell programming to older

kodu6

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.

This slideshow requires JavaScript.

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:

Scratch

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 slideshow requires JavaScript.

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.

20 comments on “Coding, Computer Science and iPads – My Current View

  1. Did you see the tweet yesterday by Dan Amos aka @bookcreatorapp (used to be @redjumperdan) – “I keep coming back to the idea of “Code Creator for iPad” for a gentle introduction to programming. Any interest?”

  2. Interesting article Ant. One of the challenges I found in teaching this area was finding a tool which would create an exciting outcome and teach key coding concepts at the same time… and on an iPad too. I couldn’t… so I making one…

  3. An excellent Blog as usual Ant. We are hoping to introduce Ipads in school and Ideas are always just what I need to encourage reluctant teachers. Helps to see children using them other than my DL’s who they see as ‘experts’

  4. Pingback: OTR Links 02/25/2013 | doug --- off the record

  5. I didn’t miss my stop but could easily have done.What a great, well considered and thoughtful blog that will serve all who read it and share it for some considerable time.It will be very useful in the coming months…,
    All the best for the future.
    Tom Whitehead

  6. Thanks Ant for sharing all this fab stuff. I am a big fan of a lot of the resources here and it’s great to be able to point other teachers in the direction of a post that describes them all. I have also learned about some new apps and am downloading A.L.E.X, creatorverse and Cato’s hike (which I love the look of) as I type. They will compliment work going on in school very nicely! Thanks again for all your hard work – it saves us all a lot of time!

  7. Like the old faithful Logo scratch can get large and do complex things it is used by OCT examboard for part of one of the GCSE Controlled assesssment taks.
    Sor more advanced Y6 small basic is worth a look as it uses code lines but through ‘intellisence’ (a bit like predictive text guiding you with what you can and cannot do next) and is not too syntax sensitive and can do much of the Logo actions etc in a graphics window

  8. Pingback: The Art of Scratch, Code Club and the ICT curriculum | cartesian product

  9. Have just reccomended this post to a colleague at Chigwell school after a discussion about ipads and coding. Great app ideas for KS1, thanks.

  10. Thank you for Cato’s Hike. Hadn’t seen this before. Some really interesting thoughts here. A gem to find as I’m developing my thinking around programming in primary school for my Masters.

  11. Pingback: We are Musicians – a Music Coordinator Tells us How he does it | Ant's ICT

  12. It’s a good list Antony. I’ve shared some of these with our trainees who found the contrast between Bee Bots / Pro Bots and apps like the Bee Bot and Cargo Bot app quite interesting – the former work well for play-based learning, the latter are clearly in a game-based mode, and these are quite different.

    Do check out Snap! 4.0, HTML/Javascript based implementation/extension of Scratch which will thus work in Safari on the iPad. http://snap.berkeley.edu/run

    Further up, Pythonista looks interesting (despite the price tag), and Fraser Speirs has written about a server based approach to coding via a terminal app – http://speirs.org/blog/2012/8/17/teaching-programming-on-ios.html.

  13. Pingback: Coding, Computer Science and iPads – My Current View | Computing Curriculum 2014

Leave a comment