Why Coding Is Not the New Literacy
An anonymous reader writes: There has been a furious effort over the past few years to bring the teaching of programming into the core academic curricula. Enthusiasts have been quick to take up the motto: "Coding is the new literacy!" But long-time developer Chris Granger argues that this is not the case: "When we say that coding is the new literacy, we're arguing that wielding a pencil and paper is the old one. Coding, like writing, is a mechanical act. All we've done is upgrade the storage medium. ... Reading and writing gave us external and distributable storage. Coding gives us external and distributable computation. It allows us to offload the thinking we have to do in order to execute some process. To achieve this, it seems like all we need is to show people how to give the computer instructions, but that's teaching people how to put words on the page. We need the equivalent of composition, the skill that allows us to think about how things are computed."
He further suggests that if anything, the "new" literacy should be modeling — the ability to create a representation of a system that can be explored or used. "Defining a system or process requires breaking it down into pieces and defining those, which can then be broken down further. It is a process that helps acknowledge and remove ambiguity and it is the most important aspect of teaching people to model. In breaking parts down we can take something overwhelmingly complex and frame it in terms that we understand and actions we know how to do."
He further suggests that if anything, the "new" literacy should be modeling — the ability to create a representation of a system that can be explored or used. "Defining a system or process requires breaking it down into pieces and defining those, which can then be broken down further. It is a process that helps acknowledge and remove ambiguity and it is the most important aspect of teaching people to model. In breaking parts down we can take something overwhelmingly complex and frame it in terms that we understand and actions we know how to do."
They are still not talking about literacy - they are talking about problem solving. That makes it the new Mathematics, not the new literacy. (And yes, what I learned coding on my VIP not quite 40 years ago did help me with my degree in Math a few years later, so I do know what I'm talking about.)
Pretty much this. The whole push to have 'everyone' code is because it's trendy and is a definable skill, unlike 'learning how to think' or reason. And it segues quickly into 'jobs' which makes everybody happy. Further, there is this odd belief among many people (including a whole raft of Slashdot posters) that software can do anything and the world should be viewed through the lens of a Von Neumann machine.
Coding is a subset of human activity, not a superset. Even modeling, as championed by TFA is only a small part of human learning.
But schools are in a tough place. They are supposed to teach everyone, from the next Albert Einstein to the kid that will be sweeping the floor. They're supposed to push the latter child farther and faster than they could possibly go while not slowing down the new Einstein. All the while acting as in loco parentis, cop, judge and diaper changer.
For only $29.95 per child.
Faster! Faster! Faster would be better!
Asking whether coding is 'the new literacy' is a semantic distraction. It's a phrase that tries to build excitement, but distracts from the real question; is coding a skill worth teaching to every youth?
I believe the answer is yes. Through coding, kids can apply and solidify the math they learn in school in a useful way. It also builds a mentality of experimentation that can help with the sciences. It also makes use of writing in general, making english class even more relevant. Real programmers depend on writing well to communicate, which can make a huge difference (see stack overflow questions).
Also, the skill of 'modelling' systems can be practiced and taught through the construction of computer programs. It can be very useful to build reasoning skills that are useful even if the person never codes again. Many of the subjects taught in schools don't offer skills that can be used anywhere else but in that specific subject, and are only taught for the sake of 'forwarding the knowledge of that specific field', whereas coding seems to offer many skills that transfer over into other subjects.
Interestingly, it's not usually 'nerds' who push the idea that software development is something that everyone is even capable of, much less that it's something that most people should try and learn. It generally seems to be people who have grasped the basic idea that "programming means giving the computer instructions" and got excited about it, but never went beyond writing a few loops and some if() statements.
Anyone who's taught programming at a university level will know that even among intelligent students who want to learn, there are a large minority who (while they have many other valuable skills) are just not mentally wired to think in the way needed to develop software. It's a huge waste to try and push these people into doing something that they're not equipped for, instead of focusing on talents that they do have.
Rampant carbon sequestration destroyed the Dinosaurs' tropical paradise. I'm here to help repair the damage.
Nope, let's not even justify it to that extent. Coding is a job description, and an increasingly blue collar one like plumber or electrician at that. This whole push by giant corporations to get into schools (!) is simply a means for them to reduce future worker salaries and ensure a steady supply of bright young idiots all fresh'n'ready to be abused and burned out.
End of.
Programming is absurdly simple. Back in the 80's, you couldn't throw a stone without hitting a kid who wrote games for his home micro as a hobby.
There were plenty of kids who knew how to write "10 PRINT FART; 20 GOTO 10" or who typed in listings from magazines, and I agree that programming at that level is probably accessible to most people - but you can't equate that level of programming with modern software development.
You've probably noticed this yourself, but there are a LOT of really stupid professional developers.
I wouldn't phrase it as "really stupid professional developers". There are certainly a lot of incompetent professional developers, and they're part of what's formed my opinion about some people not being mentally equipped for software development. Do you honestly believe that such a proportion of people who make their living developing software are that bad at it purely because they're lazy, apathetic or unmotivated?
For the obligatory car analogy, most people are probably capable of learning to swap to a spare tyre, change the oil, or top up the radiator (learning some simple scripting). Most people are probably not capable of learning to design high-flow intake manifolds or variable valve timing mechanisms (useful commercial software development).
Rampant carbon sequestration destroyed the Dinosaurs' tropical paradise. I'm here to help repair the damage.