I'm not sure that knowing how to code is even that useful for most people.
Let me explain - coding is neccesary when you are doing something technically innovative. As things become less inovative, layers of abstraction are built to make them easier. Until eventually, there is a nice GUI that lets you achieve that thing without too much trouble.
So once, displaying a square to the screen involved assembley and custom hardware. Then the hardware got commodotized, and we got graphics libaries. Now, you just fire up MS paint and draw a square.
10 years ago, my mum wanted a website, so I coded one in HTML. 5 years ago, she wanted a website, so I coded a wordpress theme and she maintained it for years without trouble. This year I asked her what she does. She uses a facebook page. You don't need to code to make websites.
The website isn't important to her - the day to day activity of the charity are important to her, and the website helps them do that stuff. It is worth considering that while technology is a big part of what we do, most people are trying to do really hard things, sell stuff, help people, whatever, and only need a small amount of easy to use technology where it makes them more effective.
We learn math at school. I used trigonometry last week to create some cool android interaction mode, but I bet most of my classmates forgot it at 18, and only wish they remember it when it comes up on a TV quiz show. It will be the same with code.
I partially agree, but would add that learning to code is valuable in the same way that trigonometry was valuable. It's another way of looking and thinking about the world. The more perspectives we have on problems, the more ways we as individuals have to attack problems.
I've at least found this to be true in my own experience, but I have also sought out opportunities to combine disparate skill sets and knowledgebases. Being able to toggle between thinking like a sociologist and thinking like a programmer has made my work richer by providing me with solutions I might not otherwise have thought of.
I'm generally in favour of the 'learn to code' meme, but I think we've gotten too hung up on text based procedural coding languages and are not seeing the big picture here.
I would prefer to define programming as "composing a set instructions which can repeated automatically". By that definition there are many people who create valuable 'programs' such as spreadsheets, MS Word themes, CRM workflows, Photoshop scripts, AutoCAD scripts, manufacturing plans, automated UI tests or clever ways of using Mechanical Turk and oDesk. These people don't call themselves programmers but they've grasped the fundamental thing that makes programming a more powerful way of working. It's a way of thinking, not a particular syntax, and I think the economy will increasingly depend on those people who can amplify their effectiveness by thinking in that way.
I hope to teach my kids some basic python and HTML but mostly I hope to teach them that just pushing buttons and doing what you're told for 40 hours a week will not be very fulfilling career. Even if you're technically a doctor or a lawyer, you could get stuck being basically a robot. Whereas being someone who designs repeatable systems is much more rewarding.
I'm not sure that knowing how to code is even that useful for most people.
In the actual world we live in I agree with you.
However, in a thoughtful world, we would get everyone started coding at 5 and have many many classes devoted to it from K-12 ... because computers really are incredible force multipliers. If you know how to code, you can be much better at whatever you do.
But back to the real world, it's going to be much more like your trigonometry ... where kids fight it and forget it when they graduate HS.
I feel like saying everyone should learn to code is in the same spirit as saying everyone should get a stronger math education and everyone should learn statistics. Sure, everyone should get a better math education and learn statistics ... but that's easier said than done.
>> We learn math at school. I used trigonometry last week to create some cool android interaction mode, but I bet most of my classmates forgot it at 18, and only wish they remember it when it comes up on a TV quiz show. It will be the same with code.
Good. Maybe 90% of people never use the knowledge again. Maybe 99%. That still leaves 1% who learned it, absorbed it fully and use it to improve the world.
Computers run so very much of the world around us now, not giving people the chance to be educated to the level where they can meaningfully contribute is just plain wrong. Without this happening in school, most people will never have a chance.
I am left wondering: When did coding become not part of the public education system? My father recounts learning how to program on punch cards when he was in school. In my day we learned BASIC in elementary school and Pascal in high school. I've talked with people who are several years younger than me and apparently they learned on different languages again, but were introduced to coding just the same.
It certainly wasn't an intensive computer science education, but I'm not sure anyone is advocating for that anyway.
Now, your mom and here charity are completely dependent on Facebook.
This is an excellent example why programming or being able to do something yourself is important to defend independence and freedom of our society.
I think the author completely misses the point here. Coding is learning how to write and read. It does not prevent one from learning other disciplines but rather helps make links between disciplines such as literature and mathematics. As for computer accessibility, with initiatives like the raspberry pi, decent computer power is more and more available.
Coding without first having very good English literacy is quite difficult, especially considering that programming languages use much field-specific technical jargon.
Disagree. I'm a non native english speaker and picked up english after coding.
If and for aren't hard keywords to memorize, really.
As long as you don't interact with complex libraries or docs you'll be just fine.
I just named my variables and functions in german back then.
Sure, these programms were trivial. Or what you'd expect from someone coding basic for the first time. But that's were i found my passion for code. Without any english skills.
No so fast please. The article mentioned "The reading proficiency of Americans is much lower than most other developed countries, and it’s declining." It's not about English, it's about being able to properly read and understand what is written. Very basic stuff, really. For us-writing here in a 2nd language- this is hard to grasp I think.
Upvoted you because you do have a point there. But I still think it's flawed because I litterally was a 5th grader at that time.
In my opinion coding is about understanding the concept, everything else is syntax, and for that you can just memorize keywords.
At least I feel like my coding skills are very much decoupled from my reading/writing skills though I really don't know, so YMMV.
When reading a book I have to read it linearily and hope the author wrote it in a way so i can understand everything at a point in a book if I have read everything before but I probably won't understand much by just reading the last page.
When reading a large codebase I find myself wildly jumping around often ignoring stuff because it doesn't matter right now or assuming stuff because it's obvious or just not that important.
For me that's a very different skillset than reading written text.
Last but not least a very provocative analogy but I don't have a better one right now.
But for me "they shouldn't learn to code, they can't even spell everything correctly" sounds very much like "we shouldn't try to stop HIV in africa, they don't even have fresh water".
Again sorry, but nothing better comes to mind right now.
Thank you for the good discussion. I try to think of it more as 'learning to walk before running'. You are right, a lot of people can learn how to code and to them it is a good skill to learn.
A much larger part of poor people would benefit greatly by learning how to speak/write/read better. When I visited the US I was shocked by the large difference in people. I literally couldn't understand some people. For us (Northern European) folks it's hard to imagine so much Americans really do live in a 3rd world part of the US it seems.
First, the gap between rich and poor is a ridiculous argument for saying the "rich" should stop learning new skills. Property is one thing, we can debate that forever (as far as I'm concerned, neither capitalism nor communism nor any of their variants can yet claim victory, if ever), but knowledge? We now have to stop our children from knowing stuff in order to create a more egalitarian society? That's too insane even for my European "socialist" standards.
Second, learning all kind of basics, from math to biology to chemistry are all accepted parts of the curriculum. In this age computer sciences should be a normal part of that. We don't teach kids to write so that they will become literary geniuses, we don't teach them biology so they'll cure cancer. We teach them a basic understanding upon which they can either build, or at the very least use it to have better grasp on the world around them. Just like mixing some chemicals in the lab, or writing a simple essay, basic coding is an exercise to help them learn. There is neither the intention nor the expectation that they will become programmers when they grow up.
> Hired full time, and I make a good living. My work involves a lot of "data entry", verification, blah blah. I am a programmer at heart and figured out how to make a script do all my work for me. Between co workers, they have a 90% accuracy rating and 60-100 transactions a day completed. I have 99,6% accuracy and over 1.000 records a day. No one knows I do this because everyone's monthly accuracy and transaction count are tallied at the end of the month, which is how we earn our bonus. The scum part is, I get 85-95% of the entire bonus pool, which is a HUGE some of money. Most people are fine with their bonuses because they don't even know how much they would bonus regularly. I'm guessing they get €100-200 bonus a month. They would get a lot more if I didnt bot.
So reddit, am I a scumbag? I work about 8 hours a week doing real work, the rest is spent playing games on my phone or reading reddit...
That's a very interesting scenario and for me, there is no right or wrong answer. I would never label you as scumbag because the compensation structure was setup by the management team partially allowed the scenario to happen. It's a pity because it sounds like you have a lot of potential and your skills can be better used elsewhere to improve other areas of the company. Your managers should be aware enough to realize this.
Of course, on the other hand, you could also take the initiative to try to help your coworkers improve themselves and their productivity. Time spend playing games on your phone or reading reddit could've be partially used to help encourage other members on your team. Maybe the compensation structure deters you - but I am sure some if not all of your coworkers would really appreciate your help (technical or non-technical).
"Focusing on the additional, costly skillset of coding — rather than the other more essential, but still lacking, types of literacy — is the product of myopic technical privilege."
And assuming that educational resources are bounded by what's currently in place is the product of myopic acceptance of the status quo.
Maybe for the next Wired exercise in futurism, they could imagine an educational system that isn't being suffocated to death by anti-tax zealots and privatizers / privateers...
Especially in when we have people around complaining about their "IT/Tech" job in India and wanting to apply for bank jobs or do grocery business . Teach basic communication first ( may be how to write a complete sentence ) then code.
Why should a startup or tech goliath worry about concerns such as not exploiting users when people can examine the source code? When members of the coderati can customize changes, live in private clouds, and protect only themselves?
What I'm about to say is probably obvious to most HN readers, but I'll say it anyway in case the author is reading the comments: right now the large majority of commercial software is closed-source, and teaching everyone to code is probably not going to change that. Even if it did somehow change, and there were a bunch of eyes looking over all the software that companies wrote, it would probably make it an expensive PR blunder to not implement privacy best practices, etc... you wouldn't want your software's failure to implement proper protections to be a top story on HN.
Sometimes I wonder if I'm crazy for thinking this way, but I dream of the day when more people realize how little relevance the subjects being taught have. If Education, and I guess by extension personal and social growth, was about cramming knowledge into kids' heads, we'd have countries filled with geniuses, and the Internet would already have supplanted schools.
Knowledge is worthless and potentially dangerous without the means to properly use it, and that, in my opinion, is where Education has a place. It's about providing the tools necessary to process and accumulate knowledge and cope with unknowns, and fair enough, basic writing/reading and calculus skills are a good start, but far from it all.
In all the countries I've lived in, I've never once seen a school system which properly addresses this problem. I find the very idea of putting children through knowledge cramming and regurgitation sessions utterly appalling. Sure, it makes for a measurable system, but what exactly are we measuring?
I'm not saying the author doesn't have a point, I'm just saying his point doesn't address the real issue. As far as I'm concerned, it doesn't matter if you're teaching kids programming or the art of growing tomatoes, what matters is that if and when they want to do so, they can.
Sorry if this is going to sound harsh, this is certainly not my intention, but I wonder how you got from my general point about Education to your comment about our personal experiences at school.
You seem to have formed the conclusion that all schooling is worthless parrot-fashion recitation and cramming knowledge into the students' heads without any understanding.
My assumption is that this is your experience of your own schooling, and possibly that of your experience of your childrens' schools.
It's not how my education went, and I was taught subjects, but I was taught to understand them and to approach them all in rather different ways. The subjects are very relevant. Languages bed down better in younger minds. Scientific understanding is different from mathematical understanding and different again from historical understanding.
So I repeat, I'm sorry if you felt your schooling was terrible, if you felt you were being asked to cram worthless knowledge into your head, that's not how it went for all of us.
As a sophomore in High school, I cannot agree more. Up until my freshman year, I overachieved and excelled in academia, but had nothing to do outside of my school subjects. I would argue with people who thought school was pointless and try to convince them that each subject was necessary. After getting deeper into coding and entrepreneurship, I slowly started realizing that the time I spent on schoolwork could be used better with something more pertinent to me and my career. I started disagreeing with the things I desperately argued for at one point. Right now, I'm still doing good in school, but my performance is declining becuase I'm starting to spend more and more time coding and learning new tech. Maybe its good, maybe its bad, only time will tell.
Can we talk about the real issue in this article? Forty-five MILLION people are functionally illiterate. How was I not aware of this? Why aren't people more concerned about this?
Is it mandatory for U.S. citizens to all have a basic level of education? I wonder because we learned in economics class long time ago about how Asian countries were basically requiring everyone to have a basic level of education to help drive growth in the country.
"Schooling is compulsory for all children in the United States, but the age range for which school attendance is required varies from state to state. Most children begin elementary education with kindergarten (usually five to six years old) and finish secondary education with twelfth grade (usually eighteen years old). In some cases, pupils may be promoted beyond the next regular grade. Some states allow students to leave school between 14–17 with parental permission, before finishing high school; other states require students to stay in school until age 18"
This Wikipedia page also happens to conflict with the article on our literacy rate, claiming it's 99%. Would be interested to see why the difference exists.
Children have to go to school in the USA. But you can't force them to do well. Many kids don't want to learn for various reasons, and not all parents are a part of the process. The blame is then unfairly placed on the school system, and the kids end up quitting school as they get older.
I live in a poor area and I was in line at McDonald's and became angry that there wasn't a long line, but the line was moving very slowly. When I got to the cashier I realized the 20 year old girl they had working could hardly read and that's what was taking so long.
I ended up feeling bad for getting mad at the situation, I can't imagine not being able to read and what she must feel having to work there without being able to.
Something on the order of 40 million people are first generation immigrants. Obviously a lot of them are very well educated, but many others come with little formal education and little english. I know there are some literacy requirements for citizenship, but I don't know how much that and education together would cut into the 40 million.
I presume that's some non-trivial part of the "functionally illiterate" in the US. The graph even shows the number rising rapidly which may go some way to explain rising levels of illiteracy in the US.
(And just in case there's any ambiguity, I don't attach any stigma to immigrants coming here being functionally or entirely illiterate. Half of my own ancestors didn't know English when they got here either)
I've recently been reading an excellent book, Tinkering toward Utopia: A Century of Public School Reform (Tyack). Among its useful points is that the definition of illiterate has been changing throughout the history of school reform movements --- first it was defined as 'can you self-reportedly read?', then as 'did you finish $grade_after_which_you_are_literate' --- where this grade has gone from 1, to 3, to 5, as reformers need to argue that reform movements are necessary. The last year that it was asked whether you could read, 97% of people reported that they could.
It strikes me as a curious problem that we now think 5th grade is necessary for functional literacy. What's being taught between 1st and 5th grades that's necessary for literacy? How are more people entering the 'illiterate' pool? Cannot we just wait for the illiterate pool to die out?
Or perhaps, as some people do, functional literacy is attempting to measure some sort of societal literacy: fluency in a 'common set of core beliefs' of our society. Tyack argues that this 'common set' has always been a low-rigor concept, never well taught by the school system and never well measured, and as such years of schooling and socialization can be used as a proxy for how familiar you are with society. Unfortunately, this societal literacy is sometimes at odds with true literacy: some schools automatically promote societal contingents of one age group to the next grade, regardless if everyone in that group has competency in the current grade.
Thus, I claim the fourty-five million figure was not measured with a sound bar for literacy, and urge a more nuanced view of literacy that celebrates America's success in making its population ~completely literate.
The author seems to be mainly arguing in favor of focusing on traditional literacy. The point isn't how much time or effort is spent on a topic, but the way in which it's taught. Many of the countries doing better than the US in literacy have their students in school less that the US over their primary and secondary school careers.
(At 180 days * 6.7 hours a day[2], the US would hit ~ 1200, vs the 960 hr / year average for OECD countries, and many fewer for some of the top countries[1]).
The difference is in the way subjects are taught. As many people learn through many different ways, and are inspired to learn by many different topics, we should be encouraging schools to increase the number of subjects we teach, not limit them.
It would only make sense, then, to offer classes in algorithmic math or integrating coding and art classes, to offer further opportunities to discover new ideas and expand kids' minds.
I've seen this argument before in other scenarios (open education, etc.). It is technically correct but pointless. Just about anything we do to raise living standards in society increases the gap between rich and poor.
Does that mean we need to stop trying to raise the living standards of the majority of people and stop trying to offer things like free food, free healthcare, and free education? No.
It's like if someone argued against the use of penicillin because it increased the lifespan disparity between rich and poor. I'm sure it did and still does (for those with no access to pencillin), but what is the point? Are we supposed to stop using penicillin then to keep lifespans closer together? Or should we instead focus on getting more people access to penicillin, similar in a (very rough) sense to how the "learning to code" movement is focusing on making computational literacy more accessible to everyone.
Simply adding "code" to the current grade school curriculum would change nothing, I'm afraid. Programming would be taught the same way that all of the other subjects are currently taught: memorize for the standardized test, then promptly forget. Maybe the subject will reach a few kids with the aptitude to be a programmer that wouldn't otherwise be exposed to it, but I think that most kids that would be interested in programming find their way there regardless. I got my introduction by creating games on my TI-83 while bored in class.
And frankly, if the rest of the world needs to learn programming in order to function in society, then we haven't done our jobs correctly. We create programs to automate tasks that we don't want to or can't solve manually, with the idea that people have other stuff they want to do.
Allocating resources to teach coding will take away from teaching the fundamentals ... hence leading to worse outcomes and greater inequality.
Something about that argument doesn't sit right with me. It doesn't seem like the answer is to say 'we can't teach literacy well, therefore we shouldn't teach coding'. Seems like a better answer is 'fix how we teach literacy'.
I'm not quite sure how it isn't a fundamental. You'd at least most certainly have a very hard time do any code without using any other fundamental area.
Anything with a GUI? Ok there's all your principals of design to chuck in. Geometry, proportions or what have you can't be ignored so hello maths already.
It might not be a fundamental application but its skill set certainly is.
it just seemed like the 'income inequality' is an orthogonal issue.
A headline of 'Fix fundamentals first' or 'You need fundamentals before you can teach coding' would have made more sense to me.
with that said, for me, coding is actually a huge motivator for learning. You can actually see why you need to linear algebra, calculus, statistics, trigonometry, etcc. Instead of some abstract purpose you can very concretely that you need to master all those topics if you want to make a robot function ... for example.
Question that nobody asks : why should we care about the gap if it increases productivity?
What bad consequences will it have?
I don't mean that theoretically people will feel bad, but how exactly will this be bad for a random joe to have a slightly smaller share of a much much bigger pie??
This article, and most of the comments here, are, IMO, missing the point of teaching programming in school. You don't teach kids to code because they're all going to write code for a living. A semester or two of Python in high school is not going to leave most kids capable of building anything worthwhile. A few will be caught by it and learn on their own or continue studying, but that's a tiny minority and not the main benefit.
The reason we should teach programming is to force kids to think like programmers. Even if they hate it. Even if it's only for a couple hours a week for a few months. Programming is problem solving. Think about the mental processes involved: pattern recognition in complex systems, breaking down problems into their smallest parts, stepping through a potential solution one step at a time, managing multiple changing pieces of state at once. Those are your practical skills.
How many arguments could be ended if people knew how and were willing to think through their potential solutions one step at a time and see where each move left them? I'm the first to laugh at "STEM master race" arguments, particularly in education, but just because an engineer-like perspective isn't panacea doesn't mean it isn't a valuable tool that I wish more people had.
I feel like you could replace the word "programming" with any moderately complicated profession or skill and it would be equally as viable. Programming is currently in vogue right now so naturally it's going to seem like it's important to learn, even if the person learning it doesn't become a programmer. I'm not sure I buy that premise. Teach kids how to problem solve, sure, but programmers are not the only people who solve problems.
They are the ones who have by far the lowest barrier to entry (arguably zero), even better is your tools can also be used to teach how to use them.
Learning metal shop could teach you a similar skill set about putting together something reasonable complex but you can't just be put in a workshop and figure it out.
Having done both, I'd say you shouldn't underestimate the power of thinking "with your hands" that you'll learn from doing working with metal, wood, or any form of traditional craftsmanship really. For some people it is much better suited as a way to engage the abstract than programming ever will be.
Sure, that's true, and it's the place that math had in a classical education - logic, geometry, and so on - before it was perverted into the purely practical plug-and-chug.
Had the exact same thoughts running through my mind as I was reading this - "you are missing the point of why you should strive to give kids the opportunity to learn this!".
Learning to "think like programmers" is essentially teaching kids to think like engineers, in other words, recognize complex systemic interdependencies and understand that things usually form a system that has it's own rules, constraints, etc. When you start to understand these relationships, it helps you immensely even outside the realm of tech. For example, the Monarch butterflies are not having such a good decade. Why? Well, the system that enabled their migration (the prevalence of milkweed) has been modified extensively by humans, and now is at the breaking point where there may not be clear avenues for the butterflies to continue their migration patterns. This is a gross oversimplification of course, but the point is that now we can look at the other "nodes" in the system that will be impacted by lack of migration. Birds could be impacted, which in turn impacts whatever feeds of those birds, etc., etc.
Computers offer some of the more understandable and finite systems that we can learn, yet offer incredible flexibility, illustrating how complex things can get. Learning to speak in these languages helps with that understanding.
Also, I don't think anyone is advocating learning assembly or what not. When most people talk about "learning to code", it's picking up a higher-order language that does a lot of the complex things for you. It's not the same as teaching real computer science. It's basic comprehension and knowing how these systems form.
Exactly. Process tracing is applicable to everything.
My personal favorite, that I'm always painfully reminded of when reading political news, is the ability to hold multiple interrelated systems in your head at once and check that they're mutually consistent. There's so much unintentional doublethink out there that I think could be significantly improved if people would just stop and walk through their own thought processes in a logical manner. It's not the only way to think, and it's not appropriate for absolutely everything, but it is a good sanity check for many, many domains, and it's frustrating when people tend to look at me funny and end the conversation when I try to, for example, explain that two ideas cannot possibly be held at the same time because they're contradictory when taken a step down the line.
Come to think of it, the concept of a sanity check itself is something that I got from programming and use in everyday life.
I think the point of teaching programming is quite clear. The debate is over the question of necessity. Of course it teaches a valuable way of thinking - so does any other science. What the author argues is that the benefits of adding a CS curriculum doesn't outweigh the cost, especially if half of the student body barely knows how to read.
No, I really don't think it is clear. The arguments cited are things like "everyone should learn to code because computers are so important," or "everyone should learn to code because it can make any task quicker." It's coding for its own sake, or for the direct benefits of being able to use a computer better. In terms of the real educational benefit, it's got nothing to do with what you do the computer and everything to do with what you accidentally do to your mind in the process.
adding to your point, i can actually make a point "teach kids finance so they earn more and can pay someone to do programming for them", actually more useful in real life.
actually let's extend it and say "teach kids finance"
No one is suggesting that we should focus on computer education over literacy. That's like saying we shouldn't teach mathematics because literacy is more important.
The school I went to had computer classes. And they were crap. I took all of them hoping I would learn to program or do useful things. But they are entirely about teaching Microsoft Office and Excel. Not a useless skill, but it shouldn't take hundreds of hours of class time to learn that.
>What’s more, a society where people are expected to know how to code is one where powerful players like big corporations and government are more likely to ignore responsible design obligations — design decisions such as building in privacy protections and making sure technologies have a degree of transparency about how they operate. It would be like saying safety-enhancing features in vehicles aren’t necessary because everyone learned the basics in driving
school… or worse, who needs to learn when autonomous cars do it for us anyway?
No, this makes no sense. Even programmers don't want to have to manually inspect and work with the code of every program they use. I feel like the author might be misled here.
>If coding becomes a required skill to navigate a technological environment, then a large part of the population without the privilege of becoming fluent in code will be left behind. It will be the gap between the coding haves and have-nots. A world where filter bubbles and sameness rules over the messy realities of life.
This isn't entirely wrong, but still seems like a zero-sum fallacy. Some people learning how to code doesn't mean everyone else is therefore worse off. And hey, you can say this about literally anything at all. Does driving skill being normal make the world more unequal and worse? Or math education. Or internet access. Or numerous other examples. Would taking those things away make the world better?
That is, I don't want people to be poor, but making everyone else poor for the sake of equality doesn't actually improve the situation.
Sidenote: Is OP, Libertatea, a bot? I thought there was a reddit bot of the same name that just posted articles, and he has a lot of submissions and only a few comments. Just curious, don't mean to accuse OP of anything.
> We have enough trouble raising English literacy rates, let alone increasing basic computer literacy: the ability to
effectively use computers to, say, access programs or log
onto the internet. Throwing coding literacy into the mix
means further divvying up scarce resources.
This puts into words my feelings towards this techno-movement of "teaching everyone to code". Don't get me wrong, I have nothing against increasing computer literacy; with technology so deeply embedded in our modern industrial society, the fact that the majority of our citizenry have little understanding about how these machines work is very real cause for concern. However, I really don't think it's what we should be concerned about right now.
I used to tutor at at an after-school program in a neighborhood in Boston called Bowdoin-Geneva. It has one of the [highest crime rates] (http://www.bostonglobe.com/metro/specials/68blocks) in the state of Massachusetts. The high school graduation rate in that region is abysmal, and of the ones who enroll at four year universities, the percentage of students that actually complete their degree is even worse. It's also a neighborhood with a large population of Cape-Verdean immigrants, and many of these immigrant families send their children to after-school programs, including the one I was at. I was mainly involved with the 7th grade classes, and the environment was often very chaotic. I couldn't really blame them - I mean, it was "after-school". But in interacting with these kids, and working alongside them on their homework, what struck me wasn't so much the fact that they lacked even the most basic knowledge of English and Arithmetic (I knew the stats), but how incredibly curious and energized they were as humans, and yet how utterly pointless and enervating they found school to be. For most of these kids, fun was anything but school. School was like a prison, and this program was a brief escape. It was where they could get help on their dreaded assignments, and then go play for the rest of the day.
Unfortunately, that sentiment isn't endemic to Bowdoin-Geneva. And that, to me, speaks volumes about what's really wrong with public education. It's not just the curriculum (more coding?), it's school. The teachers, the administrators, the culture. Who are we paying to teach? Who are we paying to lead the organizations that build our future? What do we have to do so that kids actually want to learn for learning sake? It's a challenge, and there's no one answer. But adding more features to a broken product is not the solution.
This article sounds more like criticism of a badly functioning educational system, than criticism of the idea itself. How about teaching kids to code in countries that don't have as many functional illiterates, then?
Or how about fixing the educational system, and add programming while you're at it?
Should the illiteracy problem be a reason to drop other non-essential courses from the curriculum? Is every course currently on the curriculum really more important than coding (which teaches problem solving, logic, systemic thinking, and in fact even involves quite a bit of reading at times)?
61 comments
[ 4.7 ms ] story [ 180 ms ] threadLet me explain - coding is neccesary when you are doing something technically innovative. As things become less inovative, layers of abstraction are built to make them easier. Until eventually, there is a nice GUI that lets you achieve that thing without too much trouble.
So once, displaying a square to the screen involved assembley and custom hardware. Then the hardware got commodotized, and we got graphics libaries. Now, you just fire up MS paint and draw a square.
10 years ago, my mum wanted a website, so I coded one in HTML. 5 years ago, she wanted a website, so I coded a wordpress theme and she maintained it for years without trouble. This year I asked her what she does. She uses a facebook page. You don't need to code to make websites.
The website isn't important to her - the day to day activity of the charity are important to her, and the website helps them do that stuff. It is worth considering that while technology is a big part of what we do, most people are trying to do really hard things, sell stuff, help people, whatever, and only need a small amount of easy to use technology where it makes them more effective.
We learn math at school. I used trigonometry last week to create some cool android interaction mode, but I bet most of my classmates forgot it at 18, and only wish they remember it when it comes up on a TV quiz show. It will be the same with code.
I've at least found this to be true in my own experience, but I have also sought out opportunities to combine disparate skill sets and knowledgebases. Being able to toggle between thinking like a sociologist and thinking like a programmer has made my work richer by providing me with solutions I might not otherwise have thought of.
I would prefer to define programming as "composing a set instructions which can repeated automatically". By that definition there are many people who create valuable 'programs' such as spreadsheets, MS Word themes, CRM workflows, Photoshop scripts, AutoCAD scripts, manufacturing plans, automated UI tests or clever ways of using Mechanical Turk and oDesk. These people don't call themselves programmers but they've grasped the fundamental thing that makes programming a more powerful way of working. It's a way of thinking, not a particular syntax, and I think the economy will increasingly depend on those people who can amplify their effectiveness by thinking in that way.
I hope to teach my kids some basic python and HTML but mostly I hope to teach them that just pushing buttons and doing what you're told for 40 hours a week will not be very fulfilling career. Even if you're technically a doctor or a lawyer, you could get stuck being basically a robot. Whereas being someone who designs repeatable systems is much more rewarding.
In the actual world we live in I agree with you.
However, in a thoughtful world, we would get everyone started coding at 5 and have many many classes devoted to it from K-12 ... because computers really are incredible force multipliers. If you know how to code, you can be much better at whatever you do.
But back to the real world, it's going to be much more like your trigonometry ... where kids fight it and forget it when they graduate HS.
I feel like saying everyone should learn to code is in the same spirit as saying everyone should get a stronger math education and everyone should learn statistics. Sure, everyone should get a better math education and learn statistics ... but that's easier said than done.
Good. Maybe 90% of people never use the knowledge again. Maybe 99%. That still leaves 1% who learned it, absorbed it fully and use it to improve the world.
Computers run so very much of the world around us now, not giving people the chance to be educated to the level where they can meaningfully contribute is just plain wrong. Without this happening in school, most people will never have a chance.
It certainly wasn't an intensive computer science education, but I'm not sure anyone is advocating for that anyway.
So please allow me to call bullshit.
Last but not least a very provocative analogy but I don't have a better one right now. But for me "they shouldn't learn to code, they can't even spell everything correctly" sounds very much like "we shouldn't try to stop HIV in africa, they don't even have fresh water".
Again sorry, but nothing better comes to mind right now.
A much larger part of poor people would benefit greatly by learning how to speak/write/read better. When I visited the US I was shocked by the large difference in people. I literally couldn't understand some people. For us (Northern European) folks it's hard to imagine so much Americans really do live in a 3rd world part of the US it seems.
First, the gap between rich and poor is a ridiculous argument for saying the "rich" should stop learning new skills. Property is one thing, we can debate that forever (as far as I'm concerned, neither capitalism nor communism nor any of their variants can yet claim victory, if ever), but knowledge? We now have to stop our children from knowing stuff in order to create a more egalitarian society? That's too insane even for my European "socialist" standards.
Second, learning all kind of basics, from math to biology to chemistry are all accepted parts of the curriculum. In this age computer sciences should be a normal part of that. We don't teach kids to write so that they will become literary geniuses, we don't teach them biology so they'll cure cancer. We teach them a basic understanding upon which they can either build, or at the very least use it to have better grasp on the world around them. Just like mixing some chemicals in the lab, or writing a simple essay, basic coding is an exercise to help them learn. There is neither the intention nor the expectation that they will become programmers when they grow up.
"Reddit, my friends call me a scumbag because I automate my work when I was hired to do it manually. Am I?" - http://www.reddit.com/r/AskReddit/comments/tenoq/reddit_my_f...
> Hired full time, and I make a good living. My work involves a lot of "data entry", verification, blah blah. I am a programmer at heart and figured out how to make a script do all my work for me. Between co workers, they have a 90% accuracy rating and 60-100 transactions a day completed. I have 99,6% accuracy and over 1.000 records a day. No one knows I do this because everyone's monthly accuracy and transaction count are tallied at the end of the month, which is how we earn our bonus. The scum part is, I get 85-95% of the entire bonus pool, which is a HUGE some of money. Most people are fine with their bonuses because they don't even know how much they would bonus regularly. I'm guessing they get €100-200 bonus a month. They would get a lot more if I didnt bot.
So reddit, am I a scumbag? I work about 8 hours a week doing real work, the rest is spent playing games on my phone or reading reddit...
Of course, on the other hand, you could also take the initiative to try to help your coworkers improve themselves and their productivity. Time spend playing games on your phone or reading reddit could've be partially used to help encourage other members on your team. Maybe the compensation structure deters you - but I am sure some if not all of your coworkers would really appreciate your help (technical or non-technical).
And assuming that educational resources are bounded by what's currently in place is the product of myopic acceptance of the status quo.
Maybe for the next Wired exercise in futurism, they could imagine an educational system that isn't being suffocated to death by anti-tax zealots and privatizers / privateers...
What I'm about to say is probably obvious to most HN readers, but I'll say it anyway in case the author is reading the comments: right now the large majority of commercial software is closed-source, and teaching everyone to code is probably not going to change that. Even if it did somehow change, and there were a bunch of eyes looking over all the software that companies wrote, it would probably make it an expensive PR blunder to not implement privacy best practices, etc... you wouldn't want your software's failure to implement proper protections to be a top story on HN.
Knowledge is worthless and potentially dangerous without the means to properly use it, and that, in my opinion, is where Education has a place. It's about providing the tools necessary to process and accumulate knowledge and cope with unknowns, and fair enough, basic writing/reading and calculus skills are a good start, but far from it all.
In all the countries I've lived in, I've never once seen a school system which properly addresses this problem. I find the very idea of putting children through knowledge cramming and regurgitation sessions utterly appalling. Sure, it makes for a measurable system, but what exactly are we measuring?
I'm not saying the author doesn't have a point, I'm just saying his point doesn't address the real issue. As far as I'm concerned, it doesn't matter if you're teaching kids programming or the art of growing tomatoes, what matters is that if and when they want to do so, they can.
My assumption is that this is your experience of your own schooling, and possibly that of your experience of your childrens' schools.
It's not how my education went, and I was taught subjects, but I was taught to understand them and to approach them all in rather different ways. The subjects are very relevant. Languages bed down better in younger minds. Scientific understanding is different from mathematical understanding and different again from historical understanding.
So I repeat, I'm sorry if you felt your schooling was terrible, if you felt you were being asked to cram worthless knowledge into your head, that's not how it went for all of us.
"Schooling is compulsory for all children in the United States, but the age range for which school attendance is required varies from state to state. Most children begin elementary education with kindergarten (usually five to six years old) and finish secondary education with twelfth grade (usually eighteen years old). In some cases, pupils may be promoted beyond the next regular grade. Some states allow students to leave school between 14–17 with parental permission, before finishing high school; other states require students to stay in school until age 18"
This Wikipedia page also happens to conflict with the article on our literacy rate, claiming it's 99%. Would be interested to see why the difference exists.
I live in a poor area and I was in line at McDonald's and became angry that there wasn't a long line, but the line was moving very slowly. When I got to the cashier I realized the 20 year old girl they had working could hardly read and that's what was taking so long.
I ended up feeling bad for getting mad at the situation, I can't imagine not being able to read and what she must feel having to work there without being able to.
http://www.nsf.gov/statistics/seind12/c7/c7s2.htm
74% of Americans could read a simple chart correctly and 66% understood the concept of "mean" in statistics.
http://www.migrationinformation.org/datahub/charts/final.fb....
I presume that's some non-trivial part of the "functionally illiterate" in the US. The graph even shows the number rising rapidly which may go some way to explain rising levels of illiteracy in the US.
(And just in case there's any ambiguity, I don't attach any stigma to immigrants coming here being functionally or entirely illiterate. Half of my own ancestors didn't know English when they got here either)
It strikes me as a curious problem that we now think 5th grade is necessary for functional literacy. What's being taught between 1st and 5th grades that's necessary for literacy? How are more people entering the 'illiterate' pool? Cannot we just wait for the illiterate pool to die out?
Or perhaps, as some people do, functional literacy is attempting to measure some sort of societal literacy: fluency in a 'common set of core beliefs' of our society. Tyack argues that this 'common set' has always been a low-rigor concept, never well taught by the school system and never well measured, and as such years of schooling and socialization can be used as a proxy for how familiar you are with society. Unfortunately, this societal literacy is sometimes at odds with true literacy: some schools automatically promote societal contingents of one age group to the next grade, regardless if everyone in that group has competency in the current grade.
Thus, I claim the fourty-five million figure was not measured with a sound bar for literacy, and urge a more nuanced view of literacy that celebrates America's success in making its population ~completely literate.
(At 180 days * 6.7 hours a day[2], the US would hit ~ 1200, vs the 960 hr / year average for OECD countries, and many fewer for some of the top countries[1]).
The difference is in the way subjects are taught. As many people learn through many different ways, and are inspired to learn by many different topics, we should be encouraging schools to increase the number of subjects we teach, not limit them.
It would only make sense, then, to offer classes in algorithmic math or integrating coding and art classes, to offer further opportunities to discover new ideas and expand kids' minds.
Edit: fixed US hours
1: http://www.oecd.org/education/skills-beyond-school/48631122....
2: http://nces.ed.gov/surveys/pss/tables/table_15.asp
Does that mean we need to stop trying to raise the living standards of the majority of people and stop trying to offer things like free food, free healthcare, and free education? No.
It's like if someone argued against the use of penicillin because it increased the lifespan disparity between rich and poor. I'm sure it did and still does (for those with no access to pencillin), but what is the point? Are we supposed to stop using penicillin then to keep lifespans closer together? Or should we instead focus on getting more people access to penicillin, similar in a (very rough) sense to how the "learning to code" movement is focusing on making computational literacy more accessible to everyone.
"Technologies should adapt to our needs and values." Period.
Off to research how education dealt with the horseless carriage and the flying machine back in the old 20th cent.
And frankly, if the rest of the world needs to learn programming in order to function in society, then we haven't done our jobs correctly. We create programs to automate tasks that we don't want to or can't solve manually, with the idea that people have other stuff they want to do.
Allocating resources to teach coding will take away from teaching the fundamentals ... hence leading to worse outcomes and greater inequality.
Something about that argument doesn't sit right with me. It doesn't seem like the answer is to say 'we can't teach literacy well, therefore we shouldn't teach coding'. Seems like a better answer is 'fix how we teach literacy'.
Anything with a GUI? Ok there's all your principals of design to chuck in. Geometry, proportions or what have you can't be ignored so hello maths already.
It might not be a fundamental application but its skill set certainly is.
it just seemed like the 'income inequality' is an orthogonal issue.
A headline of 'Fix fundamentals first' or 'You need fundamentals before you can teach coding' would have made more sense to me.
with that said, for me, coding is actually a huge motivator for learning. You can actually see why you need to linear algebra, calculus, statistics, trigonometry, etcc. Instead of some abstract purpose you can very concretely that you need to master all those topics if you want to make a robot function ... for example.
What bad consequences will it have?
I don't mean that theoretically people will feel bad, but how exactly will this be bad for a random joe to have a slightly smaller share of a much much bigger pie??
The reason we should teach programming is to force kids to think like programmers. Even if they hate it. Even if it's only for a couple hours a week for a few months. Programming is problem solving. Think about the mental processes involved: pattern recognition in complex systems, breaking down problems into their smallest parts, stepping through a potential solution one step at a time, managing multiple changing pieces of state at once. Those are your practical skills.
How many arguments could be ended if people knew how and were willing to think through their potential solutions one step at a time and see where each move left them? I'm the first to laugh at "STEM master race" arguments, particularly in education, but just because an engineer-like perspective isn't panacea doesn't mean it isn't a valuable tool that I wish more people had.
Learning metal shop could teach you a similar skill set about putting together something reasonable complex but you can't just be put in a workshop and figure it out.
Learning to "think like programmers" is essentially teaching kids to think like engineers, in other words, recognize complex systemic interdependencies and understand that things usually form a system that has it's own rules, constraints, etc. When you start to understand these relationships, it helps you immensely even outside the realm of tech. For example, the Monarch butterflies are not having such a good decade. Why? Well, the system that enabled their migration (the prevalence of milkweed) has been modified extensively by humans, and now is at the breaking point where there may not be clear avenues for the butterflies to continue their migration patterns. This is a gross oversimplification of course, but the point is that now we can look at the other "nodes" in the system that will be impacted by lack of migration. Birds could be impacted, which in turn impacts whatever feeds of those birds, etc., etc.
Computers offer some of the more understandable and finite systems that we can learn, yet offer incredible flexibility, illustrating how complex things can get. Learning to speak in these languages helps with that understanding.
Also, I don't think anyone is advocating learning assembly or what not. When most people talk about "learning to code", it's picking up a higher-order language that does a lot of the complex things for you. It's not the same as teaching real computer science. It's basic comprehension and knowing how these systems form.
My personal favorite, that I'm always painfully reminded of when reading political news, is the ability to hold multiple interrelated systems in your head at once and check that they're mutually consistent. There's so much unintentional doublethink out there that I think could be significantly improved if people would just stop and walk through their own thought processes in a logical manner. It's not the only way to think, and it's not appropriate for absolutely everything, but it is a good sanity check for many, many domains, and it's frustrating when people tend to look at me funny and end the conversation when I try to, for example, explain that two ideas cannot possibly be held at the same time because they're contradictory when taken a step down the line.
Come to think of it, the concept of a sanity check itself is something that I got from programming and use in everyday life.
But in all seriousness, it's shocking how many people turn a blind eye to inconvenient contradictions/conflicts.
The school I went to had computer classes. And they were crap. I took all of them hoping I would learn to program or do useful things. But they are entirely about teaching Microsoft Office and Excel. Not a useless skill, but it shouldn't take hundreds of hours of class time to learn that.
>What’s more, a society where people are expected to know how to code is one where powerful players like big corporations and government are more likely to ignore responsible design obligations — design decisions such as building in privacy protections and making sure technologies have a degree of transparency about how they operate. It would be like saying safety-enhancing features in vehicles aren’t necessary because everyone learned the basics in driving school… or worse, who needs to learn when autonomous cars do it for us anyway?
No, this makes no sense. Even programmers don't want to have to manually inspect and work with the code of every program they use. I feel like the author might be misled here.
>If coding becomes a required skill to navigate a technological environment, then a large part of the population without the privilege of becoming fluent in code will be left behind. It will be the gap between the coding haves and have-nots. A world where filter bubbles and sameness rules over the messy realities of life.
This isn't entirely wrong, but still seems like a zero-sum fallacy. Some people learning how to code doesn't mean everyone else is therefore worse off. And hey, you can say this about literally anything at all. Does driving skill being normal make the world more unequal and worse? Or math education. Or internet access. Or numerous other examples. Would taking those things away make the world better?
That is, I don't want people to be poor, but making everyone else poor for the sake of equality doesn't actually improve the situation.
Sidenote: Is OP, Libertatea, a bot? I thought there was a reddit bot of the same name that just posted articles, and he has a lot of submissions and only a few comments. Just curious, don't mean to accuse OP of anything.
This puts into words my feelings towards this techno-movement of "teaching everyone to code". Don't get me wrong, I have nothing against increasing computer literacy; with technology so deeply embedded in our modern industrial society, the fact that the majority of our citizenry have little understanding about how these machines work is very real cause for concern. However, I really don't think it's what we should be concerned about right now.
I used to tutor at at an after-school program in a neighborhood in Boston called Bowdoin-Geneva. It has one of the [highest crime rates] (http://www.bostonglobe.com/metro/specials/68blocks) in the state of Massachusetts. The high school graduation rate in that region is abysmal, and of the ones who enroll at four year universities, the percentage of students that actually complete their degree is even worse. It's also a neighborhood with a large population of Cape-Verdean immigrants, and many of these immigrant families send their children to after-school programs, including the one I was at. I was mainly involved with the 7th grade classes, and the environment was often very chaotic. I couldn't really blame them - I mean, it was "after-school". But in interacting with these kids, and working alongside them on their homework, what struck me wasn't so much the fact that they lacked even the most basic knowledge of English and Arithmetic (I knew the stats), but how incredibly curious and energized they were as humans, and yet how utterly pointless and enervating they found school to be. For most of these kids, fun was anything but school. School was like a prison, and this program was a brief escape. It was where they could get help on their dreaded assignments, and then go play for the rest of the day.
Unfortunately, that sentiment isn't endemic to Bowdoin-Geneva. And that, to me, speaks volumes about what's really wrong with public education. It's not just the curriculum (more coding?), it's school. The teachers, the administrators, the culture. Who are we paying to teach? Who are we paying to lead the organizations that build our future? What do we have to do so that kids actually want to learn for learning sake? It's a challenge, and there's no one answer. But adding more features to a broken product is not the solution.
Or how about fixing the educational system, and add programming while you're at it?
Should the illiteracy problem be a reason to drop other non-essential courses from the curriculum? Is every course currently on the curriculum really more important than coding (which teaches problem solving, logic, systemic thinking, and in fact even involves quite a bit of reading at times)?