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
http://news.bbc.co.uk/1/hi/programmes/newsnight/9612063.stmSome
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
http://myweatherblog.wordpress.com/livedata/ - you can read about some of the technology behind it here :
http://myweatherblog.wordpress.com/equipment-4/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:
http://makezine.com/
http://arduino.cc/
http://mindstorms.lego.com/en-us/Default.aspx
http://www.adafruit.com/blog/about/
http://www.oomlout.com/a/
http://www.modk.it/
http://processing.org/
http://hackaday.com/
http://www.instructables.com/