Computer Science – or Programming in School – or BOTH?!

Recent blogs by Jason Gorman and Neil Brown about the differences between Computer Science and Programming have resonated.

To summarise, Computing at School, on the back of the Royal Society report are clear that we need to make Computer Science distinctive from ICT as taught in schools.  Their proposed curriculum includes programming but also includes other areas of computer science including computational thinking.   Jason Gorman seems concerned that an over-emphasis on computer science theory will bore students and put them off – when actually all they need to do for most real-life IT jobs is programme.

I think somewhere between the two lies a common ground.

I am head of ICT at a comprehensive school in South Wales.  We teach ICT to students across the age range and are well equipped.  Our schemes of work are currently largely traditional ICT based but it’s not all Office software – we teach a lot of web development using Dreamweaver and Flash.  We make changes to schemes of work every year mainly due to the increased ability of incoming students in year 7 and have been moving towards a more computing curriculum for some time. (“Computing” is the generic term used for Computer Science in schools – it will probably change).

I only started teaching when I was 32. Like Jason Gorman, I did not do a Computer Science degree and spent 8 years before teacher training working in the IT industry.  I did a Geography degree, because I enjoyed it, and with no real idea of what I wanted to do with my life ended up on the IBM graduate training scheme after a year as a pre-university employee with them (making spreadsheets).  Four weeks into my job I found myself on a COBOL training course.

Like many people in the IT industry I moved between different companies with mergers, takeovers, etc. and spent most of the time working within the insurance sector.  Initially as a COBOL programmer but then moved into more of a systems analyst role.

In trying to get more computing into our Key Stage 4 schemes of work my biggest concern is that we will focus too much on programming.  I don’t think I KNOW what computer science we should be teaching (and yes I have read the CAS proposed curriculum ) but I do feel that if we have students who can use Scratch to make a game and use Greenfoot to create a world – but little else – have we moved on?  They’re still users at that point.

I agree with Jason that we don’t want to be teaching too much computer science theory.  The analogy is made with Physics – everyone studies Physics but we’re not all Physicists.  True – but an understanding of forces (for example) is probably more useful in day to day life than a hash map (what is a hash map?!).  That’s probably a hopelessly crude analogy and undoubtedly demonstrates my lack of understanding.

However I do think we need to back up our exciting programming with more theoretical groundwork.  One of the reasons I stopped working in the IT industry and became a teacher was because I realised I was a good COBOL programmer but lacked the background to be a truly great programmer.  I can, and have, learned other languages, but my code never as efficient as I’d like it to be.

School children need to learn how to break down and analyse the world around them.  Ideally not in terms of making a cup of tea unless they are going to build a Teasmaid.  I have a student currently making a game of Tag in Scratch with 4 players.  He’s breaking down the rules of the playground game into an algorithm that he can then build in Scratch.  He’s defining and initialising variables, setting out the rules for each sprite, looking at which bits are repeated and can be called as a subroutine.

I’m concerned that my limitations mean he won’t get as much out of this as he could, but then I’ve always thought of these sorts of processes as intuitively logical.


I think we do need to get people involved in the IT industry at all levels (not just software developers).  In Wales there is a big push to “bridge the gap” and increase social mobility.  I’d agree with Jason that the answer is not to push LOTS more people into CS degrees (but decent increase in numbers would not be unwelcome).  Rather industry needs to look more at apprenticeships and other opportunities for school leavers at 16 and 18.  There are hundreds of jobs in the IT industry that could provide social mobility and we do need to do more to support this in school.  Providing we give a good background in both the theory and practice of computer science in school there’s no reason why a school leaver who is not academic, but is logical, couldn’t become a truly great programmer, database admin, software tester – etc.  We do however need lots of training for teachers like me, who want to get this right and not send lots of Scratch users out into the world.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s