President Obama calls on every American to learn code - <AUTHOR> https://www.youtube.com/watch?v=6XvmhE1J9PY&list=TL6euzOUWjLwl8_6zUc-uxbfDbAZw-8RhW <comment><USER4> Speaking as a non-coder, but as one who did minimal things with programming- like higher-level stuff ranging from the old DOS batch files to VBA and some dabbling with SQL, I am curious whether real engineers believe the idea of broad literacy in coding truly would be valuable and, if so, how exactly.

I am not speaking as a skeptic, just as one who does not readily see the point and wants to know.

Of course, we are in a digital age and there is incredible value in knowing how to code for the person who really masters this skill. And, among those who do master it, you will of course have various gradations in skill level ranging from profound to excellent to good to competent to serviceable, and these in turn will give the bearer of such skills a range of opportunities commensurate with the acquired skill level (and, when I say skill, I don't mean mere technique but also inspiration, insight, imagination, and whatever else it takes not only to pound something out but to do it in ways that stand out).

That said, however, if I were to look, say, at 100 random friends and acquaintances, I would question what good it would do for them to learn a few basics about the syntax of some programming language, to learn a few things about programming objects, and to learn a few things about control structures if the sum total of all those few things is simply to understanding minimal things about how coding works without being able to apply that knowledge effectively to anything in their real-world lives. In my own case in having hacked through some minimal interpretative stuff, I at least had some professional uses for this sort of thing (e.g., using VBA to systematize a few MS Word functions needed in our office). But, even at this level, most of the people around me - being non-programmers - would run in horror from the idea of even getting into that level of trying to interact with a computing environment. For the most part, they were content to know as little as possible about any of the inner workings of a computer and were totally uninterested in delving any deeper. And these are the people who are out there by the millions who have always been drawn to the simplest ways of interacting with their computers (e.g., mouse and not keyboard). In my experience, unless people naturally have a mathematical or engineering "bent," they simply would rather not deal with understanding how something like a computer works beneath the surface but want only to grasp its benefits at the highest level with the least effort possible.

If most people are indeed like that (and I believe they are), how would it benefit them in a practical sense, say, for future educational curricula to mandate taking a prescribed course in learning to code. Even if this sort of thing were required, wouldn't this be just like a prescribed foreign language course in middle school that one has but a fleeting acquaintance with, only to have little or nothing stick beyond getting past the requirement for the purposes of passing a class. What residual value would stick from such fleeing interactions with the rudiments of coding?

It seems to me that, if one is to derive true value from learning to code, one needs to devote a significant level of dedicated hard work toward that effort and, if one fails to get beyond a minimal threshold, the only value gained is that of a very generalized form of knowledge that has little practical use in the real world. And I would suspect that most people really do not want to devote such an effort to this task. A good many do, of course, and, as noted, this does have _huge_ value in our digital age for those that do. But why expect it of most people?

There is nothing wrong, of course, with our political leaders encouraging young people to learn to code and this may inspire some to do so. But coding is not really like, say, writing, where gaining a minimal proficiency leaves one in a much better position than not knowing how to do it at all. It seems that, if most people can't get beyond some minimum threshold to make the endeavor worthwhile, learning to code would not help the great majority of people who are not interested in making the sort of dedicated effort that only a relatively minority will in fact make to justify the effort in practical terms.

That is my layman's view. Do those who really know this stuff agree or is this just some disconnected elitist view of people that doesn't fit with modern understanding? I would genuinely like to know because, to me, it does not seem like a close question. Am I just being prejudiced here?

<comment><USER5> Just like the "prescribed foreign language course in middle school", a bit of programming practice may widen your horizon, and help demystify these seemingly opaque machines and networks.

It's about practice, not "knowledge" per se. Basic tasks, like: I have a folder full of files, how do I get the filenames into a text file or e-mail? Five-liners in high-level languages, the equivalent of asking for directions in a foreign tongue.

Of course, that idea comes from a time when one would own a universal computer, and own one's own data. You can argue that for many people, the filenames and text files I'm talking about are already a thing of the past, that it's all pinch and swipe, plus cloud storage.

<comment><USER6> The irony about your very valid benefits of having basic programming knowledge is that music programs, which have been _proven_ to provide benefits in math and language and just general smartyhood, are the first to get their budgets cut in any given budget battle. That said, how many working people have ever had to face the problem of getting a list of filenames into an email?

[http://www.pbs.org/parents/education/music-arts/the- benefits...](http://www.pbs.org/parents/education/music-arts/the-benefits-of- music-education/) (not my favorite source, but there are plenty of pointers to this data out there)

<comment><USER7> _> That said, how many working people have ever had to face the problem of getting a list of filenames into an email?_

A lot of my coworkers.

They take a screenshot, thus offloading the hard part onto everyone who needs to get data out of their email.

It's about as awesome as it sounds.

<comment><USER8> I have to laugh at this. I worked in strategy consulting, where my coworkers were all MBAs from Harvard, Stanford or, in our office, Tokyo University. We had many cases where people had tasks of various sorts that they would handle with the equivalent of this screenshot-of-the-data approach. I, a fellow consultant, often groaned when I saw such things and wrote little utilities for them, figured out how to dynamically generate PDFs for their presentation data, or whatever.

At one point, the general mgr of our office, said that these things were so valuable to everyone, and I was so good at it and seemed to enjoy it so much, that he was wondering if it wouldn't make more sense for him to take me off of my own consulting cases and make IT projects my only case. Of course, IT people were thought of as lowly support staff for the elite consultants, so it would mean a pay cut and end my consulting career. This wasn't a warning; he was just thinking that this might better serve the needs of the firm.

That day I stopped being a valuable IT resource for my coworkers and reserved my dev skills for my giving myself a "sustainable competitive advantage" in my own work on my own cases.

<comment><USER9> You should package up your tools and sell it to them on a subscription basis per consultant head. Make sure the total price is at least your gross salary and bake in a minimum subscription period. Quit your job, build all the tools you ever wanted and sell it to all other consultancies and their offices.

The powerpoint extensions I used in consulting were created by ex-consultants so it's not unheard of to do this.

</comment></comment></comment></comment></comment></comment><comment><USER10> A lot of people are getting attached to the "every American" aspect of things, and I think its important to note the distance between "knowing how to code" and "becoming a programmer." Amateur programming (for lack of a better term) like basic Python for data analysis or HTML/CSS to work on Wordpress sites (Hell, one of my friends who's a Social Media Manager learned Python to create some QoL scripts for her day-to-day routine.) is growing increasingly popular amongst recent grads.

 _" Whether you're a young man or a young woman -- whether you live in a city or a rural area -- computers are going to be a big part of future. And, if you're willing to work hard, that future is yours to shape."_

It's hard to argue with the central message there, but we must be careful not to conflate that with the necessity of getting a CS degree. Every American should probably be able to change a tire. That doesn't mean every American should be a car mechanic.

<comment><USER11> We teach writing as a required subject in schools, without the expectation that everyone is going to be a professional writer.

We teach science without the expectation that everyone is going to be a scientist.

We teach physical education without the expectation that everyone is going to be a professional athlete.

These are all good life skills to have even if you don't learn enough to make it your career. So it should be the same with programming.

<comment><USER12> We should also be teaching how to change a tire, how to cook basic nutritious meals, personal finance, etc..

"A human being should be able to change a diaper, plan an invasion, butcher a hog, conn a ship, design a building, write a sonnet, balance accounts, build a wall, set a bone, comfort the dying, take orders, give orders, cooperate, act alone, solve equations, analyze a new problem, pitch manure, program a computer, cook a tasty meal, fight efficiently, die gallantly. Specialization is for insects." ― Robert A. Heinlein

<comment><USER13> I hate that quote. It starts fine, but then reaches a stupid conclusion. I wonder how much worse our life would have been without centuries of specialization: in science, in education, in business...

<comment><USER12> I still find value within in. Sorry! Specialization is important for society collectively, diversity is important for the individual. Balance is key.

I don't want to die gallantly though, just satisfied with whatever I've accomplished and left behind.

<comment><USER13> I can certainly agree with that. "Specialization is for insects" is needlessly insulting, though...

<comment><USER12> But true. How many jobs will you have during your lifetime? Will you only use one skill throughout all of them, or even just one?

Specialization isn't just for insects. Its for robotics and software. Anything that can't learn and evolve.

</comment></comment></comment></comment></comment></comment></comment><comment><USER14> While I agree that it's a great mental exercise to learn how to code (and to learn the mindset that goes along with it), isn't it much more important for every American to learn how to budget? To learn how to save money? To me, those are things that are _far_ more important to the country as a whole than understanding even basic scripting.

As a quick example, the meaning of "afford" has changed in the last 2 generations or so. To my grandparents, "affording" a car meant being able to spend the money to buy the car outright. To many of my peers, "affording" a new car means being able to make the minimum payment on the car, or even just the lease payment.

Many of my peers (meaning my specific circle of friends) don't even budget, nevermind put aside money for the future. Hell, even friends in the finance industry don't contribute to their 401k because they'll "do it later". To me, this is a problem that is very serious for our country as a whole, moreso than people learning to understand some basic code.

Don't get me wrong, I think it would be great for everyone to be able to understand how computers work at a deeper level than "magic". It's just that I think no one really bothers to teach kids how to save money, to invest, to budget their lifestyle, etc. Just an opinion, though.

<comment><USER15> Isn't that a rather ... subversive concept when a good fraction of those learning it will then apply it to the Federal budget, their state's budget and on down?

<comment><USER14> How is that subversive? It's basic personal finance. It's no more subversive than teaching kids to share toys encourages communism, in my mind.

In general, people shouldn't spend more than they make. If they spend more than they make one month a year, but save enough the other months to cover it, no big deal. I don't see how that's any different at a macro level, but I'm also not an economist.

To me it's far worse to avoid having people learn basic personal finance things than it is to avoid it, in case some people apply it to bigger things.

We have major debt problems in the population, in my opinion. The housing bubble was a part of it: buying things that one can't afford, with the assumption that prices always go up. Credit card debt being near $1 trillion (I think it's around $800b), college loans being over $1 trillion.... Borrowing has been made very easy for quite some time, but just because money is easy to get doesn't mean that the average person should borrow as much as they can (which is what I meant above when I said that affording minimum payments != affording something).

Put those numbers up against the median retirement savings, which are ~$150k for households with head-of-household aged 65+[1, Table 7]. It seems pretty obvious that we as a nation should be educating people to save for their future. I guess another solution, which would be to assume that people can't/won't save no matter what, and use the government to facilitate that "savings" (i.e. increase Social Security's role to the primary source of funds for retirement). That way we wouldn't have to worry about people subverting the system and can just trust the government to do all of the hard work for them. That may match up better with your view, if you find personal finance potentially subversive...

[1] [https://www.fas.org/sgp/crs/misc/R43057.pdf](https://www.fas.org/sgp/crs/misc/R43057.pdf)

(Edited to fix typo: $8b -> $800b)

</comment></comment></comment><comment><USER16> This "learn to code" meme is getting tiresome.

Why not focus on the more critical skills in life that are more applicable to most people. Here's a big one:

1\. Learn to communicate. Improve your writing and speaking skills.

<comment><USER17> Well presumably because we already are telling people to learn how to write and communicate. Public schools spend more time on those topics than probably any other. Furthermore, advocating mastery of one skill is different from advocating basic literacy in another skill.

This said, I agree that _" learn to code"_ is tiresome. Why aren't cries of _" learn basic electrical engineering"_ as popular? Or, if we want clear societal benefit, why not advocate learning how to swim? Thousands of American adults and teenagers drown every year; something like 36% of Americans cannot swim.

Of course _" either tell people to learn how to swim, or tell them to learn to code"_ is a false dichotomy (both can be done at once) but I am wondering why "learn to code" gets so much attention. The amount I hear about getting the general public to code seems disproportionate.

<comment><USER18> In the long run the ability to understand and manipulate information via automated instructions (ie, coding) will almost surely end up being as important being able to capture down and consume ideas (reading and writing) or manipulate abstract quantities through symbology (mathematics.) It's a fundamental skill that is plain to see unless you are so entrenched in the contemporary details of things like programming languages and platforms that you've lost touch with the underlying power, leverage, and joy of it.

<comment><USER17> The joy I find in programming is no more a reason to encourage people to learn to code than the joy of plumbing is a reason to encourage people to learn to plumb. People can find joy in nearly anything, that isn't something special that coding brings to the table.

Power and leverage? Yes, coding gives you those things, in certain domains, but I do not buy the argument that teaching coding is the most efficient way of teaching these things. Trying to use coding to teach critical thinking, logical reasoning, and basic troubleshooting would surely work, but we have these things built into language and fields that is already designed to handle it first and foremost, without the material distraction.

Very few universities start their CS programs off with something other than vocational drudgery that would be pointless for anybody who just wants those nice side effects of learning to code.

<comment><USER18> Consider that in 100 years we will still have people performing some derived concept of "coding" today, whereas all of our plumbing will probably be done by the machines which are created by those people.

Coding is an abstraction on top of an ever more essential skill: directing automated symbol manipulation. It seems foundational and those fighting against it are best likened to the subset of monks who surely saw writing as a skill to be learned only by a select few and not as some universal, fundamental skill all people would need to participate in society.

<comment><USER17> The extent that programming has been required to make effective use of computers has been in freefall since computers were first constructed. I see no reason to think that this trend will not continue.

Making sure that people can effectively use computers is different from having people learn to code. I really think that anyone who insists that the later is necessary has some serious tunnel-vision.

<comment><USER18> If this were true then we'd be hearing less and less about coding education, not more. There would be less "I have an idea and need a programmer" people, and not more.

More people want to learn how to code now because they realize they are at a fundamental disadvantage in manipulating these things that are entering every facet of our lives. This is the dominant force, not the slow marginalization of the utility of writing source code vs. well established problems like those that can be solved by Excel. In any case, programmers are currently proverbial priests who are the gatekeepers to enabling this effective use of computers, which I think explains a lot of the resistance to this stuff.

<comment><USER17> > _" If this were true then we'd be hearing less and less about coding > education, not more."_

I don't think that follows. My hypothesis is that lots of programmers think that programming is more important than it really is, and politicians wanting to get tech on their side, humor them.

You know how rural farming towns often have strong 4H clubs? I think this "teach kids to code" stuff is the tech equivalent of that. Everyone wants little jimmy to grow up just like daddy and mommy, because daddy and mommy consider their line of work to be uniquely important or special.

Those communities think it is very important for children to learn how to raise cows, or drive a tractor. Ours thinks that it is very important for children to know something about computer programming. I think that either suffers from tunnel-vision and is is trying to put children into a box.

<comment><USER18> Can you not see how programming, as a skill, and computer science, as a discipline, are fundamentally different than things like plumbing and farming?

Society is on a trajectory. Automation, information processing, software. It is well on its way to permeate literally every facet of life. If there is a more direct way to position people to not be left behind in this shift than ensuring they have a basic grasp of computer science and understand they can make computers do what they want via code, I'd be hard pressed to come up with it.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER18> Obama says a few nice things about Computer Science and encourages people to learn more about the world, and HN still manages to find every possible negative angle to trash it. Impressive!

<comment><USER19> Obama said a fundamentally ignorant statement that seems even more ignorant considering all the technical problems with Obamacare. Hacker News is just pointing this out.

<comment><USER18> Encouraging kids to try to become astronauts is not an ignorant statement despite the fact that becoming an astronaut is really hard. Telling kids to try to design iPhone apps or make video games is much less so. It's a shame that HN can't recognize what is fundamentally a good thing: a statement from the president encouraging curiosity and proficiency in computer science and programming. It's incredible to me that this community of so-called "hackers" can be so quick to shit on it. Perhaps it's an insecurity thing, and they are afraid if others learn their skills they may no longer be in the position of power they are in now?

<comment><USER20> "encouraging curiosity" this.

I've tried to talk to younger kids in my family about building things with computers. You'd be surprised how hard it is to get them interested, even if they play Minecraft all day.

For many of us, we got interested in programming though randomly hacking a game at one point in time. Telling kids that they can build their own games or apps and helping them potentially get interested is a big deal in itself.

</comment></comment></comment></comment><comment><USER21> Kevin Drum (spoilers: knows how to code) had the best take on this:

[http://www.motherjones.com/kevin-drum/2013/12/no-everyone- do...](http://www.motherjones.com/kevin-drum/2013/12/no-everyone-does-not- need-learn-program-computer)

 _But wait. The link leads me to a fairly routine presidential video in honor of Computer Science Education Week, in which President Obama encourages kids to take computer science classes. "It's important for our country's future," he says. But I imagine he's cut dozen of videos for every other conceivable skill that could be taught in our nation's schools. "Nursing is important for our country's future." "Agriculture is important for our country's future." Etc.

So did this really lead to a conversation about whether everyone should know how to write code? How tiresome.1 I can probably list on one hand the number of significant skills that everyone should know. The rest are optional. Some of us know how to fix cars and some just hire mechanics to do it for us. Some of us know the law and some just hire lawyers to help us out. Some of us know how to drive trucks and some choose other careers.

In any case, I don't think computer programming would even make my top 20 of broadly useful skills.2 It's a great thing to learn if you plan a STEM career or if you just feel like learning it. But useful? For the vast, vast majority of us it's of no use whatsoever. Reading and writing are useful in nearly all careers, and are useful personally even if your job doesn't require them. But coding? Unless it's part of your job, the odds are vanishingly small that it will ever be of much use to you. Nor is it something that's useful in its own right because it promotes clear thinking. Nor is it a steppingstone to other, more broadly useful skills.

Coding is a specific skill needed for certain specific jobs. That's it. There's no need to put it on a higher pedestal.

1Tiresome because this comes up so often. Why do so many people insist that whatever skill they happen to know is one that everyone should know? There are lots of skills in the world. All of us know only a tiny fraction of them, and that's the way it should be.

2As a time-wasting skill, however, computer programming is hard to beat. I can no longer count the number of hours I've spent coding (or scripting) little utilities that did me no real good at all. But it was fun!_

<comment><USER22> I don't agree with Kevin. It's true that you can function without programming, but it's also true that being able to program could improve pretty much any job. Even a janitor could develop, say, a logistics application to optimize his path through the building he cleans, or build a roomba to vacuum for him.

And more broadly, I really do think programming improves the quality of my thoughts. I remember when I was 10 or 11 consciously experiencing the sensation of getting smarter as it dawned on me at deeper and deeper levels how to think precisely about problems. And that skill set invades every aspect of my thought process now. I find it to be a remarkable improvement.

On a practical level, programming is probably the best employment fall-back ever. I don't know many fields that you can enter without any credentials and make $100k+ within a couple years. That may change, but I expect it'll stay the same or improve for at least a few decades. So just for that reason, it may be wise for anyone who is capable to learn it.

<comment><USER23> _" it's also true that being able to program could improve pretty much any job. Even a janitor could develop, say, a logistics application to optimize his path through the building he cleans, or build a roomba to vacuum for him."_

If a janitor develops the skills to go that far, why would he still be a janitor?

I'm not saying that to be glib. I'm saying that because coding is a specialty that requires a great bit of practice to get functionally good at. The time and effort invested in getting good at programming just isn't worth it for many professions, whereas hiring specialists to do the programming is.

Sure, our hypothetical janitor would be able to do some cool stuff if he could develop apps. But if he can develop apps, economically speaking, he should be transitioning into higher-value and higher-paying services. (Unless he wants to disrupt custodial services with a startup -- but not every janitor should found a startup. That would be impractical.)

Saying "everyone should be able to code" is a bit like saying everyone should be able to do college-level statistics. I can't think of a single profession that _wouldn 't_ benefit from a college-level understanding of statistics. But not everyone's cut out for it; it's not fundamentally necessary to every profession; and in the context of a market economy, it functions better as a knowledge-specialty than as a broad foundational skill. (This isn't a flawless analogy for any number of reasons, but hopefully you see what I'm getting at.)

<comment><USER24> Absolutely. The real tragedy of our economy is not that everyone should be coding but isn't, but that it's not generating enough demand so that even people who are good at laying bricks and driving trucks, etc. have enough job opportunities

</comment></comment></comment></comment><comment><USER25> While I think more people should learn code, I think the _president_ getting up and telling _everyone_ to do _anything_ that isn't applicable to... well... _every-freaking-one_... is stupid.

Washington is clueless in two ways. (1) It normally doesn't get new things and lags behind. (2) When it does get things, it proceeds to fail at execution or not really get them and do ham-fisted things like this. So that means that Washington is always clueless about everything.

Sometimes I think the only thing that keeps us from being invaded or otherwise run over by the rest of the world is that nearly all other governments are at least as incompetent as ours.

<comment><USER26> I agree. How many of those making laws right now know anything about technology let alone how to code? So why does Joe Public specifically need to know _how_ to code? It would be much better to teach people math and proper grammar, that would get them much further in life.

<comment><USER27> What do you mean by proper grammar? Stuff like using "you and me" correctly and not falling into the "you and I" prestige English trap?

People acquire proper grammar naturally with their native language.

<comment><USER17> Proper grammar, for practical purposes, should be defined as _" is capable of talking in a way that will not put them at a disadvantage in job interviews"_. Use of the the word _" ain't"_ probably isn't worth worrying about; stunted vocabulary and inability to match tenses probably is.

<comment><USER26> Yes, this is exactly what I meant. I'm not pedantic enough about the "you and me" stuff, or even fully correct in my own punctuation and I'm a native English speaker. But knowing the difference between "there, their and they're" is very important for example.

<comment><USER28> It seems like you might be more concerned with people knowing how to communicate well. Knowing how to format their thoughts so that they will be understandable through conversation or text. The ability to adapt this formatting process to fit the audience they are trying to reach.

<comment><USER26> Yes, that also. As a programmer, half the battle in trying to understand an issue exactly what you have just stated. In my job the second part is also very true, tech speak for other developers, business/marketing for everyone else. But I've found this applies to all walks of life.

To me, programming comes down to breaking a problem down into smaller pieces, which is basically like algebra. My first internship (way back) required us to carry out a written test: here are some simple algebra equations, you have a basic calculator with one (or two, can't remember) memory bank, write out the exact exact key presses to solve the equations. To me it was simple, but apparently not to everyone.

It's stuff like this which the education system _should_ already be teaching, work on improving that rather than trying to get _everyone_ to code. Coding is not for everyone, your doctors, lawyers, actors, artists and many others are not going to need it

</comment></comment></comment></comment></comment></comment></comment><comment><USER29> When I was growing up in Silicon Valley, everyone learned to code using Logo in (iirc) third grade. Everyone also learned to type. It was a required part of the curriculum.

Teaching us to code didn't mean we didn't learn to communicate. We still were taught math. At no point did the small period in programming and typing done once a week somehow deprive us of critical life skills.

It did however have a dramatic effect on myself and a good amount of my class. By the time I was in 6th grade, I knew three people running their own BBSes out of their houses (this was about 1989).

Not everyone who went through Bullis Elementary went into programming, but thinking procedurally (though technically Logo is a functional language), is a valuable skill to be learned regardless. In my opinion, being able to break a large task down into simple steps is a critical life skill.

</comment><comment><USER30> I frequently disagree with the president, but he really hit the nail on the head with this one. I've been saying for a while now, if we were to replace high school and college foreign language requirements with a computer programming language class, you would propel America way ahead of everyone else (more-so than now) in terms of industry and innovation, and do wonders for the economy, all within a decade.

Think about it. Teachers, scientists, psychologists, poly sci majors, doctors, all with basic computer programming abilities. With the ability to build efficiency into their work. That would be so immensely powerful, the investment would be untold dividends. Way more than memorizing spanish vocab for a grade and then forgetting it.

<comment><USER31> There are a couple of assumptions built into your proposal that I would want to see some data to support:

1: Computer programming competes with foreign languages in high schools and colleges.

2: The economic value of programming languages is greater than the economic value of foreign languages.

Your last sentence also suggests you are comparing apples and oranges, a grade of a foreign language that is dropped against achieving basic computer programming abilities. These are not the same level of achievement.

I think understanding computation is a key 21st century skill that we would do well to invest in but I think foreign languages also have value.

<comment><USER32> 1) I don't know what country you're from, but in America here is how it works: In general, competitive colleges require at least two years of foreign language classes in high school. Stanford would like to see three or more years, and Harvard urges applicants to take four years.

When a college recommends "two or more" years of a language, they are clearly signaling that language study beyond two years would strengthen your application. No matter where you apply for college, a demonstrated proficiency in a second language will strengthen your application.

Students who have just the minimum can win admission if their applications demonstrate strengths in other areas. Some less competitive schools don't even have a high school language requirement and assume some students will simply study a language once they get to college.

If you score a 4 or 5 on an AP (advanced placement) language exam, most colleges will consider that evidence of adequate high school foreign language preparation (and you're likely to get course credit in college).

2) Foreign language requirements are originally a product of enlightenment era education curriculum and have been kept afloat with notions that in a globalizing economy candidates who can work internationally will garner higher wages and be more productive. This is true, to a degree, but wouldn't you rather work for a Swedish web design firm from your US based coffee shop?

<comment><USER33> US universities should really ditch the general language requirements and leave it up to the college or department within the college to decide whether it would even be useful.

Air traffic controllers and software programmers only need to know English. Business students intending to work for a multinational need at least one more language, and they should be from this list: Spanish, Mandarin Chinese, Cantonese Chinese, Japanese, Russian, German, French, Portuguese, Korean, or Standard Arabic.

The vast majority of graduates of US universities who are from the US will never need a second language other than Spanish, and they won't even need to know it all that well.

</comment></comment></comment></comment><comment> wes-exp It's easy to point to the feel-good topic of education and cry foul when anyone is against it.

But here is the reality.

America already overproduces scientists and engineers. The whole notion of talent shortages is generally hot air from special interests (in this case, tech companies) who want a cheaper supply of labor and cannot bear the idea that skilled engineers actually cost a lot.

A lot of effort is put into trying to turn ordinary folk into high-caliber professionals, with things like "everyone should go to college" or in this case "everyone should learn to code". It's not surprising educators are happy about this as it provides a steady customer base (students). Politicians are happy to support it too, after all what could be bad about more education?

The problem is that Joe laborer simply isn't a good fit for STEM fields and no amount of education will change that. He wastes his time and effort trying to become something he's not. In that time he could have been doing something productive and meaningful instead.

I've heard good things about the German model of apprenticeship, which accepts the reality that not everyone is cut out for rocket science. I'd like to see something more like that in America and less bullshit like "coding for everyone". People are different... let's encourage them to do whatever they are actually suited for.

<comment><USER34> _America already overproduces scientists and engineers._

Out of curiosity, do you have a link to any evidence or supporting materials to this claim? It's the first I've heard of it.

<comment><USER35> There's some conflicting reports and I read a pretty good analysis a while ago that convinced me, but I don't have it, here's some light reading.

[http://spectrum.ieee.org/at-work/education/the-stem- crisis-i...](http://spectrum.ieee.org/at-work/education/the-stem-crisis-is-a- myth)

[http://www.businessinsider.com/the-real-truth-about-the- stem...](http://www.businessinsider.com/the-real-truth-about-the-stem- shortage-that-americans-dont-want-to-hear-2013-5)

[http://gizmodo.com/there-may-not-actually-be-a-shortage- of-s...](http://gizmodo.com/there-may-not-actually-be-a-shortage-of-stem- workers-at-1235528794)

[http://www.cbsnews.com/news/is-the-stem-job-advantage-a- myth...](http://www.cbsnews.com/news/is-the-stem-job-advantage-a-myth/)

<comment><USER34> Wow, very interesting. Thanks for sharing.

It's also interesting (and perhaps, sad) to me how there are stories in Silicon Valley where a top engineer or two are offered massive financial incentives to join another company. Those stories are usually cited as examples of a technical talent shortage in the Valley, but in reality, they are exceptions, not the rule.

<comment><USER35> I really wish I could find the original paper I read on the subject for you. I just went looking for it again and I didn't find it. It was something I read randomly in my travels, it was really long and really well researched with lots of data. I wish i bookmarked it. I found some more interesting stuff though.

[http://www.issues.org/29.4/hal.html](http://www.issues.org/29.4/hal.html)

this one has more of an "agenda" behind it

[http://www.vdare.com/articles/national-data-stem-shortage- sh...](http://www.vdare.com/articles/national-data-stem-shortage-shouters- suppress-salient-statistics)

</comment></comment></comment></comment></comment><comment><USER36> Call me a cynic, but I'm really indifferent to this entire "everyone should learn to code" nonsense. There are so many mistruths that Code.org is spreading that it's shameful. Let's get down to the biggest one: that with a "little bit of math and science" you can build the latest video game or write an app.

Buzzer #1. It doesn't take just "a little bit" of math. It takes a TON of math. Reading CLRS took me a month to master, and that was already with a background in elementary calculus using the infinitesimal approach. I'm reading Knuth's seminal "Art of," and I can immediately say that it would be absolute hell for anyone without an advanced mathematics background.

That brings us to mistruth #2: that somehow, learning to "code" will help younger people build tomorrow. That's utter bull. Learning to code will only lead to worse code: uglier, crappier, and less elegant and efficient code. Github will become a junk pile. Instead of coding, we need to teach students the programming part of computer science. Get a copy of Algorithms into every CS course and get rid of all of the silicon in the classroom. Trust me, people will learn much more meaningful things about problem-solving that way. Isn't that what writing code really sets out to do? You know, SOLVE PROBLEMS? Just code is NOT going to help that at ALL.

Then there's problem number 3, and probably the largest one: it assumes that programming is something we need EVERYONE to learn. EVERYONE. Yes, that is Code.org's goal. EVERYONE SHOULD CODE.

You know what, fuck it and let's teach EVERYONE TO BE A MECHANIC. Right? Why the hell not? It's like programming. Only that nobody in their right minds would tell people to make mechanical engineering a part of the curriculum. But people insist on doing the same for CS, as if it's any different.

I could go on about this for days. But forget it, Atwood's explained it far better than I ever could.

––––––––––––––––––––––––––––––––

originally posted in the original discussion located here: [https://news.ycombinator.com/item?id=6873136](https://news.ycombinator.com/item?id=6873136)

<comment><USER37> "Only that nobody in their right minds would tell people to make mechanical engineering a part of the curriculum"

At the elementary school level, my kids attend a psuedo-STEM school and sadly you're not too far off the mark. Its pretty much that and civil.

Civil is actually a good one for kids. Give them a beach and some water buckets and shovels and they're happy for days if not weeks. Some clay and dirt works even better although filthier. Its pretty much outdoors only due to the mess, so the kids are stuck with a mostly MechEng STEM

<comment><USER38> Do US schools not have "shop" class that teaches this I certainly did wood and metalwork and technical drawing at my UK school.

<comment><USER37> Not exactly. Those used to focus on "actually doing stuff" and tradesman type careers, which about half the grads eventually end up doing after dropping out of super expensive university. Socially that has an incredible negative opinion over the past few years (lots of marketing by the .edu and banking complex to spend more on schooling). So between irrational hatred of the trades and liability costs and/or insurance, shops have been mostly although not entirely removed.

Drafting is still borderline acceptable because its assumed you'll be an engineer and obviously the training you get in autocad 2003 at school will be about as useful on the job in 2023 as my experience with Bank Street Writer when I use vim today (In other words zero if not negative)

The STEM fad is less oriented toward practical tradesman type stuff and more toward physical learning... we're doin' it "engineering style" if we build bridges outta lego for fun time instead of playing dodgeball or having a spelling bee.

The fad is burning out... An inductive proof of all .edu fads, or all fads in general, is something like generation zero was real STEM, but n+1 was 95% of what passed for STEM in generation n and 5% whatever we used to do. Once generation n gets to a high enough number you end up doing whatever you feel like. Comes from not having a real definition, along with everyone loves a popular label, so kindergarteners attend STEM schools meaning ... um what?

<comment><USER38> Well learning the basics of technical drawing isometric views etc is till useful whether you use a pencil or auto cad.

</comment></comment></comment></comment></comment><comment><USER6> The message is clear: top political donors want cheaper labor.

<comment><USER25> Yep. Can't have high-paying jobs. That would empower people.

We are very rapidly moving toward a time when the labor battles of the late 19th and early 20th centuries will have to be re-fought. History is clearly showing us that the alternative to activist labor is feudalism. In "natural" markets, multiple overlapping network effects cause nearly all wealth to flow to a very tiny number of strategically positioned or connected participants. Everyone else must fight for a slice of the pie. Even in a growing-pie scenario, nearly all the _growth_ flows to the top; a rising tide lifts only the largest boats.

The libertarian ideal of volitional culture leading to equality and general prosperity is, like nearly all other political ideals, rapidly shaping up to be false. It's becoming clear that the natural state of human affairs is feudalism, and that anything else is an unnatural state that must be maintained "artificially."

<comment><USER39> how's that state-subsidized going to college working out for everyone? Or state-subsidized home ownership?

<comment><USER25> They worked for a while. Now new approaches are needed. Everything is like that. Human progress requires both a continuous input of energy and a continuous state of change and innovation. There is no formula for progress of any kind that can be applied unchanged forever.

</comment></comment></comment></comment><comment><USER40> "When you guys are good, you should totally take a crack at healthcare.gov. That'd be awesome."

<comment><USER41> Can't they get the stuxnet guys to help with that, or even their managers who understand how to get software done? Don't tell me they don't have some overlapping skills.

<comment><USER42> To be fair, stuxnet proved that some government agencies could create code to break things; healthcare.gov is already broken, so they don't need help from the stuxnet team.

<comment><USER41> Well, stuxnet breaks things in one or two specific known ways on purpose and the healthcare site is broken in lots of unknown ways by accident. You think that is fair?

<comment><USER42> I was trying to be fair to the healthcare.gov administrators, but I agree with you.

</comment></comment></comment></comment></comment><comment><USER43> Judging from the responses so far, it seems the thread is going to evolve into a similar fashion to these previous threads discussing the same topic (not to say it isn't worth discussing again - but it has come up quite often recently).

Most on HN seem to support the idea that not everyone should become a computer programmer (as a profession), but being exposed to the ideas in used in CS are very helpful for learning how to think about certain types of problems.

Personally, from a practical standpoint, I think a lot of people could benefit by learning basic scripting to automate computing tasks - I've seen way too many people doing extremely tedious tasks by hand, when a simple script could have saved them hours.

\---Similar discussions---

Everybody does not need to learn to code: [https://news.ycombinator.com/item?id=6237007](https://news.ycombinator.com/item?id=6237007) (74 comments)

Why everyone should not learn to code: [https://news.ycombinator.com/item?id=5302157](https://news.ycombinator.com/item?id=5302157) (62 comments)

Please learn to code: [https://news.ycombinator.com/item?id=3975992](https://news.ycombinator.com/item?id=3975992) (147 comments)

Please don't learn to code: [https://news.ycombinator.com/item?id=3975744](https://news.ycombinator.com/item?id=3975744) (268 comments)

</comment><comment><USER44> I went to the code.org site, looked around and tried the objective-C version. I was (positively) surprised that it did work because I am not in the USA at the moment, meaning it's not blocked for non-USA access.

The simulator didn't work unfortunately but they did warn about this on the site when I started. After I had done the tutorial I landed on the Summer Academy page where you can do a 8-9 week course in programming. Very nice!

Then I discovered that this was certainly not for free: $5000 it will cost you. I must admit I was a little shocked. That is not a price every one can pay for this learning to code adventure. That was a part Obama did not mention. It feels like a standard marketing trap, luring in people to do your course, buy your software, etc. Only difference is the frontman of the show ;)

It's proved again: there is no such thing as a free lunch. Now walk on please, nothing to see here.

</comment><comment> vezzy-fnord Personally I find the contemporary "learn to code movement" to be asinine for several reasons:

1) It supports affirmative action and seeks to set sex quotas. ([http://slashdot.org/story/13/11/24/187255/codeorg-more- money...](http://slashdot.org/story/13/11/24/187255/codeorg-more-money-for-cs- instructors-who-teach-more-girls))

2) It offers a very sugar-coated and frankly nauseating view of "coding". It adulates this mysterious and powerful essence dubbed only as "code" and is highly biased towards the imperative paradigm. Notice how they rarely use the word "programming", but rather it's always "code". This signifies that they value parroting instructions more over actual understanding.

3) The testimonials by all sorts of celebrities are simply ridiculous and laughable. So many actors, musicians, sports players, politicians and business moguls, but barely any actual computer scientists.

4) The way they present their entire campaign, and considering who backs it, leads me to believe that their motive is not to foster computer science education, so much as to teach people just enough skills to be a 9-to-5 code monkey that can write instructions in Java or some $EnterpriseLanguage. Cheap, disposable labor.

5) Absolutely no focus on software freedom and ethics, of course.

6) Another possible outcome is that by making computer science (rather merely coding in this case) a mandatory subject, they'll end up alienating many kids from it. This depends on the aptitude of the educators, but it's safe to assume it won't be too good.

7) This is arguable, but merely learning to code basic programs doesn't really offer too much insight into the complex process that is software development. The educational value in writing Ruby (used here as an example), while not void, is not that great by itself. Programming languages and natural languages have this thing in common: they're different. Ruby isn't Haskell.

<comment><USER45> Wow, that was a lot of strawman arguments. (1) The OP's title calls for _every American_. (2) "Code" is pretty agnostic as far as paradigms. Many people would be served just fine by learning how to do basic computation, graphing, and scripting in Excel. (3) These folks are not computer scientists, but they don't need to be to advocate tech literacy. (4) It's about life skills (esp. tech literacy) -- more like Thoreau-style self reliance rather than becoming a disposable cog. (5) Cart before the horse... (6) You mean like math, science, reading, and writing? (7) Learning to code basic programs helps you accomplish real tasks. Insight into "software development" be damned. I drive a car, but I'm not a ICE thermodynamics expert.

</comment></comment><comment><USER46> I'd rather have every American learn how to vote. Far more damage is being done to this country by ignorant voters. Far more benefit could be derived by having an intelligent, well informed voting population. The best way to protect your future and that of your children is to elect representatives that will truly do what's best. The economic implosion of 2008 had nothing to do with not knowing how to code, write, cook or weld. It had everything to do with horrendously misplaced public policy and legislation. Learning how to critically analize issues without the influence of emotion, religion or political indoctrination to then intelligently cast votes is what we need people trained on.

Then again, no politician would want this reality.

<comment><USER47> Which is worse, uneducated people voting, or libertarians? I'm not sure.

<comment><USER48> Unnecessary political trolling is unnecessary.

<comment><USER47> It's not unnecessary. It's an appropriate response. Why is it that uneducated voters are worse than libertarians?

</comment></comment></comment></comment><comment><USER49> Steve Jobs in one of the Bob Cringley interviews:

"I think everybody in this country should learn how to program a computer-- should learn a computer language--because it teaches you how to think. It's like going to law school. I don't think anybody should be a lawyer, but I do think going to law school would actually be useful because it teaches you how to think in a certain way, in the same way that computer programming teaches you, in a certain way, how to think. I view computer science as a liberal art. It should be something that everybody takes."

</comment><comment><USER50> I learned to code. Listened to all the advice of hackers who said it was the most important thing ever, and they'd never work with you on startups unless you coded as well.

Well I learned. I worked as a software dev for 1 year as well. And you know what I've learned? I have no passion for coding and it makes no sense to force myself to do something I'm not interested in doing.

If anyone is interested in working with me on a startup let me know. I'm a founder who knows how to code but doesn't like to.

</comment><comment><USER51> Can Obama call every doctor or scientist or pharmacist to find cancer cure? Technology has gone too far, medicine and pharmacy are not moving forward. I really appreciate Obama's speech.. but why there aren't any initiatives in other fields...

</comment><comment><USER52> In the back of my mind, I secretly resent this code.org initiative. It is clearly a good effort that needs to happen, but man, I really enjoy my cozy position as a web developer in 2013 making an insane amount of money doing relatively little work.

</comment><comment><USER53> Wow. Looks like Youtube comments haven't improved much after all.

Seriously, it seems like half of the comments seen on Youtube (or at the bottom of any article on a news site) read as if they could have come right from a post on StormFront.

<comment><USER54> Disclaimer: I'm a major contributor to Code.org's own tutorials.

Most of the comments here on HN are similarly shameful. How can free, high quality educational materials, and lobbying to improve access to computer science education possibly be a bad thing? I've talked to a ton of educators and technologists and they are nothing but excited, then I come here, and it's cynics and conspiracy theories.

<comment><USER55> Shameful? And the president himself is not shameful? We are witnessing the biggest information scandal in the history of mankind ie- 'Snowden revelations' \- and it all happened under his watch.

</comment></comment></comment><comment><USER56> Nice. But I would prefer if he first stopped torturing people and putting his own citizens on kill lists.

<comment><USER57> Amen to that.

</comment></comment><comment><USER58> The most important aspect is more to _think_ like an engineer (software/system/data whatever). This lets you at least recognize common information problems:

Why does this document go to each person serially when it could go to them in parallel).

Why do we store all our important data in a word doc on a windows share where it's difficult to collaborate on it.

Why are the other business group repeating 50% of what my business group already does.

Why are we keeping so many versions/copies of this data - any changes to one copy is exponentially expensive as we have to update the other copies.

Why is it so difficult to keep track of projects/issues/tasks/action items/etc?

Why am I manually running this report instead of getting it automatically emailed to my team ever week.

Why is it difficult to communicate and collaborate to colleagues in different parts of the company.

etc.

So much modern "work" are really just repetitive information problems that are so common that they're easily solvable by existing tools. Likely free ones. You just have to be able to recognize them and apply the correct solution.

</comment><comment><USER59> How about rather than asking everyone learn to code, we encourage everyone (skilled or not) to maybe pick up a trade or other skill with marketable options.

Not everyone has the skill set to code, just like some don't have the dexterity to metal work. Maybe we should be encouraging continual education and learning something new.

There is way more to civilization than "coding".

<comment><USER60> I feel like that's like saying not everyone has the skill set to learn Math, Science, English, or History. And to a sense it is true, there are many Engineers that have terrible grammar, vocabulary, and can't write worth a damn. And then there are plenty of excellent writers, artists, graphic designers have terrible Math skills or know nothing about Science. And then History, let's not get started how many people don't know some extremely basic facts about American history, let alone history from other places around the world.

Yet these are _all_ foundational classes up through secondary school. Why are we bothering to teach people things that they will ultimately be bad at? Because we've established that these subjects are so important, that they underly many fundamental things, and that they are important to being a _good_ citizen.

Indeed there is more to civilization then "coding" (or computer science, technical literacy, etc.), just like there is more to civilization then any of the numerous subjects I listed above. The point is it's up to us as a society to decide which of these subjects are important to emphasize, which has the most value, and which will help people the most in living productive and good lives. You might not think computer literacy (which has been lumped under the label "coding"), and not just in the learning how to type sense, is that important; but I respectfully disagree. Computers are everywhere and they're not going away anytime soon; far too few people know how they work on the most basic level, I think it's important as a society we address that.

</comment></comment><comment><USER34> As a parent, here is how I interpret this:

Obama isn't saying my child MUST learn how to program. He is just highly encouraging it. And as a parent looking toward the future, I will highly encourage it as well.

However, that's just one useful skill. I believe a lot of skills are very useful. Knowing how to cook, how to change a tire, how to balance a personal budget, etc, are all extremely useful. They aren't mandatory; it's possible to get through life without knowing them, but life will be that much easier with them.

So I'll be exposing my child to computer programming, as well as a litany of other things. My aim isn't to turn her into a computer scientist, it's to give her another valuable skill as she figures out what she wants to do with her life. If it's to become a programmer, awesome. If it's to become a doctor, or dancer, or whatever, equally awesome. But at least she'll have exposure (but not necessarily mastery) of a range of useful skills.

</comment><comment><USER61> I for one welcome anything that exposes people to programming. I don't think it will necessarily transform the US economy or anything, but I think it will be genuinely good for people to have the exposure. K-12 and college students are taught all kind of things that may not click with them or be relevant in their daily life when they get out of school (plenty of people never use math or writing skills in their actual job/life). What I'm getting at is even though many people won't "get" programming or will simply have no desire to pursue it, exposing them to it wont kill them. There are also people who never thought of programming but try it and it does click with them.

At my university the intro CS course counts as a language. Since many degrees require a language course, lots of non CS students take it so they don't have to take French etc. A surprising number of strong CS students in my senior class started out in another major, took the intro CS class for their language,and then ended up switching majors! One person was going for nursing before he switched to CS and is now doing graduate level research as a CS undergrad and will be going to get a phd in CS and math. You'd think the guy has been programming since he was in diapers.

Unfortunately CS is one of those subjects that a lot of people are never exposed to and will never know if they love it or have a knack for it. It seems like most of the CS majors I have encountered are people who are either computer/math nerds or people were big into gaming and got into programming for that (most of them end up giving up on game programming for well known reasons). I think your average person sees CS as something only math/computer nerds can do and as something that is really hard and math intensive. If they actually had a gentle introduction they may love it and may even be good at it. Lets not kid ourselves, most programming isn't something only super geniuses can do.

<comment><USER62> Sounds like an easy way for University to use an incentive to encourage more people into a degree path that might yield dividends for them, and move people away from majors that don't lead into employment.

</comment></comment><comment><USER63> Here are actual activities people can do online to get exposed to coding: [http://csedweek.org/learn](http://csedweek.org/learn)

including an activity for people with no programming experience: [http://learn.code.org/hoc/1](http://learn.code.org/hoc/1)

</comment><comment><USER64> He looks so very tired in that video.

<comment><USER65> Agreed. No matter how effective you think he is, or how much you like his policies, it seems pretty clear he's under tremendous stress.

<comment><USER66> The job is brutal. Look at photos of Bush Jr. before & after -- same thing.

<comment><USER39> it's only brutal because those jokers take themselves too seriously. If I were president, I'd pay myself a minimal salary, go on extended vacation, veto everything, and the only responsibility I'd take upon myself would be that big fat red button.

<comment><USER67> Ironically it is congress that sets the president's salary. Thus you must get congress to pass a bill which you then must sign. That's a lot of work!

</comment></comment></comment></comment></comment><comment><USER68> In other fields we recognize that there is a bifurcation between the knowledge required by practitioners of that field and the base level of understanding from non-practitioners. A 'good driver' isn't expected to know about ignition timing or the stoichiometric ratios of various fuels. For first aid we ask people to learn CPR, not to do '1 hour of surgery'. We expect people to know countries and capitals but not GIS maps. I feel like we haven't drawn the line between user vs creator as clearly in technology.

It is accurate to say that more computing knowledge is needed in the general populace. The power of computers/technology is limited by the human operators in most scenarios. But how do we focus on building better operators? Where is our line drawn?

<comment><USER69> Learning the technology used every day - more specifically and most importantly learning _not be afraid to explore_ that technology - can be done without even touching on programming. It's a lot more akin to learning critical thinking: do not accept that things must be the way they are because you have been told it is so (or because these are the default options presented to you.)

But "learn, explore and become comfortable with technology that runs your life" is quite a bit different from "learn to code". I guess to an extent the former qualifies as building better operators - but there seems to be a negative connotation there that I disagree with.

You can become a better car operator by learning what all those buttons in your car do. You (and others on the road) benefit from this. As you pointed out, there's little benefit to learning the technical elements of it - <USER2> they do affect you, you derive no benefit as an operator of a car from learning them.

"I feel like we haven't drawn the line between user vs creator as clearly in technology."

I missed this on my first read through, and I think that's a very valid point. My only objection comes back to the negative connotations of being a 'user'. It's always of benefit to learn to be a skilled user of anything you use on a regular basis.

</comment></comment><comment><USER70> There is not a shortage of programmers.

There is a shortage of companies wanting to pay a programmer over 30 a living wage.

</comment><comment><USER71> I do think it would be a good thing if more people, preferably in management positions or office-positions would get the chance to learn to code, or at least an introduction to it.

It would allow them to appreciate the hard work that get's done on the background, make them think twice before defining deadlines and most importantly realise some of the work they do on a daily basis could be automated! In result to that they might at least consider getting in touch with a programmer and trying to find a way to make theirs own job more efficient.

But that everyone should go get a degree in CS or everybody should be able to program is to me, the same thing as saying everybody should be able to cook 3 star restaurant dishes.

</comment><comment><USER72> So much work could be saved if most people learned a tiny bit of scripting, or really even what code is capable of doing. My girlfriend was telling me how one of the people in her office spent a few days renaming a huge number of files, so they'd be consistently named. I cringed when I heard that - it was repetitive, followed a pattern, and could have been done in minutes with a python or perl or bash script written in an hour or two by someone with a basic knowledge of code. That's the kind of coding everyone should know - <USER3> same way everyone should be able to add columns of numbers without using their fingers.

<comment><USER73> >>ould have been done in minutes with a python or perl or bash script written in an hour or two by someone with a basic knowledge of code.

The same would be a day worth work in Java.

See the problem there. Its not about learning 'programming'. The scripting guy just could do it because of the familiarity of tools.

Beyond all if the people have issues identifying problems. Merely teaching programming isn't going to help.

</comment></comment><comment><USER74> "Learn Programming...but don't learn Cryptography pretty please..."

</comment><comment><USER75> I would be happy if just the Obamacare website developers would learn to code.

</comment><comment><USER76> We've seen that before when in 90-ies everybody tried to learn some Visual Basic and later some Java. Maybe I am wrong, but programming require quite a systematic effort in knowledge acquisition, lots of practice and a good mentor. I also think community is not a substitute for mentorship, well it is a superset of it one may say, nevertheless.

When a politician asks everyne to learn how to code, I assume it is already too late for everyone to do it. There are more smart kids in India with IQ more than 100 than there are kids in the US in total.

<comment><USER47> The programming revolution of the 90s? I think that was just in your head. Just being honest.

</comment></comment><comment><USER77> I don't get the controversy. I don't see this as being about making everyone into a professional programmer, no more than having every student take music class will make them a professional musician. I believe it is more about the ancillary benefits in opening up new ways of problem solving, and having some rudimentary awareness of the inner workings of a world that one might otherwise never have the chance to explore.

Some students will catch the bug and tear off on their own journey of independent learning and discovery and create great things. But for most it will just be a new dimension of a full and well-rounded primary education. The problem is that the current generation of educators and schools are largely wholly unequipped to do this, so we have to step up and help out.

I ran an after school "Tech Club" for a couple of years at my kids K-8 school. This year the administration asked me to bring it into the classroom and I am teaching 100% of the students in grades 6 - 8 basic programming with Scratch. It is just one 45 minute class per week, with each grade getting the class for one trimester (12 - 13 weeks). You can't do a whole lot in this time, but you can definitely do something, a whole lot more than the school was doing with technology before.

</comment><comment><USER78> As a black American, I wish that I were suprised at some of the comments in the video.

<comment><USER47> Well I think we're about ready to get some pretty Bell Curve nonsense going here soon.

Also, you may be interested in comparing the responses here to Obama's video here and HN responses to similar videos (like the Bill Gates ad).

</comment></comment><comment><USER79> I think this is an amusing idea; however the truth is most people are not meant to be programmers. For those of you in the industry think back to your first couple of programming classes and the people who could not grasp the idea of a FOR LOOP. There was a small group of people who could do it and larger group that just couldn't. It's not personal, I was never meant to play basketball it is what it is.

</comment><comment><USER80> I have to say, coding is definitely not for everyone. A rather specific kind of person (such as myself) is drawn to program computers. While I enjoy it most people I know would not. Certainly having the option to take Intro and AP CS courses (both of these are available at most public high schools) is great, but "calling on all Americans," to code seems a little excessive.

<comment><USER81> HN has this funny attitude: whenever someone is "bad at math", it's the fault of our education system and the way math is taught in schools, because everyone is clearly born with good sense of logic, however coding is for some reason such a different skill, and only a selected few (aka HN readers) can truly master it.

<comment><USER80> I didn't mean to sound elitist, its not about "mastering" coding, the question is more about whether someone actually wants to code in the first place.

</comment></comment></comment><comment><USER82> In my view, the impact of the President's message will not be on those of us who are already teaching our kids programming, but on the kids who live on the other side of the digital divide, and have nobody around them -- parents and even teachers -- who are fully aware of what programming consists of. Many parents think that programming is dangerous.

I agree with the folks who have suggested that something like a semester of C randomly inserted into the existing curriculum will be a waste. Instead, the "every American should learn code" message should stimulate debate about what "code" would actually consist of if applied intelligently to the K-12 curriculum.

How about music class? So much of contemporary music is programmed. Create music in Scratch.

Replace some obsolete math exercises with explorations using spreadsheets or computer algebra software.

Let kids use Scratch to write their own data acquisition programs for science labs, via S4A.

</comment><comment><USER83> I call on every American to learn English and possible a second language first. Then maybe we will have more ideas to code.

</comment><comment><USER15> Hmmm, I wonder what this says about the iOS ecosystem, where programming on your device is strictly _verboten_ Even former Apple Fellow Alan Kay, chosen by Steve Jobs way back when, couldn't get a suitable for children version of Smalltalk approved. The Gambit-C Scheme crew got their's approved, and then banned.

</comment><comment><USER84> This is why when the government wants a website done, those Shove ready jobs are just waiting for us all.

I find this an insult, sure american programmers are far and between but this is not going to help. I Program but I have work for hours using everything I can find online. I have gained a DevOps job without a Degree in CS.

</comment><comment><USER85> Woah Cowboy How ken they lernz 2 kode when their aints enuf $$$ to pay teachers 2 lern themz 2 read n rite????

</comment><comment><USER86> If we define programming as the stuff that we on HN do for a living with C, Java, JavaScript, and the like, then teaching every American how to code is a futile goal. Something on the order of half of all CS majors fail the introductory CS course. There is a really eyeopening paper by Saeed Dehnadi and Richard Bornat[1] that has a test that can be given BEFORE the course that demonstrates fairly well who will pass and who will fail. There are 5 fundamental concepts that it tests for

\- assignment

\- statement sequence

\- iteration

\- recursion

\- concurrency although that is not needed for basic literacy

Read it. It's an eye opener.

[1] [http://www.eis.mdx.ac.uk/research/PhDArea/saeed/paper1.pdf](http://www.eis.mdx.ac.uk/research/PhDArea/saeed/paper1.pdf) [Jeff Atwood's link in Coding Horror 7/14/06 is broken]

Edited: formatting

</comment><comment><USER87> Here's my two cents:

We should not be encouraging people to learn to program so much as we should be encouraging people to learn how to construct an algorithm.

That's the first thing you need to learn. Kind of like learning how to properly construct a sentence. You need to understand how to express a problem in a step-wise fashion.

There's a lot of talk in the technology industry about diversity. Adding more women, etc, but on a whole we need career diversity. Coders, writers, artists, actors, mathematicians, welders, plumbers, cooks, chemists, managers, politicians, and so on. Society takes more than just coders. So let's just encourage kids to get involved in finding a way to contribute that they might enjoy or at least find interesting.

</comment><comment><USER88> "Don't just play on your phone. Program it."

Easier said than done. Not because it's difficult to learn to code. But because the owner of the phone cannot have uid 0 without "jailbreaking". Nor can she write an iPhone app without getting "permission" from Apple.

The closed nature of today's "phones" (which are really crippled handheld computers running UNIX) is the biggest impediment to learning to code and, for those who already know how, to getting their own code to run.

Give me a phone that lets me use my own bootloader, my own kernel and my own utilities.

In turn, I'll add value to what the phones provide out of the box and help the American economy.

</comment><comment><USER57> The main problem I foresee with this is that the American school system is based on a religious school template whereby the students become very good at unquestioningly following instructions... and the whole point of coding is to describe to machines how to do exactly that so we can think about more interesting things.

I'm keen to see details of how the US government expects the programme to work. Given their track-record, particularly with the Obamacare site debacle, my hopes are not high.

Throwing in a compulsory coding course to the curriculum isn't the answer. Until a decent plan emerges, it's just phony rhetoric.

</comment><comment><USER89> Learning anything new is all well and good, but the thing that's actually valuable to society and "america's future" isn't really more coders, it's people who are really fantastic at what they do; whatever it may be. I'd rather someone dedicate their life to becoming the best preserve-maker in the world than fixing bugs in groupon. The preserve-maker may not reach billions of people with his/her work, but based on my own observations, I've found that the relative quality of one's achievements in a field has more leverage than the scale.

<comment><USER47> But you're just saying "be the best you can be rah rah." That's nice but not very interesting or actionable. Why even bother saying it?

<comment><USER89> hmm I suppose it seems obvious to some people, but I've met a number of people trying to become programmers for reasons that won't get them very far. Just my two cents.

</comment></comment></comment><comment><USER90> Ugh, we have enough awful, unmaintainable code to deal with as it is. We really need less code now, not more.

I'd prefer it if he would call on Americans to learn to think first, or at least to meditate or something.

</comment><comment><USER91> Giving some workshops I did with non IT (marketing, middle management, ...) here at the company, I think a lot can be gained by some 3 hour workshops with e.g. Scratch/Blockly.

Understanding the breaking down of problems into commands, loops, conditionals using variables, data structures, functions, about abstracting solutions into more general solutions, about refactoring, legacy code etc. helps a lot, even if one is not "a programmer" afterwards.

I can only recommend to everyone doing this at your company.

</comment><comment><USER92> Should be pointed out that Newt Gingrich did a similar spot:

[https://www.youtube.com/watch?v=9elnB2wMEP0](https://www.youtube.com/watch?v=9elnB2wMEP0)

</comment><comment><USER93> I think it should be taught in school, but it shouldn't be forced on students; sorry, but some of your programming books are 600 pages of absolute boredom. I've wondered for years why computer programming books are so terribly written. It's not a crime to include diagrams, and highlight the really important concepts. I would like to see a Hacakathon for writers of programming books. The shortest book that got across the material would Win!

</comment><comment><USER94> While we're at it we can have our brains extracted and placed in jars. Then we can write web pages, surf and play videogames forever. Solipsistic Nation!

</comment><comment><USER95> "President Obama calls on every American to learn code"

We tried that already. It was called Visual Basic. It's arguable how much value was created.

</comment><comment><USER96> So the obligatory joke would be, he's asking you to learn to code so you can fix his healthcare website. (duh, dum, dum)

</comment><comment><USER97> i think he is saying the right things! I think there is a problem that many kids like to play games, but that they are not quite interested to look at what is going on behind the scenes (does that sentence make me a grumpy old fart?)

Part of the problem is that modern systems and also modern programming language are very powerful, have lots of features, but therefore are hard to learn. One of my pet projects is a programming language for learning how to program [http://mosermichael.github.io/cstuff/all/pooh- lan/2012/12/11...](http://mosermichael.github.io/cstuff/all/pooh- lan/2012/12/11/pooh-intro.html) ; Actually I had the same problem, I am adding and adding features to the language, now that makes its less suitable for the original task. I guess finding the right balance is not an easy task.

Interesting, does Obama know how to code?

</comment><comment><USER98> I wrote an article on this subject ([http://krrishd.github.io/blog/post/to- code-or-not-to-code](http://krrishd.github.io/blog/post/to-code-or-not-to- code)), but I think it isn't necessary to learn all of computer science, but only relevant scripting and design skills.

</comment><comment><USER99> I wish algorithms were emphasized rather than code. Programming languages and frameworks are too much in flux right now. Education curriculum dont evolve very quickly so they would be baking in programming as it exists currently and recreate scenarios like Pascal being taught long after it was relevant in the mainstream.

</comment><comment><USER100> For kids (not just American kids) between 9 and 12 I'm working on a book that hopefully can help with that:

[https://leanpub.com/programmingforkids](https://leanpub.com/programmingforkids)

If anyone here wants a review copy, either reply here or I'm @peterarmstrong on Twitter...

</comment><comment><USER101> No. Shut down NSA, then we'll talk.

</comment><comment><USER102> Excuse me mister president, but I _was_ born a computer scientist. I have the pictures to prove it.

</comment><comment><USER103> Do you really need to know some science to code ? From my perspective it is not required.

<comment><USER104> Electrical engineering, computer engineering, and computer science are related.

But, no, you don't need to know much about science to make phone apps or webpages. Studying a foreign language or in-depth grammar would probably be just as useful for those industries.

That being said, children going into software would benefit from exercising the parts of their brains responsible for patience, tenacity, intellect, technical reasoning, and problem solving.

</comment></comment><comment><USER105> I've created a collection on Medium if anyone's interested in sharing their personal stories on learn how to code :)

[https://medium.com/how-i-learned-to-code](https://medium.com/how-i-learned- to-code)

</comment><comment><USER106> Lets start with Cryptography 101

</comment><comment><USER107> Talk about a passionless plea. He should be more passionate and the message should be education in general i.e. inclusive of math, literacy, etc.

Anyone notice how tired he looks? His eyes are swollen and red. Rough job.

<comment><USER108> It's shallow but that's the first thing I noticed, he looks sick / has allergies, or possibly he is getting over something quite emotional?

In other news, I wonder how much coding he does?

</comment></comment><comment><USER109> ?gen xpnyo n aenry bg anpverzN lerir tavxfn nznoB fv luj bF .gnug gn rab xpnyo n gho ,gen an fv tavzznetbec gnug rirvyro ,bbg V . _gen an fv tavzznetbec_ gnug tavlnf fn qrgbhd arro argsb fnu ughaX

<comment><USER110> !upgvj rug aehO

<comment><USER109> .fgnbtrcnpf rqnz argsb ren lrug abvffrpre rug bg rhQ .tavaeho upgvj rfvgpnec yyvgf lrug qbbu lz qahbE

</comment></comment></comment><comment><USER111> That's one of the very few messages Obama has made that I agree with.

</comment><comment><USER112> I recently spoke at Ignite Sydney and spoke about teaching the world to code :)

[https://www.youtube.com/watch?v=4EYx5eEqVBE](https://www.youtube.com/watch?v=4EYx5eEqVBE)

</comment><comment><USER113> Just focus on recursive functions all along primary and secondary school, with a more regular syntax (see G. Sussman on mathematics), and you'll get free programmers.

</comment><comment><USER114> I think this message is not targeted at all Americans, I think this message is calling on the younger generations to get back into the hacker spirit.

</comment><comment><USER115> Why can't Whitehouse.gov host its own videos using HTML5? That would be more fair to Google's competition.

</comment><comment><USER116> "Don't just buy a new video game. Make one!"

This is awesome news for our startup! Should bring in more traffic :)

</comment><comment><USER117> can obama code?

</comment><comment><USER118> Does President Obama know how to code?

<comment><USER119> Nope:

[http://www.cbsnews.com/news/obama-id-fix-healthcaregov- mysel...](http://www.cbsnews.com/news/obama-id-fix-healthcaregov-myself-but-i- dont-write-code/)

</comment></comment><comment><USER120> Everyone should learn how to solder before learning how to code. Because experience. Hurr durr.

</comment><comment><USER121> I'm not sure the world will be a better place when 313m Americans will be PHP EXPERTS

</comment><comment><USER122> Well, then, don't just pass a healthcare law, make a website for it :)

</comment><comment><USER123> This could be America's great leap forward into the 21st century.

<comment><USER37> I'd rather have a 20th century healthcare system, or a 20th century prison system, or a 20ths century set of .gov regulations, or a 20th century separation of church and state, or a 20th century social welfare system or ...

Don't get me wrong, I totally look forward to a 23rd century anti-matter power plant or whatever, but there's some huge issues to be solved first. "learn to code, but god help you if you get sick, because we won't" or "learn to code, in a for profit prison, because you smoked the wrong plant". "Or learn to code, quickly, before you get cancer, because we're business friendly now so we don't enforce environmental and food safety laws anymore"

</comment></comment><comment><USER19> Maybe if everyone knew how to code, we could fix healthcare.gov.

<comment><USER104> I am under the impression that this was a project management failure, not a technical failure.

<comment><USER15> You are correct. Political and bureaucratic types with no experience in building big systems called the shots until the 3rd week or so of October, and were making major change orders in August, and other changes _in the week before launch_. And no single manager had it as his personal, full time responsibility (although in fairness, it just occurred to me that anyone savvy in HHS would have avoided such a position like the plague). The infrastructure was grossly under-provisioned, and when the general contractor/integrator including integration testing, HHS's CMS (now "fired" and replaced by the private QSSI) finally did integration testing in the couple of weeks before launch it failed hard. But somehow, in best waterfall in practice tradition, that had no effect on the decision to launch.

As I like to say, no Google/Facebook/Lisper dream team could have possibly succeeded given the top down constraints. I can't even see a lot of the contractors putting in their best effort when they had to throw away so much work so often....

</comment></comment></comment><comment><USER124> No code left behind...

</comment><comment><USER125> This should end well.

<comment><USER126> Thank's to web world we have open Source Applications where we can master things around us !!!

</comment></comment><comment><USER127> Is this so they can help fix his website?

</comment><comment><USER128> I think this video was aimed at kids.

</comment><comment><USER129> Am I crazy or does he look terrible. His eyes are all red like he was just crying.

<comment><USER47> What does this add?

<comment><USER129> It's an observation. Perhaps someone else who watched this video has some information about something that happened immediately prior. I could have been more explicit in my request, you're right.

</comment></comment></comment><comment><USER130> >Starring Bill Gates, Mark Zuckerberg, will.i.am, Chris Bosh, Jack Dorsey, Tony Hsieh, Drew Houston, Gabe Newell, Ruchi Sanghvi, Elena Silenok, Vanessa Hurst, and Hadi Partovi. Directed by Lesley Chilcott, executive producers Hadi and Ali Partovi.

>Code.org owes special thanks to all the cast and the film crew, and also Microsoft, Google/YouTube, Facebook, Amazon, and Twitter for helping us spread the word

What the fuck is this shit? They really pumped billions in marketing!? Is America really that desperate to destroy the only real market it has left? You guys might applaud this but the only thing which this will lead to is unqualified people thinking they know how to program.

The job market will get saturated with mediocre programmers and those who really know their stuff will be too expensive to hire or get lost in the noise. We will see an increase of shit code in production. People think they can have a shot at the field which was dominated by us, the outcasts, for years.

This worries me, brothers, this worries me. If you think this is anything good, look at what happened with finances. It completely fell under the massive appeal of the mainstream crowd who thought they could become a manger and earn a quick buck. Programming is a serious art, skill and dedication you have to live up to.

It shouldn't be - and isn't - for everyone.

<comment><USER54> > What the fuck is this shit? They really pumped billions in marketing!?

I work for Code.org. "Billions" couldn't be any further from the truth. We operate on a shoestring. Everybody in these videos participated because they care about education, not because we paid them.

<comment><USER130> Yes, you work for Code.org but I doubt if the president is involved you get the fine numbers.

<comment><USER54> Doubt whatever you want. I'm telling you a fact: Nobody bribed anybody in either political party to participate in our campaign in any way. Code.org runs with a tiny team and an astonishingly small budget. It's the easiest lobbying job anybody has ever had to do ever.

"Hey, computers are the future."

"Yeah, you're right. And my constitutes know that too!"

"Great, do you want to be in a video that will give you exposure for supporting our great cause?"

"Sure!"

</comment></comment></comment></comment><comment><USER131> I freakin' love Obama.

</comment><comment><USER132> If he really meant it, if he really cares about education of young Americans, he should try to fight with the sh*t teacher unions. Oh no, that's politics, don't go there. So just let politicians say nice things. Don't let them talk about their dirty politics! Yes, just say nice things! No politics!

Nice things like what? When so many US students cannot even do basic math, when third graders are still struggling with addition and subtraction, encourage all of them to learn code. Yes. encouraging is nice! all (meaning equality and justice) is nice! Always!

Fight teacher union is dirty politics (how about take donation from teacher union? shut up!).

Lets just talk about nice things, bro! Forget dirty politics!

<comment><USER133> If your kid can't do math, that's YOUR fault, not the teacher's.

</comment></comment><comment><USER134> He just divided America... How will all the Americans respond who thought _guns_ were the answer around and after WWII?

He doesn't _say_ "every American" — what the hell ? He specifically says "young Americans like you".

And that _CERTAINLY_ does _NOT_ warrant the question "should everyone know how to code"?

If the youth learns to code, the next generation will benefit from this, likely not needing to touch code at all. There's no such thing as "every American". That is totally, utterly, absolutely, invariably _not the point_. He's talking about the _youth_ — he's calling a _DRAFT_.

</comment><comment><USER135> This sounds like politics to me more than anything else.

Having everyone learn to code is like having everyone be a paralegal.

Most will be bad at it. Neither is particularly difficult, but specialization is a matter of personality more than anything else.</comment>


Dell Deals Exclusive to Twitter - <AUTHOR> http://en.community.dell.com/blogs/direct2dell/archive/2009/02/03/twerrific-news-new-dell-deals-exclusive-to-twitter.aspx <comment><USER2> Is this just spam? Deals on twitter are nothing new.</comment>