back to article Compulsory coding in schools: The new Nerd Tourism

The writer Toby Young tells a story about how the modern 100m race is run in primary schools. At the starting pistol, everyone runs like mad. At the 50m point, the fastest children stop and wait for the heavier kids to catch up. Then all the youngsters walk across the finishing line together, holding hands. I have no idea if …


This topic is closed for new posts.


  1. John Geddes

    Isn't it about letting kids make things happen?

    Don't teach coding because it is a Good Thing.

    Give kids from about 7 or 8 the chance to work simple chips, sensors, lights, speakers and solenoids - and let them make machines that do things.

    At that age, few have the skills to create mechanical machines, drawings or creative writing that will genuinely impress peers and adults - but with some imagination and a bit of patience, they can develop a bit of kit that is reasonably impressive.

    All will learn about logic and problem-solving, which are real skills that would be good to see more widely in the population. And some will find a joy in making physical things that might just help reduce the UK's century-old prejudice against working to design or make useful objects.

  2. George 8
    IT Angle

    Surely we have to try?

    AndrueC: Valid arguments, but cant see the teach the kids angle.

    A little bit of knowledge does no harm - it's essential: I have to agree.

    AndrewO: You are the best. Stimulating discussion on a daily basis. Well done again.

    My take. I am of the Commodore Pet/ZX81 brigade. I loved it and have been a developer for decades. I still love it. I have 2 kids and some nephews. They have an interest which I am prepared to encourage and help as much as I can. I am careful not to force feed, merely to ensure they get the answers to questions or at least give them the correct questions to ask to find the answers for themselves. All sounds ok. Nah! These are bright kids. They are loosely driven by similar goals to the ones I had all those years ago. Ok, wiriting Space Invaders was all I wanted to do, and make money, but they are interested in writing games for phones and making money. Its close to the same.

    There is a difference though. They are affraid of experimenting. Is this the constant story we are feeding them about viruses? Is it that they have seen the PCs crash and loose their work? They definately have fear, and this is where I hope the Raspebrry PI experiment might just help.

    I dont quite agree with AndrewO on this, I think we *have* to try to engage the children. In a year of 120 children there may only be 1, 2 may be 5 kids who find the subject interesting, but in inner cities that could make a difference to a lot of families. IT teaching is school at present is worse than dull. It is also not encouraged. My eldest child wanted to take IT in his GSCE options but was discouraged because IT was where all the dim kids went. How did this happen? It was metal work in my day -- only the really clever mathematicians and scientists were able to do computing.

    Something needs to change. We need to raise the profile of developing in the UK. Why not teach some python or some other OO based scripting language. Hey at a push, PHP OO, but at least try to give the kids something. Why not put the elitism back in to IT? Why is it only the dim kids that do IT? I guess thats because they teach the dim kids how to lauch Word and what the baskspace key does. (and even there I've seen instructions inidcating the backspace key yet showing a picture of the delete key!)

    Raising the standards of IT education and therefore the entry criteria in the classroom can only be a good thing and I encourage the drive to do this. Make IT hard, interesting and stimulating. Hey you may end up with a class of 30 bright kids and as a country we will all benefit in one way or another...

  3. ukgnome

    Programming is not for everyone

    All those years ago I had an introduction to programming on my YTS course. This was however 1989 and because I wasn't a great scholar I also wasn't a great leaner of programming.

    Having said that I had already identified that the IT industry would be huge, and whilst you need people to code you also need to people to understand what coders do, and how that relates to the real world of computers. Back in my day they were called operators.

    Now fast forward 20 years and we now have technicians, engineers, programmers and helpdesk. this is mixed into lines or divisions of labour. Each a vital link in a chain of events that should please the average end user. Whilst I don't scipt or build simple batch files (anymore) I still know how to. Technology has evolved so I don't actually need to script, which is great as I find it totally boring. A couple of years back I accidently wrote an intranet for a company. Whilst the majority of the code was borrowed I did carry out some tweaks. This would not of been possible if I hadn't learned a little of HTML and CSS.

    I gues what I am trying to say is programming is not for everyone, but a great understanding of how a program interacts with the hardware and fleshware is important.

    1. J.G.Harston Silver badge

      Re: Programming is not for everyone

      <quote>A couple of years back I accidently wrote an intranet for a company</quote>

      Beg pardon? You don't *write* an intranet, you *build* an intranet, you wire up, solder together, plug together an intranet.

    2. Sooty

      Re: Programming is not for everyone

      Define programming though!

      My first experience of "programming" in school was in primary school, some external company brought in a turtle* robot that all the kids had a go at programming to navigate various courses.

      It was a fun way of learning basic programming concepts, and pretty astounding to us at the time, the 80s.

      I think this level of programming *is* for everyone, the really basic concepts of a scripted series of actions, possibly even throwing a few variables in. Get any more complicated than this though and you're wasting it on people who aren't interested.

      * if they're not still around, or you're unfamiliar, they were a domed little thing on wheels, with a. Keypad on top, you keyed in basic instructions such as forward 2, turn left, forward 3, etc, hit go and watched it drive into a wall.

  4. Eddie Edwards
    Thumb Up

    A good article

    I disagree with a few points though.

    Firstly there is this Orlowski-style simile where he compares compulsory coding over a 1- to 3-year period with a journalist doing it for a day. Doesn't really mean anything. You can delete the whole journalist doing HTML part from the article and lose nothing.

    Secondly there is the part about where does the time come from for coding. Well, the time comes from not teaching kids how to use Word so much. There already is time on the curriculum for IT, the question is how do we use that time.

    Thirdly there is this Wizard of Oz nonsense. Abstraction is what computers do. The whole point of using computers, at every level, is to rely on the man behind the curtain. But each man behind a curtain is a piece of software, or hardware, which talks to a man behind another curtain. Ultimately it's all governed by the quantum wave equation, but fortunately you don't need to be able to solve that in your head in order to add a div element to a webpage. That's progress, Andrew, not philistinism.

    But I think the main reason Orlowski falls down here is due to his lack of imagination. This article is good in that it does acknowledge the current state of things rather than appealing purely to historical precedent, but we're not teaching kids to enter the workforce of 2012, we're teaching them to enter the workforce of 2016 or 2020, where they will stay until 2060 or so.

    Now, it is noticeable today that not many people program - it is a vocation, not a skill like driving a car. But the benefits from using computers are always greater to those who understand them, while the ease of programming and understanding the programming models is increasing. It is perfectly conceivable - perhaps inevitable - that by the middle of these people's careers it will be quite normal for everyone to be doing programming at some level. Even now, a manager who can write an Excel macro is going to be more productive than one who has no idea.

    This idea may be speculative, but the idea that the industry will be unchanged in 30 years is obviously wrong. What we can agree on, surely, is that computers are pretty important, using computers beyond a certain level requires some programming knowledge, that basic programming knowledge is easy enough to teach, and that teaching kids how to drive the UIs of programs which may not be around in 10 years is stupid? In which case, teaching programming at years 7-9 seems to be a no-brainer.

    I also find it somewhat bizarre to find anyone arguing for the status quo in education today, but hey.

    1. Andrew Orlowski (Written by Reg staff)

      Re: A good article

      "You can delete the whole journalist doing HTML part from the article and lose nothing."

      That's very true, but I thought Rory's article was illustrative of the make-programming-compulsory campaign's mindset. And his Tweets were quite revealing too: kids won't start coding unless the authority figures says so. Really? It's very patronising.

      Your point about Excel is a really good one: instead of "teaching programming" shouldn't we be teaching skills which use just happen to use computers? Excel can help with calculating NPV and regression analysis, the important thing here being the NPV or regression analysis.

      "I also find it somewhat bizarre to find anyone arguing for the status quo in education today"

      I would as well. But that bit has been inferred and was not implied.

      1. Anonymous Coward
        Anonymous Coward

        Re: A good article

        Every year we get a couple of A-level computing students for a couple of days of work experience, and we really struggle with what to do with them. Generally we talk them through a few basics of an application and let them loose on one of the development boxes to add a field to a dialogchen something based on what's entered, or something equally banal.

        The most shocking thing though has to be how much of a revelation it is. Even describing such simple things as the basic concept behind an event driven application are completely new. Even though you could download visual studio express and follow the tutorials to build one in an afternoon, no one had ever explained what it was, just the steps to go through to do it!

  5. John 62

    Compulsory coding is wrong

    Children should be introduced to the popular tools of computing (throughout the stack, from apps to presentational all the way down to logic gates) just like they should be introduced to music, literature, art, craft and design.

    You don't teach all children all the intricacies of music theory from the start, but you give them a recorder/keyboard and get them to play a scale and a couple of simple tunes, or a guitar and a couple of chord shapes, or a couple of drums. Let the interested ones flourish and try to support them as they learn and then the ones who have no interest can try something else.

    For computing, what needs to change is the CGSE curriculum, which was pretty dumbed down when I breezing through the course and it has got worse since.

    1. Bronek Kozicki Silver badge

      Re: Compulsory coding is wrong

      "You don't teach all children all the intricacies of music theory from the start "

      sadly. My son just completed his prep exam in piano and still cannot read notes properly.

      Back to topic at hand: I don't expect kids to be able to write a "computer program", but being able to write function calculating factorial or fibonacci series in some simple programming language would seem pretty basic thing to do.

  6. AndrueC Silver badge

    Out of curiosity how do 'older' disciplines handle this? For instance electronics - who teaches people how to design a circuit? How to design logic circuits? How a transistor works? Do the 'old guard' there lament the fact that most of it these days is just connecting chips or modules together?

    I raised this question a while back when I commented about an El Reg article that felt it necessary to point out that C++ was still being used and one punter admitted that he had no idea even though he was a software developer. Are we actually heading toward that old Sci/Fi idea where civilisation collapses because no-one knows how to do the simple stuff.

    As I think I wrote in a reply to that punter: The cloud is all well and good but it is still dependant on assembly language.

    1. Anonymous Coward
      Anonymous Coward

      how do 'older' disciplines handle this? For instance electronics

      They buy a kit from Maplins

    2. PassiveSmoking

      I learned a lot of the stuff you mentioned at high school, including fabricating circuit boards with a CAD program running on a BBC micro and a vat of etching chemicals.

      1. milliganp

        Vat of etching chemicals!

        Heaven forbid, the health and safety brigade would never allow such a thing.

  7. Crisp Silver badge

    Skills Children Will Need In The Future

    "The wars of the future will not be fought on the battlefield or at sea. They will be fought in space, or possibly on top of a very tall mountain. In either case, most of the actual fighting will be done by small robots. And as you go forth today remember always your duty is clear: To build and maintain those robots." - The Simpsons.

    Obviously, robotics is the subject we should be teaching our children?

  8. deadlockvictim Silver badge


    I like the idea of teaching relational database theory and practice in schools. It gives both logical theory and real world practice. SQL is easy enough at the beginning but it can get quite difficult when the conditions become complex. Not to mention the importance of backups after you've just deleted the contents of a table.

    As well as that, being able to create and use a relational database is a useful skill in the real world, especially in an office where everything is done on spreadsheets.

    SQL is scripting rather than programming, but it would expose pupils to logical thought and the necessity to formulate clearly what is to be done.

  9. Anonymous Coward
    Anonymous Coward

    Hmmmm, so what's the proposal?

    My daughter was found to have an outstanding ability at football in her school that her parents never discovered as we never took her to a football pitch as she'd never shown any interest. I mean, she's not just good but seriously good and can "Bend it like Beckham". But still she's not really interested in football and is much more focussed on an odd hybrid of maths and art but I'm happy that her school are working with her talent, not pushing her - letting her engage at her level. I'd be horrified if they discontinued her other lessons and drove her down her path of her "natural" talent. We need to maximize exposure and support for a broad range of interests (including all IT) and opposing the idea cause it's a bit "light" is ridiculous.

    It's the classic 3 circles of life development: what you're good at, what you like doing, and what keeps you fed/wealthy. Our schools need to support our kids to find their own sweetspot. to that ends, I can't quite see how the author is proposing something to help our kids find a sweetspot and is more a suggestion that we identify a few talented kids and push them toward the "what you're good at" and "what keeps you fed/wealthy" with little or no regard for the "what you like doing"... might explain the high rate of antidepressant use among IT staff and SW developers.

  10. Anonymous Coward
    Anonymous Coward

    I personally think my own education was about the right level and pacing as far as education in computing went - to give it some chronology, I left secondary school in 2000.

    Now, from as long as I can remember, we had computers at home, a ZX Spectrum then an Amiga then a PC, each for several years. And from an early age I was introduced to programming by my dad, so it's always been something I was familiar with.

    When I first entered primary school, they didn't have computers. I don't remember seeing a computer in school for the first couple of years.... it would have been year 3 when I first saw a computer in school, and it was a BBC Micro. A simple enough program where people were entering numbers to draw simple graphs (mirroring the stuff we were doing in class as a whole), plus a few other educational programs. Even then, those of us who were more comfortable with the computer were allowed more time on it, and those who weren't as comfortable (and who didn't go into computing later on) didn't have to.

    Through year 4 and into year 5, more of the same: those who were more familiar with them were allowed more time on them, doing more complex things. I can fully remember writing stuff in BBC Basic and Logo, for example. Round about year 5 was when I started to see the Acorn Archimedes being introduced. Kids were given more scope with getting comfortable since it was a case of using a mouse, something they could interact with that felt more natural. But the scope of what was done was mostly pootling about with the art program and a few educational things again - it was almost like a second wave to see who was comfortable and would progress, and who wouldn't.

    Then I joined secondary school, where it all changed. At this point, pretty much PCs everywhere, but also there's an increase in comfort levels, as it wasn't just a single machine in the classroom, it was one between two or even one per student. And we were encouraged to experiment and try things out for an hour per week.

    Then on top of that, one module in 'Design and Technology' during year 7 was to implement traffic lights. A simple I/O box with 8 outputs and 4 inputs, and turning a traffic light to red was as simple as turning on the relevant output with a dedicated instruction (i.e. 'Turn on 1'), and students could see that the simple instruction had consequences. And of course it got more complicated by having multiple lights interacting - while there's little skill in implementation, it's a classic case of approaching it from the design/analysis side, which is what it was teaching, of course.

    There was a little more of that later on, but most of the compulsory education thereafter was in ICT, i.e. using computers to communicate, rather than as part of computer science. I don't have a problem with that - we live in a world where using MS Office is a staple of the workplace, but those who knew about programming etc. were actively encouraged to make more of that.

    Consequently when I first encountered programming properly at A level (2001-2), it did not surprise me that we spent a lot of time on proper design and analysis, on database design, entities and relations. We then also spent a lot of time in Visual Basic, but using it to implement basic constructs like lists, trees and so on, plus a few lessons on assembly language and even a couple on Prolog. In other words, a decent enough (in my opinion) grounding in computer science in general. Oh, and we spent the grand total of one lesson (1 hour) on HTML, and in fact I led the class in explaining it because I knew it better than the teacher did!

    And today, after a career in financial services (that I sort of fell into), I work in computing. I feel comfortable with the journey I had, where those who weren't interested or didn't really have much in the way of aptitude for it weren't pushed through it, and probably wouldn't have made much of it even if it had been compulsory, while the few of us that showed an aptitude really went out and out into it in the end.

    The tl:dr; version is that I'm all for encouraging those who have aptitude in an area (like I had no problem consistently being last in PE and those who were far better being given preference during PE to pursue their aptitudes), and I'm not sure what you could teach out of comp-sci that would be generally useful to most students. But ICT as it currently stands would be worth teaching to all, as it currently is, because most students will end up using ICT generally.

    I also think that the one-day-of-HTML is well-meaning but somewhat misguided, it's like showing an avid reader how part of the book is printed, not the process in how to write a book, which is the part currently lacking.

  11. Anonymous Coward
    Anonymous Coward


    Surely school is all about being exposed to a wide range of different skills - some you'll hate and be terrible at, others you'll want to spend the rest of your life being involved with!

    I got into coding as part of my marketing career - just doing bits of HTML, Javascript and PHP here and there on websites and for e-shots. I have to admit I love it and the idea of writing whole programs is amazing to me. However, I chose my path and to retrain now...well it is possible but not without a lot of upheaval in my life. Selfish I know. The point is, had I had the opportunity to experience coding in my teens, it may well have ended up on my career shortlist!! So I think the question is more about how do you introduce enough meaningful teaching to give kids a taster without going overboard?

  12. Fenton

    macros VB for apps?

    Is programming macros not programming?

    You might learn Excell at school, but what about learning VB for applications at the same time?

    Our best PAs have learned some VB and produce some really powerfull spreadsheets (OK not going to get into the argument of having a proper app vs Excell being the corporate database).

    Kids need to at least learn to appriciate how a computer program works not just how to use it.

    Maybe we should go back to good old BBC basic a nice old 3GL or pascal?

    Easy to learn and quick to get results even if you do produce horrid code.

    I learnt BBC basic when I was 15 and even got into a bit of assembler to speed things up. It is not hard for kids who have a knack for logic.

    Do some fundamentals, i.e. core office skills for everybody with an introduction to programming and then have a seperate subject kids can pick who want to go down the programming route (they will probably not even need to learn office skills as they'll pick it up quickly anyway)

    1. The BigYin

      Re: macros VB for apps?

      "Is programming macros not programming?"

      No - it is an abhorrence to all that is good an proper in the world.

      "Do some fundamentals, i.e. core office skills for everybody"

      Yes, teach the fundamentals. Not "How to push buttons in Word" but the actual fundamentals. "This is what a mail merge *is*", "This is what a database *is* and we use it to drive a mail merge" etc.

      As Andrew said above, using Excel to do NPV or regression analysis is not the important bit. The NPV or regression analysis is.

      There is far, far to much teaching of button-pushing and nothing about the actual fundamentals (and how to tinker).

      1. Andrew Orlowski (Written by Reg staff)

        Re: Re: macros VB for apps?

        "There is far, far to much teaching of button-pushing and nothing about the actual fundamentals (and how to tinker)."


        Teaching everyone the basics of network architecture, "what's a server?" would be useful.

        Optional programming is fine by me.

        Specialising earlier (as in France) is probably a very good idea.

        But Mystical Rory's claim that we understand "the digital world" better with a bit of coding - induction? osmosis? - is weird.

  13. Anonymous Coward
    Anonymous Coward

    Yes, to a point,...

    please do educate kids about technology (how a computer works in general, basic troubleshooting, components, logic, etc).

    BUT! temper that by pointing out how limited this knowledge is in terms of proper ICT.

    My personal bug-bears in the 90s were corporate solutions put in by "a mate of mine who reckons he knows a thing or two about computers" (eg. next to nothing) and the attendant headaches supporting said solution. Also the "argue-ers" who insist that because I cannot refute their position in terms they understand, that the fault is with my argument and not with their knowledge (SAP Basis bimbos are particulartly good at this).

    Context! Context! Context!

  14. Paratrooping Parrot

    I am in two minds. I would like youngsters to get some idea of what is programming. Probably letting them use something like Scratch or Python will give them an idea. Python is probably the closest we have available that is similar to Basic as we in the 1980s had. Scratch will be suitable for the junior school and early senior school. Python should be suitable for GCSE levels.

    What really got people interested in programming was using the Turtle with Logo. If the schools can get a Gertboard with their Raspberry Pi, then that will be excellent. They will see motors turning and LEDs flashing, which will really inspire the children. They may want to carry this on and become the next Alan Turing.

    However, telling people that HTML is programming is really putting the hopes of those who wish to do something useful and is belittling to those who program.

    1. Anonymous Coward
      Anonymous Coward

      "the closest we have available that is similar to Basic"

      Don't we still have Basic?

      I started programming in Basic when I was very small and still think it's a great way to learn.

  15. Torben Mogensen

    How to teach programming to kids

    Many of the efforts to teach programming to kids has suffered from the desire to allow the kids to make cool stuff (animations etc.) happen on their screens within a few minutes after teaching starts. This is supposedly to motivate the kids to go on exploring their tools.

    But in order to get this stuff on the screen so quickly, the tools that are used do a lot of things under the hood that the kids have no control of or understanding of. It is a bit like thinking you can learn electronics by plugging together two black boxes to make a radio. The kids can see the cause and effect (if I put together these boxes, sound comes out of one of them), but they have no understanding of why this happens.

    So, instead, the kids should use extremely simple languages where every minute step is explicit. It might take a while before they can make something "cool", but they will understand what happens when they do.

    1. Measurer

      Re: How to teach programming to kids

      Very good point.

      As an electrical/electronic engineer, I reckon that getting kids to understand the basics of Boolean logic, looping, value testing etc. could best be done in a science lesson (wire up two switches in parallel which can both drive an LED, use a comparator to test input voltage against a preset). These skills could then be transferred to CS lessons with the analogies pointed out

      i.e. those two parallel switches = a logical OR function, the comparator can be thought of as looping through an IF ... THEN statement until a value exceeds a preset.

      Software specific concepts could then grow out of these fundamental principles.

      I once had a problem where I had to illustrate the function of hardware interlocks preventing a lift from operating. Rather than take the management through the circuits, where the mysteries of safety relays and Probability of Failure on Demand calculations would hopelessly confuse their poor minds; as I knew the logic which the hardware implemented, I coded up an App in VBA, moving some graphics about on a form. Hey presto cue 2001 Space Odyssey start scene as they grasped it!

      I'm no expert at software, but having a logical model of the functionality got me 2/3rds of the way to coding it up and being able to communicate the concepts to the customer.

    2. Anonymous Coward
      Anonymous Coward

      Re: How to teach programming to kids

      Agree--many of the assumptions that adults make about children are simply wrong, e.g., they have short attention spans that must be catered to, and they can only pay attention to something if it involves things that are animated or explode etc.

      The Tipping Point has an interesting discussion about how Blue's Clues is a dramatically superior TV show for teaching children vs. Sesame Street because it involves focus and repetition vs. many short sketches that supposedly cater to short attention spans.

      Personally I spent many happy hours when I was a small child implementing "guess the number" games and similar in BASIC on my Commodore 64 even though I also had a large collection of video games.

  16. tmcd35

    Theres more to computing than programming

    I agree whole heartedly that ICT lessons should not focus on the mundane Word, Excel, Powerpoint activities. These are cross-curricular applications that should be taught in a cross curricular way.

    That said, a a nation of Scratch, Visual Basic and Logo coders isn't what we need. The kids would be better served with a broader ICT curriculum coving things like File Systems, WIMP and GUI's, Networking, Systems Architecture, etc.

  17. milliganp

    Two Penneth Worth

    Firstly I agree that Rory Cellan-Jones not knowing the difference between code and data shows just how little grasp he really has on what constitutes programming. - Nonetheless a little bit of HTML, CSS and Javascript is not a bad way to introduce the subject given the ubiquitous use of browsers.

    What I see as essential however is that we don't con ourselves into believing that we are teaching programming if we never get past the simplest of concepts and that we teach it extensively enough that an A grade cannot be achieved without demonstrable skill.

  18. Anonymous Coward
    Anonymous Coward

    Wrong end of the stick

    Everyone seems to be arguing on the basis that you should learn to code either to be a programmer or so that you can have the opportunity to be the programmer.

    This is the wrong end of the stick. I think coding should be taught, not necessarily in it's own module, because there are thousands of jobs / people that require coding or could benefit from coding that are not actually programming jobs.

    Accountants and insurers and bankers and every form of scientist ends up writing little chunks of (normally bad) code here and there.

    Every time I get hit with a spreadsheet full of VB or an access database, I wish that person had been taught to code. Just a little bit. A bit of decent logical thinking.

    Every time I see somebody painstakingly work through years of documents changing a logo or contact name; every time I see someone manually checking an emailed CV for keywords and then forwarding the appropriate ones on; every time I see any repetitive computer based job I wish that these people had some idea of the incredibly inefficient way they work.

    Of course, the number of clerical jobs would plummet...

    Btw, I did a computer GCSE around 1989. It was code based. Acorn RiscPC, ftw.

  19. mittfh

    Coding in schools

    When I went through the school system in the 1980s, PCs were relatively unheard of, as were ICT suites. Instead, most classrooms had a BBC micro in the corner, and pupils would take it in turns to use it, doing simple word processing in English lessons or LOGO!

    I only remember the computerised version (without attached floor turtle), although there were computer-controlled turtles available that could be programmed from the computer, or standalone turtles such as the "Roamer" which didn't require an attached computer, but had keys to enter LOGO-style commands mounted on top of the shell (just below the hole for a pen).

    That can get pupils thinking in terms of logic and pre-planning sequences of actions beforehand.

    However, the skills seem to have migrated upwards in age - a few years ago, writing a set of instructions for "making a cup of tea" were part of the KS3 curriculum. It's also typically KS3 where they first encounter the likes of Access and Excel, and whatever resources are used to teach them seem to turn a lot off - I had a brief spell as a secondary ICT teacher a few years back and discovered most pupils had a preconception before the first lesson that spreadsheets and databases were hard. Never mind simple control systems (which was a shared topic between ICT and D&T).

    Ideally, introduce them to the concepts as early as possible, build on them in a variety of different contexts (i.e. not just as part of dedicated ICT "Now we're going to learn to program a computer"), build on them in computer clubs etc. so that by the time they reach secondary school, most aren't afraid of computers and a significant minority will be sufficiently interested in them to do computer science (as opposed to half a dozen different varieties of "Useless Qualification In Using Microsoft Office")

    Find contexts that genuinely interest pupils, rather than an exam board's idea (e.g. the infamous DiDA "Five a Day" SPB), but perhaps more importantly encourage them to think for themselves across the board - DiDA was a nightmare to teach because pupils were too used to being "spoon fed" in other subjects, so expected everything they needed to be done handed to them on a plate. They couldn't understand the concept of spending even half a term doing preparatory work which would not contribute directly to their exam grade (the actual syllabus calls for 2/3 of the year to be spent building the skills, so the remaining 1/3 can be spent on the project itself. Needless to say, the school I was at's preferred approach was a 1/2 term overview, followed by the project, which was effectively spoon-fed them. Marking down previous assessments of the pupils' work (because it didn't meet the exam board's criteria) was frowned upon, and I'm pretty sure the other teachers completely ignored the guidance that stated that the more help you give pupils in their project, the lower the mark they get. That's before the unhealthy concentration on those targeted C+ but currently achieving less, and catch-up sessions at lunchtimes, after school, during holidays...

    Of course, the main problem with implementing a decent approach to ICT is that the vast majority of teachers don't have much experience with it themselves. After all, you have to find someone who not only understands IT and is qualified in it, but has the desire to teach and the right personality - not only to inspire and motivate the pupils but to grab their attention within five seconds of entering a classroom (especially the disaffected) and holding that attention until the end of the lesson.

  20. ElReg!comments!Pierre Silver badge
    Thumb Down

    Nonsensical article

    Well, the first page at least; couldn't bring myself to read the second one.

    First it is extremely obvious that the more kids are exposed to coding, the more "elite" coders you will end up having. That's just because you will end up hooking more of the extremely bright one, who would otherwise have turned into chess materminds or whatever.

    Second, no-one becomes an "elite" coder by themselves. The world is full of (extremely) bad coders -not even mediocre ones- because there are not enough of good ones, not because there are too many coders as a whole. Even "mediocre" coders and webdesigners would be a _huge_ step up from the current situation.

    Third, the kids who might turn to coding, and be good at it are likely to become malware writers or spam peddlers, lest you guide them in another direction.

  21. Anonymous Coward
    Anonymous Coward

    I've just sat one of the new July 2013 GCSE exams...

    I don't think Andrew has a leg to stand on...

    It covered - naming bits of a PC, upgrading PCs, logic gates, binary/hex and bit of debugging in what appeared to be BASIC...

    It's all about logical thinking and a bit of knowlegde...

  22. Anonymous Coward
    Anonymous Coward

    Yobie Tongue is wrong. That's not what happens.

    School sports day is an event used to detect the parents that cheer their kids on.

    Their kids, (and the parents if they cheer too hard,) are then sent for re-education.

  23. The Indomitable Gall

    Andrew Orlowski needs to spend a week in an office.

    In any corporate environment, you can find dozens of people "programming" at any one time. Whether it's a bodged-together spreadsheet or a VBA macro in Word, it's still programming. It's just very *bad* programming... because the people doing it aren't trained in programming.

    Programming is the art of automating information manipulation. Lots of time is lost in all desk jobs to people doing manually what they could easily automate with a simple shell script.

    Programming *is* a core skill for the modern world.

    Of course, it is correct to say that the people in charge of primary syllabus design don't really understand what programming *is*, and would most likely fall into the old web-design trap instead of teaching structured thought, but that's a different issue.

    1. ElReg!comments!Pierre Silver badge

      Re: Andrew Orlowski needs to spend a week in an office.

      You are almost right but for that:

      " the people in charge of primary syllabus design don't really understand what programming *is*, and would most likely fall into the old web-design trap instead of teaching structured thought, but that's a different issue."

      You seem to infer that proper web design doesn't require structured thought. That's extremely wrong, as is sadly demonstrated by the flurry of non-proper-websites floating around on the intertubes. Web design _is_ coding, and there is no proper reason to apply less stringent criteria to website design than to, say, Lisp programming. Especially considering that the single biggest attack vector these days _is_ improper website design. Admittedly I am including much more in the "web design" part than most syllabus designers would, but I believe I'm right and they -and you, by extension- are wrong. Which is also why I think that web designers should be treated (and trained) like proper IT professionals, not like the coloured-crayon pushers they are too often viewed and trained as.

      I still upvoted your post tho, not that it matters terribly much.

  24. The BigYin

    Kids are not afraid

    Adults assume the kids are because the adults are afraid. Always.

    In my experience, if you show a kid how anything works (be that code, an engine or martial arts technique) they almost immediately become fascinated and begin to want to tinker with it. This tinkering may or may not lead to a life-long obsession/career, but it is never met with fear.

    Only adults know fear of the kind implied because adults are taught that failure is bad. Kids don't know that yet.

    Should coding be compulsory? Maybe.

    Should promoting an understanding of how things work that it's OK to tinker and how to tinker safely be compulsory? Yes. 100%. Utterly without reservation. In the IT world this has certain ramification though; i.e. no proprietary software (as you can't tinker with that).

  25. Gordan

    Good summary

    I've been saying this for years - the problem with the IT industry is that nowdays everybody who knows how to write "Hello world!" in HTML thinks they are a programmer.

    1. Anonymous Coward
      Anonymous Coward

      Re: Good summary

      I used to work at one of the largest software companies in the world on a product that is one of the most popular in the world.

      At one point the lead designer on a sub-product was overheard complaining that the development team was taking too long and that he was able to make a prototype by himself in just a week. The "prototype" was a sequence of animations in Flash.

  26. cyborg


    Developing English skills is the beginnings of being able to formulate abstract thoughts about the world you live in.

    Developing mathematical skills allows one to formulate abstract thoughts about all possible worlds.

    Computers are tools for exploring mathematical worlds. If anything it would seem that teaching computing would be beneficial to teaching mathematics.

    1. Anonymous Coward
      Anonymous Coward

      Re: Abstractions

      Symbolic maths could help in large parts of analysis. The tedious work of manual symbolic integration or differentiation would be taken over by the computer.

      Plotting graphs is the other obvious opportunity for the computer.

      Similar things could be said about Physics and Chemistry.

  27. Anonymous Coward

    Learning Programming

    Indeed time in school is limited and so are the capabilities of pupils. So let's focus on the Grammar School Pupil.

    S/He is getting taught Maths, Chemistry, Physics, Philosophy, Ethics or Religion, the National Language and some Foreign/Classic Languages (and some more). The argument can be made that most of these skills will be useless because of later specialization on university or apprenticeship education.

    Still, we try to hammer differential analysis into grammar school pupils. So the same argument can be made about the theory of programming. It can be argued that grammar school pupils should know some basic algorithms&data structures when they complete school. This theory is as well-developed as Chemistry, Maths or any other "hard science". For example, it can be proven that there is nothing faster than O(n*log(n)) for sorting based on comparisons.

    So what would learning objectives be ?

    * Being able to design data structures for simple problems like an idealised(!) customer/products database.

    * Being able to write code which will perform simple mathematical operations such as calculating vector lengths.

    * Being able to solve some math problems such as integrating a part of a Gauss curve numerically.

    * Being able to write code which does some simple, idealised querying on a table.

    * Being able to calculate some simple statistics for a table of given data.

    Of course that would entail learning a programming language such as Java, Pascal, C# or some other ALGOL-type language. And certainly it would entail PROPERLY EDUCATED TEACHERS.

  28. Torben Mogensen


    IMO, another problem with "traditional" ways to teach programming to kids is that the teachers want the programs to be about real-world problems. While this is realistic and can motivate some students, it also adds another layer of complexity: Abstracting a real-world problem to a level that allows solution on a computer. So I think the students should initially work on problems that do not require an abstraction step. This can either be by not pretending at all that the problems have anything to do with real life or by working in a domain that is already abstracted using an abstraction that the students know well already: Numbers. For example, the data domain can be simple integers and a grid of pixels that can be turned on and off individually and problems can be of the form: Make a program that makes checker-board pattern on the screen. Pixels should be big enough that you can see each individual pixel, so you can better see what goes wrong when something does. Also, make it easy to read the value of a pixel on the screen -- a feature that was found on most 80's home computers, but which is complicated or impossible to do in many modern graphics libraries.

  29. samboy

    "We’d be better off stimulating and challenging the young bright coders identified as such in schools"

    How do you identify the young bright coders if theres no coding done in the school?

    "What he “learned” isn’t real programming, and bears little relation to it."

    The idea isn't to churn out programmers. I think the idea is to show an example of how what they see on there computers is made, to spark an interest in learning how things work. Its like taking a toy apart when your a child, inspiring you to become an engineer.

  30. Infernoz Bronze badge

    It's about mindset, not Prussian state rote or PC we are all equal at everything BS

    If schools are going to teach coding, they need to select only the kids who are likely to succeed at coding e.g. a proven ability in Mathematics up to at least Algebra, the proven ability to think logically and rationally, technical curiosity, and persistence.

    1. Anonymous Coward
      Anonymous Coward

      Re: It's about mindset, not Prussian state rote or PC we are all equal at everything BS

      It's also about teachers. There simply is no serious teacher education on-going. CS is as hard as mathmatics and should have the same time and resources applied to.

      As long as the teacher isn't solidly educated, CS courses will always be a strange thing that turns off all those who weren't interested before. No amount of Arduinos and RPIs will change that.

    2. Anonymous Coward
      Anonymous Coward

      Re: It's about mindset, not Prussian state rote or PC we are all equal at everything BS

      Let me guess, you aren't a coder. Coding has next to nothing to do with mathematics although that seems to be a common misconception held by the general, uninformed public. As a professional coder for the last 20 years with minimal-to-no interest in math I find it very frustrating when people just assume that I like math and do it all day.

  31. Tom 15


    I'm afraid I can't agree with Andrew here... there are lots of people I know who don't program because quite honestly they have no idea what it is and who's knowledge of it sits somewhere between thinking it's 0s and 1s and knowing it has a lot of curly brackets but who would potentially have been great at it and could have had a career in it if they'd only been given the opportunity.

    I'm lucky enough to be a programmer because I had a dad who always knew that computers were a good career to go into despite being technically inept. A lot of people have never had this start and that is the job of the education system, to introduce people to concepts and ideas that otherwise they might never have come across.

    Let's not pretend that we're talking about showing kids some HTML... we did a bit of HTML at school along with a large dose of Microsoft Frontpage. This is about teaching kids some programming, showing them that it's something they can do if they have a logical disciplined brain. There are plenty of kids who are good at Maths but know they don't want a pure mathematical career and we should nurture their desire by showing them how they can use mathematical concepts to do cool things.

  32. MonkeyBot

    Close the schools

    "We don’t need a lot of people who know a bit about coding, but a few people who are extremely good at actually doing coding well."

    You can say the same about every subject taught in school. We don't teach maths & science because we need a lot of people who know a bit about math & science (although that would be nice). The important thing that we need kids to take from those lessons is how to think rationally and in that sense, coding could be a very valuable subject.

    "So the day at the ad agency no more qualifies Rory to speak about computer programming than painting a fence qualifies you to be an architect or a civil engineer."

    And you have spent how long working in education? What's that you say, you've never taught a class in your life? Then I guess you're not qualified to speak about what we should be teaching in schools.


This topic is closed for new posts.

Biting the hand that feeds IT © 1998–2019