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."
Making dense lists of technical gibberish doesn't make you great human beings, and trying to force other people into your narrow autistic mold makes you a bunch of fascists.
I've always thought programming is more like writing POETRY than just being literate - not everyone needs to do it. Both involve writing down words, but knowing the vocabulary and grammar isn't the really the point.
If you wanted everyone to be a programmer, you wouldn't teach them code, you'd teach them skills of system design, troubleshooting, etc. But why would you want everyone to be a programmer? That's like teaching everyone to be a diesel mechanic or poet. Kind of a waste of time.
So this "modeling" thing he talks about is included in my definition of coding. Coding is not a "mechanical act". When you work with coding, do you get what you should type on a piece of paper first? How do you code if you can't break down a problem and understand it? Idiot author. Next story please.
>> furious effort over the past few years to bring the teaching of programming into the core academic curricula
They tried this in the early 1980s and all we got was the Internet at everyone's home, online shopping and news, free video conferencing, entirely new ways to organize photos, transportation and events, realism-quality video gaming, and cell phones so easy to use that toddlers can participate in the world wide web.
What good could coding literacy possibly do now?
I was looking at college catalogs in the early 1990's. Some schools would let you substitute a programming language for a foreign language requirement. I guess Logo would be equivalent of Latin these days.
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.)
It's more like the old Car maintenance. A skill you can use so you don't get screwed because you know nothing about what makes an important component of your life function.
It's been this way whenever a new technology became normalized in the public eye.
I had a chat with my late grandfather about this in the mid-90s. I told him about when I was a kid and there was a big push in making children "computer literate". So much so, in fact, that I took a class in 3rd grade or 4th grade in LOGO on a VIC-20.
My grandfather said that reminded him of when he was a boy in the 1930s. In his time people thought EVERYTHING would be mechanized and learning how machines work and how to fix them would be required to be literate in the future. So, he actually took classes in engine design (!) and maintenance in the mid-30s, and it wasn't a vocational school.
As we all know, the deep knowledge required to design a car or an oven similar machine is held by specialists and baked into the products we buy.
Similarly, the deep knowledge required to program a computer to do useful work SHOULD be baked into the products we buy.
Think of it this way: who needs to read the manual when they get a new car? You just figure it out because it is largely intuitive. A TON of non-intuitive thought went into making the car easy to use.
I think it is our responsibility (those of us here who are engineers) to work towards putting that level of ease of use to work. This is the real reason Apple is popular. Their stuff is easier to use than most other products and people are HUNGRY for that.
We don't need to teach every kid to program. We just need better programs.
Hmm. If you can't read, you are restricted to looking at pictures. If there is someone to read for you, then you can hear the parts of text they choose to read for you, otherwise you are pretty much restricted to children's picture books. A lot of what happens in the world is simply a mystery to you.
If you can't program, you are restricted to using existing features in the way they are implemented. If there is someone to help you, then they can write a piece of code for you to do whatever mundane task (be it VBA, shell script, a feature or a complete application), otherwise you are pretty much restricted to clicking at links, icons and menus. A lot of what happens in the computer is a mystery to you.
Hmm. Not convinced, myself.
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!
> He further suggests that if anything, the "new" literacy should be modeling
We need immediate funding for The Derek Zoolander School for Kids Who Can't Read Good and Want to Do Other Stuff Good Too.
Critical thinking skills.
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.
Ugh...if only we had something like this...we could call it "computer science" or something like that. We could even write textbooks about it! But that's just a pipe dream, right?
Ezekiel 23:20
At it's core, coding is problem solving, and relies on logic and reasoning to use the tools you have to solve a problem.
Debugging is thinking through logically what has gone wrong, examining the code, and possibly taking some educated guesses (hypotheses) about what might be the problem and what you might need to fix it (depending on the nature of the problem).
So, sure, teach coding.
But don't think you can do this with people who haven't got a good grasp of problem solving, applying logic and reasoning, formulating a hypothesis, and refining your knowledge based on some experimentation -- which over time grows into a body of knowledge.
Do they still teach any of those in schools?
Lost at C:>. Found at C.
I'd put it a different way. From TFS, they try to create an analogy between coding and composition, that just isn't remotely appropriate. If coding is the new literacy, software engineering is the new composition. Yet reading and writing, basic literacy, help billions of people who are neither authors, nor poets in doing their everyday job. Literacy enabled a huge revolution in the workforce, and life in general.
Coding is a tool, like a hammer. Anyone can wield a hammer, some people do so far more proficiently than others to great effect, while others merely pound the nail in that holds a house together. Similarly, anyone could describe the required actions to go from their front door, to backing their car down their driveway, and given the appropriate language could instruct a robot to do so.
If enough people understood properly how to command their computer, productivity would would increase by orders of magnitude and our lives would change again. Most of the produced code would be very utilitarian, poorly structured, utterly mundane but incredibly useful.
Yet reading and writing, basic literacy, help billions of people who are neither authors, nor poets in doing their everyday job. Literacy enabled a huge revolution in the workforce, and life in general.
That's what I understand to be the aim of the HtDP project - to put a decent number of people into some reasonable place between the alphabet and Shakespeare.
Ezekiel 23:20
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.
I would not say it's like poetry, any more than I would say it can be taught like a foreign language. Neither is true in the broad sense.
My context comes from a Math/Philosophy education (before we had CS degrees). I am not a programmer for a living, but I have had to write programs for nearly 30 years. My "programming" is not something a user normally interfaces with, my programs have to interface with everything else. I have had little problem writing in Perl, Ruby, C, various "sh" scripts, and started with Fortran and Pascal. The reason I could do this is because I know concepts that sit underneath, I know logic and can break problems down to components. I know how to take knowledge in one subject and use it to my advantage in other subjects. Wisdom came with age and practice, but I needed the base knowledge to start with.
This giant push for STEM will not teach people critical thinking and logic, which you can benefit from in any job. This "push" won't make better programmers, because we are not teaching the core logic.
See, the problem with teaching everyone logic is that it comes at a risk. People in power don't want to be questioned, and a bunch more smart people would cause problems. Hence, why teaching Logic and Rhetoric was removed from public schools as soon as the US Government took over the role of dictating a national policy in the 1930s. Here is a good summary of political opinion on critical thought, and more can be found written by "insiders" on the subject as far back as the founding of the US Department of Education
For those that want to claim that "we are so much smarter today than we were in the 50s" I will point you to this, and scoff. No, we are not anywhere near it. You just fall for the appeal to emotion that gets tossed out all the time to make you feel good about yourself and our pathetic level of public education.
-The wise argue that there are few absolutes, the fool argues that there are no probabilities.
Yeah, "jobs" in the sense of underpaying three month contracts with nothing. The real jobs that are created are university administrators.
Universities are a cult.
And the most efficient way to get there is "computational thinking".
Many of the people I know that are gung-ho over "teaching kids to code" also don't understand why non-geeks are unimpressed by blinking LEDs on a PIC micro, or running a web browser on a credit card sized computer. They, due to their interests and life experiences, are invested in the widget for what it is, whereas the non-geek is only interested in what it can help them accomplish (in the case of a blinkenlight or slow web browsing on a RasPi, not much). Due to the common Asperger-like lack of empathy, the geek can't fathom why the non-geek doesn't care about the inner workings.
Back to "teaching kids to code", the assumption appears to be that the "value" of knowing how to write programs is inherent, and everybody that is unsure or disagrees is somehow anti-tech, or pro-Microsoft/Apple, or whatever is the hyperbole du-jour. Any good salesman will tell you to sell solutions, not features, and this endeavour is no different.
I've always thought programming is more like writing POETRY than just being literate
I disagree. You don't hire poets to design a space ship - it may be pretty, but it won't work. You don't hire sci-fi writers either - it may look workable to the masses, but the pesky laws of physics and economics will have their say.
Programming is more like engineering. As in being able to construct something that actually works.
Coding, on the other hand, is more like manufacturing, where you produce something based on what the engineers have come up with.
But too often these days, it's not engineers that came up with it, but bloody poets, and the poor coders have to steal bits and pieces they don't understand from people they have no reason to trust in order to make a workable mess out of it.
i really wish reading and writing code were like literacy.
i've been circling coding for a looooong time and i can do some scripting in maya mel but even there, it's on the order of copying and pasting and writing some connective tissue to make things work.
the problem that i've found is that it's not like literacy where you pick a language and you learn the syntax. that would be GREAT if that were true. but in modern programming, it's also like you have to start learning neurology, biology and psychology at the same time. there is just a tremendous amount of infrastructure whether it's libraries, APIs or different OSs and there's a whole host of just simple questions that would illuminate the "lay of the land" that remain mysteries to me.
it feels like it's something that would have been within grasp back in the c64 days but nowadays, it feels like there's simply too many layers.
perhaps i can get good enough to write programs that input and output to the console....
Sure, (almost) anyone can code, just like (almost) anyone can string words together on a page. That's a bit different from being able to write a readable story (let alone novel), or construct a useful program.
I wouldn't trust an architect who didn't know how to lay bricks, but even less would I trust a bricklayer to design a house.
That said, to paraphrase Heinlein, everyone should know how to lay a brick, hammer a nail, write a paragraph and code a program; specialization is for insects.
-- Alastair
... 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. ...
The new literacy?
.
GMAFB
Coding is a talent or a skill. Beyond that, there is nothing, not a single thing, special about it.
The extreme productivity that some software engineers possess is not due to their literacy in coding. It is due to their ability to look at, understand, and solve problems at a level higher than most.
It is not a question of literacy. It is a question of problem analysis and resolution.
[aside: I often wonder why software engineers constantly have he need to elevate themselves above all others]
Agreed, competent software engineering is more like mechanical engineering than it is like poetry. There's a reason the National Society of Professional Engineers has recently added a software engineering as one of the disciplines they certify in, along with mechanical, chemical, etc.
My analogy to poetry was only in the frame of the article talking about coding as LITERACY.
Literacy is general purpose.
Writing software is a specific skill set few people need, with computer literacy as the prerequisite.
Writing poetry is a specific skill set few people need, with Englush literacy as a prerequisite.
You can't compose until you can read and write.
You can't engage in systems design until you can code and debug.
We're not talking about learning to code as the final step - just as we don't teach kids to read and write, then hand them their high-school graduation certificate. It's the first baby step along the way to understanding how to expand the capability of your brain.
...that other things are automatically obsolete.
"new" in this case means "additional". And no, this is not about generating "code monkeys", this is about giving people an insight into what computers are, and equipping them with enough knowledge so they can form their own ethical framework around it.
Sorry if this fact ruined your sense of self worth but learning to code isn't any more difficult than learning to speak french.
There are three steps in teaching programming- Problem solving with ability to find or supply missing information(known as implied assumptions), algorithm and coding (like composition for different topics), memory management (storage structure). Just by teaching grammar- syntax of programming languages and coding will get no where. That is why 99% of text books are useless. The person who wants to program should have attitude to learn, aptitude to learn and also have hard creative thinking. Just coding does not teach these logically related yet creative thinking that is under the hood of very useful and almost error free programs. Most teachers who want to teach programming do not extensiveely program to gain the practical side of the learning and those who aare excellant programmers in general, do not have aptitude to teach to others. Text book writers are contract ghost writers without extensive and field tested teaching experience and the teachers who use them have no clue why that particular Text book was prescribed. This is exactly what is going on with mathematics too. Since most buy SW (binary code) from the vendor, without a higher level program to modify them with ease, simple coders can not modify them and augment them to be unique, and useful to themselves and the people like them. Good luck teaching coding to kids.
This is a man standing too close to the forest to see the trees. He's right, but also completely wrong.
What is being taught is "computational thinking", not coding. Coding is just the conduit.
I've seen the stark difference in my work with primary and junior high kids (Scratch, Python, Javascript), where some kids learn sufficient language to enable them to do a bunch of neat things, but *still can't do it*. They're not making the neural connections between "here's a bunch of capabilities I have at my fingertips", and "here's how I put my capabilities together into a structure of my own creation to achieve my goal".
It's a skill that has application far beyond the keyboard. It's not about learning the syntax of a for-loop, it's about the epiphany that follows. Seeing a kids face when they (all too rarely) get it that they've become wizards and the sky is the limit, is priceless. They are visibly empowered and their view of their relationship with the world around them alters.
*That's* what it's about.
> Here [truth-out.org] is a good summary of political opinion on critical thought, and more can be found written by "insiders" on the subject as far back as the founding of the US Department of Education.
As if I needed any more proof that American are totally nuts.
Or is it just Texas?
In my opinion, those likely to be end users or power users mostly need to know about factoring (redundancy), set theory versus hierarchies; and associations, such as 1-to-many relationships versus many-to-many relationships.
Understanding loops and IF statements is good knowledge perhaps, but end users seem more lacking in practical knowledge about relationships of data objects (information) than they do relevant knowledge of loops and conditionals, and this leads them to poor decisions and confusion when working with developers and analysts.
In other words, focus first on enabling them to work better with IT rather than to potentially be or replace IT. And understanding factoring and relationships is good education for future programmers anyhow, if they go that route.
Roughly half the students will eventually be involved with IT design decisions, but only 1% or so will be developers. Thus, rather than try to improve or increase just that 1%, enable the 50% by making them better able to communicate with IT. It's a larger total benefit to society.
Table-ized A.I.
Sigh, forcing people to "learn to code" is just going to create legions of substandard programmers. Every year we get interns fresh out of varsity, it takes at least half a year to teach them to forget the crap coding standards that they got away with in varsity and to code properly. Memory leaks they didn't even know they had because their programs never ran longer than 20 minutes, and these are people who actively sought out becoming programmers. Imagine a legion of people who didn't want to learn to code in the first place.
There are three kinds of falsehood: the first is a 'fib,' the second is a downright lie, and the third is statistics.
We were all forced to take art lessons in school. That doesn't make us all artists, though, since most of us couldn't paint our way out of a wet paper bag. So it is with the Art of Programming.
I'm a long-time developer too, and I don't equate coding with just putting instructions in a machine the same way I don't equate literacy with cursive writing. Anyone who's done 'coding' knows that the main part isn't the syntax of a particular language, an API or an IDE, but a way of setting goals, decomposing functionality and building it at various levels of abstraction. The word 'coding' is a bit of a misnomer and therefore people come up with false dichotomies like coding vs. 'development' or 'software engineering'.
The benefit of teaching programming to everyone isn't that everyone becomes a software developer, the same way that teaching writing to everyone does not make everyone a creative writer, still nobody argues for the eradication of teaching writing. But it gives the chance to all; gives a powerful problem solving tool for the slightly more academic type (e.g. helping their research); it gives a means of communicating complex relations, and people will gravitate to various levels of competence, including the ability to control ever more complicated home automation.
Ah maybe this guy is a _really_ long time developer and equates coding with punching cards... how is that relevant in today's world.
Why Coding Are Not the New Literacy
FTFY.
systemd is Roko's Basilisk.
What's funny is you're claiming that there's some sort of "war on critical thinking," yet the test you link to as an example of "how smart people used to be," is a classic example of a test of a person's ability to regurgitate the facts that their teachers have crammed into their head, and demonstrates absolutely nothing about "critical thinking."
If you want to go back to people being stuffed full of facts to regurgitate, then I'd submit you're *RIGHT IN LINE* with the Texas GOP's premise that the new Core Curriculum does a disservice to its students.
Incidentally - the criticism of Common Core is legitimate, even though it's fun to chant "herp derp Texas conservatives." You'll find the criticism is much broader and much more widespread than only the Texas GOP, and you'll find - if you're intellectually honest, and as big a fan of critical thinking as you're trying to portray yourself - that a significant portion of the criticism has substantial merit, regardless of whether or not it comes from a Republican or a Democrat source.
tl;dr - maybe the good old days weren't as good as you like to remember, gramps.
Coding isn't even the new grammar. It's the new spelling. The magic lies in the structure of the data and the dance of the algorithms. Programming is writing a novel; coding is learning how to spell.
I do not fail; I succeed at finding out what does not work.
If I can take one thing away from what's being said without managing to actually get to the point it's that apparently what we really need is to do a better job of teaching mathematics.
I mean, that's really what it all comes down to.
Programming is ultimately just an application of that. The reasons for needing to teach it universally ultimately seem to fall back to the simple fact that current methods of, and the areas of mathematics teaching are currently failing kids.
So rather than recognising that giving students a book with 40 math problems to shut up and solve in silence which is far too prevalent still it seems what we really need is to give them real world problems to solve and explain how to use mathematical underpinnings of modelling, logic, and philosophy to achieve that.
Unfortunately the people coming up with these ideas of coding for all themselves never managed to self-educate in mathematics to see past the flawed system of teaching it upto the age of about 18 and don't realise that's what they're basically asking for.
Teach kids a broader understanding of mathematics than just how to repeat algorithms blindly without truly understanding the what's, why's, or how's and everything from making a logical argument in politics through to doing programming will come easily.
Keep teaching maths in the shoddy way it's often currently taught though and it wont matter how much half-arsed coding you've taught, you still wont have gotten anywhere.
Frankly even history as a subject could be made far more useful if kids had to do a module on the history of mathematics and the evolution of mathematical achievements - you don't even need to cover the math itself, just explaining who came up with what, and why is an eye opener in itself and ties in with some important advances in human philosophy, physics and other key milestones of humanity too.
It seems to me that this is actually rather equating "coding" with "scribbling". Namely with the execution of writing. But that's more like "typing" rather than coding.
In fact, when I am doing serious programming and/or coding, I tend to crank out the good old pencil and paper. Nobody is surprised that mathematicians use pencil and paper without actually writing down recognizable words. Coding is similar.
Fields like discrete mathematics, statistical analysis, and data modeling are not dense lists, they teach heuristics on how to approach a set of data to be explained, manipulated and organized. In the end, the ability of our children to understand how to see the world in terms of knowable information, and how that information can be presented and what information can be gleaned from it tell us more than our normally limited day-day existence prepares us for. And while one might argue, then what good is it, the importance of knowledge in combating ignorance can never be underscored in a population that seeks self government as a means of taking care of society's concerns. It is precisely because we have not prepared generations for being able to learn, that is meta-thought which is more and more a requirement of society, that we find ourselves questioning, do people need to learn how to code? That you don't need to know the answer but simply need a means of being able to find the answer, in the ancient chinese proverb ÃoeHe who asks a question is a fool for a minute; he who does not remains a fool forever" Learning how to ask the question of our growing pool of information will be a key skill for those that hope to excel.
Natural language Information Analysis Method https://nl.wikipedia.org/wiki/NIAM would be more appropiate to learn.
Niek van Baalen
Should Be The New Literacy.
Shoes for Industry. Shoes for the Dead.
Programming is not like writing or making content at all.
It's more like designing and building a printer to print written word on paper.
Apples and oranges, and all that shit........
All my life, the perennial story has been that kids are stupid. American kids aren't measuring up to any other country. We're always last in lists of how educated people are. Regardless of how much we spend. The education industry perpetuates this perennial stupidity to get more money. Kids will NEVER be smart. What's the most difficult thing anyone can ever try to do? Write working code that adequately solves a problem. Let's teach it to kids! So they'll be stupid. Kids will NEVER measure up with coding.
Coding is a subset of human activity, not a superset
And programming lessons will be a subset of school activity, not a superset, so I don't really understand the objection.
Even modeling, as championed by TFA is only a small part of human learning.
What does that even mean? Given that modelling is a key part of almost every discipline there is, as well as a key part of opinion-forming and public debate and ultimately governance, why would it intrinsically be a "small part of human learning"? It's not taught well now, that's true, but the status quo is no reason for anything. And what do you mean by "human learning"? Are you claiming that "human" is some natural system which is distinct from society & culture? Because it isn't. Before humans developed writing, nobody learned to read. And you would be standing by that still today, I suppose, because reading isn't a part of "human learning". Ugh *facepalm*
IMHO the primary ingredient is diligence, just like everything else. Everything else is secondary. I think the idea that only certain people can be programmers is as silly as saying only certain people can be physically fit. Yes, some people will naturally be better at it than others, just like when it comes to physical fitness. The notion however that only a select few may enter is both ignorant and also party responsible for so few people entering the field. There are brilliant mechanics and terrible mechanics, brilliant doctors and terrible doctors, this is more a function of people and their level of effort and less a function of difficulty of material. I was a teacher assistant while studying CS and from my experience laziness was the #1 killer of students, both "smart" and "dumb". I always thought there was something tragic and beautiful to see someone naturally "ungifted" in intelligence whomp someone who was naturally gifted with intelligence just because they tried harder.
Coding as the new literacy is putting the cart before the horse. To be able to code, one needs critical thinking skills. They need to understand logic (and not just AND OR NOT, but real logic). Those are the skills required for the new literacy. Coding is just one way those skills can be applied, but it does not make one literate, any more than strumming a few chords on a guitar makes one a musician. It is the underlying skills and understanding that makes one a musician and likewise, makes one literate.
If you put enough chimpanzees in front of enough computers, eventually they will bang out all of the code for any piece of software. That doesn't make them literate. If you want people to be literate, they need to be productive and able to contribute to society. In the 21st century, this means teaching them critical thinking skills and logic, then they will be literate in whatever field they chose.
Churn out the next generation of Blue Collar workers.
Scools and education are mighty bizarre places.
There's weird emphasis on useful things except where there isn't.
No one pretends that literary criticism is a useful skill, or that reading books is anything other than entertainment. Yet it is taught. Likewise, History is only needed if you're going to teach history, but it's taught because knowing history is part of being a well rounded person.
Apparently things that can be technical have to be useful.
Personally I think programming should be taught in schools along with maths, English, history, "building stuff" (DT in the UK), sciences, foreign languages and etc.
Not becauese is useful.
It should be taught, like the other subjects because it is interesting and can teach one to think in new ways that other subjects don't teach---just like all the other subjects[*]. Not everyone will like it and some will and most won't go on to use it. But writing is taught even though most people woll never go on to write a book.
[*] It's arguable that the other subjects do that, but that has more to do with how badly the subjects are taught than anything inherent to them.
SJW n. One who posts facts.
Some consider it the world's oldest profession....
the ability to think rationally and analytically. We live in a world full of people who think with their emotions, and can't reason more than one cause/effect level deep in anything. They are superstitious as a result, and make bad decisions constantly. A lot more good things would flow out of a more rational populace. It might start by turning off the damn television once in a while, too.
In fact, courses in practical reasoning ought to be part of every young person's curriculum all the way through high school and college. Not just a single course, but one per semester, because thinking clearly about things obviously doesn't come naturally to people.
I want people to understand loops. Loops that happen a number of times, loops that run at least once and end on a condition, loops that are entered on a condition and may never run. I want people to get an understanding of how fast computers are at calculating things. I want people to understand functions, datatypes and recursion. These are all completely academic topics, nothing harder than long division. There is no reason not to teach this stuff. You can do it all with block based languages (scratch/blockly) or with various text languages. That doesn't matter. It is the fundamental concepts that everyone needs to be introduced to, just like everyone gets to do a bit of algebra and a bit of chemistry and a bit of geography.
So why do we treat "using a computer" specially?
Shouldn't we also teach them about say, cars? And we should add in the legal system. Perhaps IP law, since the majority of /.'s seem to be so intelligent about IT things but completely illiterate about basic IP law like the differences between trademarks, copyright and patents (both kinds).
Heck, I'm sure we should add shop skills (plumbing, basic carpentry, basic electrical, safety, power tools, cooking, finance) to the list. Truth is, there are plenty of skills we need that aren't taught - computers being just one of many. Hell, given it's the US, add guns to the list - doesn't matter if you're pro or anti gun control, providing a basic education in gun safety and handling will probably be extremely handy given the amount of rather idiotic gun accidents out there.
There comes a point where it's not really useful to give everyone the specialization because everyone then claims why their specialization wasn't part of the core education program in the end.
I mean, your mechanic doesn't need to know about how to compile a kernel - unless you really WANT to pay your mechanic $200/hr to muck around with his diagnostics machine when he's supposed to be fixing your car. (Today, said mechanic will say his computer is down, and hand it over to IT who will fix it, on the shop's dime, not yours).
Simple numeracy (including basic prob and stat) and not being afraid of math is definitely more vital for the average person than knowing how to code. Throw in a basic personal finance knowledge and noticing major biases (confirmation bias, Dunning-Kruger effect, etc) and now you're getting somewhere.
(Talking about the USA) We'll know then coding is a general purpose skill. Plenty of people in their 50s now have been exposed to coding in school (including myself). Two of the 12 recent Presidents have been engineers, so its probably just a matter of time. It would be interesting to poll Congress, 535 40-somethings to 70-somethings, of how many of them could right some sort of program.
I'm concerned that illiterate people are going to hear this and end up abusing codeine.
Insert a new column after the address column
Highlight the columns and select the "Text to Columns" button on the data tab/toolbar.
Select the proper delimiter, which is the hardest part. Probably the first space.
Street Number will be in old address column, rest is in the second column.
I only look human.
My mother is a halfling and my dad is an ogre, so that makes me an Ogreling
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
Parts like program and data structures, terms like variables and language syntax, actions like loops, functions and processes? Then existing things were developed just for the most of us to be able to program instead of the specialists in that one particular machine architecture.
The modelling aspect supporting tools would enable continuous refinement from simulation and mathematical models to graphical and interactive programming and all the way to the machine language level without any discontinuity.
There is an art to programming. However I am more of a visual person I tend to compare it to painting. Where I use Mathematics, Logic, and understanding of the Systems engineering to replace brushes, paint, and understanding of the textures of the material.
When you teach someone to code, (especially from a non-coder) it is like showing them how to hold a pencil, and write some letters, and words. It will take experience and working with real coders to learn the finer arts to programming.
It isn't about knowing how to do the actions... But how to put yourself in the mindset to create.
If something is so important that you feel the need to post it on the internet... It probably isn't that important.
Saying that "everybody needs to learn to code!" Is like suggesting to solve hunger in Africa, by sending them all our surplus food. On the surface it kinda make sense.. We got a lot no? And they don't. But because of the complexity of the problem, human nature, political and economic realities, it would be a disaster. While its tempting to come to the conclusion that since you code. And a lot of your friends code. And your coworkers can also code, despite being pretty dense in some cases. So why not teach it to everybody? But the reality is, that it's takes a different kind of intelligence to succeed in math and coding, than it does to write poetry or novels, or successfully lead a diverse team, or intuitively and competently design or choose a wardrobe. There is a reason why IQ tests or competency tests are separated into categories like verbal and mathematical. People are different, and not all have a mind that takes easily to math. And who suffers the most, when it's insisted that all kids are like blank slates, capable of learning exactly the same? The kids. Both those that take to math and those that don't. We could learn something from the Scandinavian countries, whose schools consistently rate much higher than American schools in tests cores. In Scandinavian countries kids can choose between high schools that focus on math and STEM, highschools that are focussed on language, highschools that are focused on business or technical school that focus on blue collar jobs like electrician, carpenter, mechanic etc. They choose those between the 8th and 9th grade, depending on which country.
I spent a good bit of time in the woods building tree houses. Building a tree house followed a similar pattern each time. Find old tree houses in the woods. Scavenge material, especially the long boards for the floor/frame. Find or cut new material like saplings to fill in the gaps.
Then I got a TRS-80 Color Edition could hook to a TV. Suddenly I could "conjure up" raw material with code. If I needed a board I "coded" one. I could build anything I could imagine. I had indeed "become a wizard" and the world did indeed change.
I only look human.
My mother is a halfling and my dad is an ogre, so that makes me an Ogreling
Coding is fringe, always has been, always will be - never mind the so-called intelligentsia. About 50% of people read the newspaper or Fifty Shades Of Grey and that's it, never mind reading something like War And Peace or To Kill A Mockingbird.
The new literacy might be an MBA (graduates very rarely start their own business) or Liberal Arts (basically useless).
How could you come to such a conclusion? Books have many uses, and in particular they contain useful information about a whole lot of things. My son was reading for content (Pokemon game guides) before he was reading for pleasure (Dav Pilkey's "Captain Underpants and the Perilous Plot of Professor Poopypants").
"When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
For anybody who doesn't think we are so much smarter today than in the 30s, I present the Flynn effect. A person scoring 100 on an IQ test in the 1930s would score about 80 in one from 1997. Dutch conscripts gained 21 IQ points between 1952 and 1982
The test site you point to is blocked at work, but all the ones I've seen have involved knowing a whole lot of units and conversion factors, rather than actually being able to think.
"When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
Is it really possible to teach a person to how to think? For all of the remarkable thinkers I know, it's something they were born with. Aside from shaking off cultural baggage that may impede an otherwise intelligent, naturally curious individual from reaching his or her innate potential, can you teach a person how to be 'smart?' Isn't this a bit like teaching a person how to have green eyes?
Rote coding by memorization, sure, but architecting great, original software? How about we all learn how to build bridges?
I must be missing something.
Were it branded as "Software Appreciation," much like the various "Music Appreciation" series' at universities, this initiative would make a lot more sense to me.
My son was reading for content (Pokemon game guides) before he was reading for pleasure
Er, how is that not for pleasure?
Besides, my point still stands. No one says you must learn to read so you can understand voter registration forms or whatever.
SJW n. One who posts facts.
Much of what kids learned in those one room schoolhouses would be considered college-level material now.
Good points on changes in education sadly... See also John Taylor Gatto, John Holt, Pat Farenga, Alfie Kohn, Grace Lewelly, Chris Mercogliano, and so on...
A 21st century issue: the irony of technologies of abundance in the hands of those still thinking in terms of scarcity.
If you were half as intelligent as you thought you were, you would have reserved comment on the test until you actually read the test. Instead, you spout invalid information in complete ignorance, while pretending to be knowledgeable. Fact checking, learn how to do it! Arguing an opinion which is contrary to facts is exactly the definition of delusion.
In addition to fact checking, contemplate really hard on that part I wrote about the appeal to emotion.
-The wise argue that there are few absolutes, the fool argues that there are no probabilities.
Yay, another whiny opinion piece from somebody who either a) is too lazy to learn how to code but wants to look smart avoiding it or b) is afraid that if there are more programmers, their lazy development style and poor work ethic will have too much competition. Gee, I wonder which one this gift will be. Let's unwrap it and find out! I will one by one knock down this lazy man's ideas, I promise, and I don't even know yet what they are.
Mister Granger posits that, "both the premise and approach are flawed" in saying the programming is "the new literacy". This should be interesting. The introductory thought for this article clues us in with, "The movement sits on the idea that 'coding is the new literacy,' but that takes a narrow view of what literacy really is.".
Okay, so this article about why people shouldn't learn to program lays its foundational argument as a semantic difference in definition of "literacy". Before I go any further, I have to stop to wonder if Mister Granger is actually aware that like verbal and mathematical literacy, achieving literacy with basic programming skills will help people to understand the world around them and endow them with a greater capacity to affect that world.
Mister Granger's next thought is interesting, "Being literate isn't simply a matter of being able to put words on the page, it's solidifying our thoughts such that they can be written." So, in context so far, we can guess that Mister Granger is going to tell us how programming does not involve "solidifying" thoughts such that they can be written. I can make fun of this guy already. Yes, Mister Granger, people who program don't think; they do it by staring at a screen, and magical code fairies sprinkle their glowing golden boobie dust on the monitor to make special software magic.
"Coding is not the fundamental skill", Granger says next. Here, let's just take the moment to simply make a declaration we haven't earned the authority to make. Thank you, Mister Granger. While you're using your powers of divine authority over reality, can you please declare that Africa has no starving people and that war is not a thing anymore? Thanks. To show my appreciation, I'll start referring to Chris as "Diving Granger".
The next fallacy actually makes me pity this man. I'm honestly not sure whether this article is meant as satire now. "When we say that coding is the new literacy, we're arguing that wielding a pencil and paper is the old one." What? Because it's impossible for both programming and traditional literacy to have that relationship with the world, kind of like how it's impossible for traditional literacy and mathematics to both have that relationship with the world. That's why math doesn't matter at all, and isn't a vital skill, right Divine Granger? Let's continue...
"Coding, like writing, is a mechanical act. All we've done is upgrade the storage medium." Divine Granger says, "Programming is nothing like traditional literacy because it's exactly like traditional literacy." I really can't tell if this guy is serious.
"Writing if statements and for loops is straightforward to teach people, but it doesn't make them any more capable." Just like teaching Divine Granger how to generate the written word clearly did not make him any more capable.
"Just like writing, we have to know how to solidify our thoughts and get them out of our head. In the case of programming though, if we manage to do that in a certain way, a computer can do more than just store them. It can compute with them."
Dun-dun-dunnnnnnn! It can *compute* our thoughts! Not mathematical expressions. Not carefully constructed sequences of instructions designed by "solidifying" *and then very diligently refining* our thoughts to distill a problem's solution into a finite number of steps. It computes our *thoughts*. If you program, the machine will take over thinking for you! *GASP* When did humanity achieve this monstrous union of organic and mechanical min
Sadly, most "programmers" don't realize that programming is a mathematical discipline.