Saturday, October 22, 2011

ICT is not CS

Its been a while since I did a wordy post, but having just watched a short video from the beebs archive, its prompted me to comment on something I feel strongly about:

ukict != cs;

Sadly thats not going to mean a lot to most people, and therein lies my point.

In my opinion the current UK schools curriculum subject ICT is not fit for purpose. It is simply not a substitute for teaching Computer Science. It is creating a generation of mindless point and clickers.

And it seems Im not alone in this worry. Have a look at

Some schools even struggle to teach the basic ICT curriculum particularly well, but in reality what they need to be looking at is a return to teaching Computer Science. Scary - but its time for a rethink.

When I was growing up, if I wanted to play a computer game, I had to write it. Yes really write it - type in the code, line by line. I realise that for most people under the age of 35 thats kind of shocking now, but really thats what we had to do. The thing is, the need to do that, to develop your own software is now long gone. These days you just download an app yes??, or bung in a CD.....?

But ask yourself - where do these apps come from??? Someone has to write them.... That would be the software developers.

At school us forty-something developers did "computer studies". We learned all the basics (pun possibly intended!) of the nuts and bolts of how to write software. We also covered fundamentals such as boolean algebra and binary math. Yes, I know they are mentioned in the current curriculum - but thats it - they are just mentioned.

There is a whole generation now  who are, and probably only ever will be IT consumers rather than IT creators. We are educating the masses to blindly use software created by others rather than innovating new software ourselves.

We have to tackle this with our current teenagers or risk a huge skills gap in the future.

As followers of my assorted blogs will know, we have an "Emily". She is our daughter, and we think she is amazing. In a lot of ways however, she is very typical. Very typical of a bright 13 year old. She does well at school, but would take exception to being thought of as "Geeky".

The thing is that despite this non-nerd status, with a few sessions of goal based,workshop style teaching at home and a LOT of support on the practicalities of turning "what-if" into "how-to", Emily is able to turn out things like this:

For those of you who havent already seen it, thats live and historical data coming from a set of network connected sensors (which emily mainly designed and built) being collected, stored, graphed and pushed back out to the web using software that Emily herself wrote with very little help.

see - you can read about some of the technology behind it here :

With project-based workshops and goal-based motivation as the teaching method Emily has gained a good enough basic grasp on simple digital electronics, networking, programming and databases to achieve all this in a little over 12 months - probably equivalent to 3 terms classroom time.

If im honest, I would say with the same level of help MOST children in Emilys class at school would be able to cope with the key aspects of how this project works and as a group project would find it both attainable and enjoyable.

The import thing here is that actually projects like this tick so many of those all important ticky boxes for cross curricular attainmnet and key skills that it makes your hair curl!

So what is the current ICT curriculum asking them to do? Well, a lot of it focusses on skills like how to open a spreadsheet, create a powerpoint slide, turn the computer on and off without breaking windows. All valid skills - as an IT consumer - but not exactly inspirational for the next generation of Uber Developers.

An understanding of the mechanics of computing is not something we can just leave until AS level and hope that a few "bright" ones will stick with ICT long enough to want a career out of it. And a couple of lessons spent creating a web page with WYSIWG editor is NOT learning about programming. The science part of computing has to be there from the earliest days of learning.

So... what can we as parents do? Well, I suggest you buy one of the many workbooks available for the current curriculum and make sure that your childs school is teaching the existing curriculum well. But also to see what is not being taught.

We can of course lobby the government to rethink computing education in the UK - but educational reform tends to be a slow process, so we need to think about the short term too.

If you have the skills, you could do what a lot of us do and not only help our own children, but to volunteer to help run afterschool classes and groups to bring technology to the kids.

But, if I had to chose something to say to all parents to help their kids WANT to take a deeper interest in IT and technology - I suggest the age old way of teaching kids techy stuff - make it fun!

Download a copy of Scratch developed by the Lifelong Kindergarten Group at the MIT Media Lab (its free! - and windows/mac/linux flavours) and buy them a copy of this: Scratch programming for Teens

If you were paying close attention to the BBC video at the top of this post you might recognise the above image.

To pinch a quote from the scratch website:

"Scratch is a programming language that makes it easy to create your own interactive stories, animations, games, music, and art -- and share your creations on the web.

As young people create and share Scratch projects, they learn important mathematical and computational ideas, while also learning to think creatively, reason systematically, and work collaboratively."

Scratch is the Lego(tm) of the programming world. You literally drag and drop building blocks of code together graphically to add interactivity to objects. Its quick, easy and intuitive. But it is based on real programming constructs - decisions, loops, conditionals, variables, objects and actions.

Scratch was the first programming language Emily learned. I didn't teach it to her. She learned it. I simply installed a copy on her PC and said "hey - check this out - its kinda good". And she got it... She just Got It. Yes, I've offered the occasional bit of help now and then - and perhaps suggested she look again to see if the was a simpler way of doing something. But Scratch teaches itself.

Based on what She has learned, Emily now programs in varying degrees of depth - Arduino, C, Processing, PHP, MySQL and the Linux shell Bash. She still has a lot to learn, but she has the fundamentals and thats the key. She knows how to do useful stuff, and knows how to find out stuff she doesn't know. And that the core skill of anyone working in software design, or electronics, or engineering etc etc etc.

And if you are thinking that OK Scratch looks cool but what does it lead to?? - well... as commented above Emilys grasp of programming constructs come from her introduction via scratch, but sticking with graphical block programming for a moment further - the concept has been carried forward - again via MIT and Google - to produce App Inventor - the graphical development language for Android based mobile phones and other devices.

App Inventor will be Emily's development platform for a whole host of new projects over then next couple of years.

So Go ON! Get your kids into something thats going to change not just their world - but everyones. Who knows, the next app you download to your phone might have been written by your son or daughter!

Some more links (from Emily's bookmarks) to play with:

1 comment:

  1. * Yes I know this post appears on two of my blogs. The blogs tend to have widely different visitors, but this is something that intersects between both areas.