This is interesting, apparently starting next fall every student in Great Britain, from K through 12 will start to learn coding. I see the point, of course, but I think this may well be misguided.
There is no question that Britain like the States needs many, many people who know how to craft code, as you’ll note in one of the linked articles, coding is mostly developing into a trade, like being a practical nurse, or hitting close to home, an electrician. And that’s why I think this level of instruction is exactly wrong. You see, not everybody coding needs a CompuSci degree, that is serious overkill, in the same way that requiring an electrical engineering degree is for being an electrician.
Some classroom theory is good, I think, and lots of practical experience, which is why electricians have an apprenticeship. Yes, that also has problems that we’ve never solved, but that’s a whole other series of articles. The best electricians will collect a fair knowledge of the theory and practice of the work, but in the main, most will do what the print says, in many ways, that’s the difference between an electrician like me, who mostly works as a control technician, a heavily computerized field, and the electrician that does residential wiring.
But taking an hour a day out of every school day from kindergarten through high school wouldn’t have made me any better (or worse). It’s all about the interest. In truth, I can do the work of almost any traditional electrical engineer, I just can’t sign off on it, nor do I get paid as well. That’s fine, that was my choice.
Coding is, I think, similar, some one has to lay out the system and choose how to accomplish the mission, others, usually with quite a lot less experience can do the job, and the senior can solve problems along the way, and check out the final project. That’s how physical construction works, and building software is similar.
But the real problem with what the Brits are talking about is this. Software changes fast. So fast, that it’s likely that what you learn as a junior will be obsolete by the time you graduate. So what use is what you learned in 1st grade? That is not to say that some exposure to something in the field in the primary grades is not a good idea, it’s a trade but, it’s also a language (actually many languages). we all know that it is easier to learn languages when you are quite young, so maybe the right way to do this would be to teach something very common, that has been around for a while, say ‘C’ or HTML in about second and/ or third grade.
Then because this all comes down to ‘1’ and ‘0’; ‘yes’ and ‘no'; IF ‘A’ THEN ‘B’ and so forth, in about junior high teach a very robust course in logic. And then in high school make these types of topical courses available.
This is not a basic curriculum necessity like English, or Math, or History that all students need a good grounding in. Some will be interested and willing to do the work, many will not. And while the special pleaders will say that one cannot live a life in the twenty-first century without being able to code-that is simply nonsense. You perhaps need to be able to logically lay out a block diagram of what you need a program to tell you, like you want the exhaust fan in the bathroom to operate with the light-or to operate separately, both are fine but they are different. Susie Homemaker doesn’t necessarily have to know how to wire it, that’s the electrician’s job.
But even as an electrician, the job has changed drastically over the last twenty years, what I learned say thirty years ago is not particularly useful or valid, except for some non-obvious and forensic purposes. What I learned ten years ago for controlling industrial machinery is useful only in service work now, everything has changed in new ones.
And this happens faster and faster. Schools are bureaucratic systems, even the good ones are. if they implement this, this fall with bleeding edge programs, they will be four years behind in five years. I don’t think it can be helped. Where schools are at their best is in teaching the basics we need to function in society. You know, ‘readin’ ‘ritin’ and ‘rithmatic’ and a few more, like science, music (whose importance is much underrated), civics, basic economics, and team sports (which are also underrated).
And this, of course,
Computer Programming Is a Trade; Lets Act Like It – WSJ. [Behind the Journal's permeable paywall]
More on Computer Programming: Starting Kids Early