
Obama endorses required high school coding classes - joshualastdon
http://news.cnet.com/8301-17938_105-57569503-1/obama-endorses-required-high-school-coding-classes/
======
danilocampos
Every time this is brought up, there's pearl clutching and handwringing from
technical and non-technical folks alike. The fretting goes, "What about the
people who don't like it? What about the people who have no aptitude for it?"
And to this I ask:

What makes programming so special that we should shield people without
aptitude from learning it?

Many have no aptitude for language – we still require english classes. Many
have no passion for the sciences – we still require studying chemistry and
biology. Some could care less about history – but every year of high school
typically includes a history class scoped to one period or region.

So why should programming be different? Why should we shield people from
learning a subject which has ubiquity equal to language or mathematics, and
infinitely more lucrative application? Why should we accept a substantial
chunk of our population being illiterate on a discipline whose
misunderstanding can have terrible consequences for both individuals and
society at large?

Understanding how a computer works, in a world dominated more and more by
technology, places you at great advantage. Ignorance of the same leaves you at
the mercy of those who are technically proficient and, more and more, limits
your lifetime income potential.

~~~
dizzystar
I don't understand this sentiment. Lots of people get through life just fine,
and in fact are immensely successful in life, without knowing how to program.
The fact is that the HS flavor of all of those classes are basically recite
and regurgitate with a different name attached to it. The other difference is
that there are different levels of classes for different levels of students,
unless things have changed drastically from 15 years ago, this was the pallet
of choices in math for a senior:

Pre-Algebra

Algebra

Trig

Geometry

Algebra 2

Pre-Calc

Calc

And sciences were similar (and all elective):

Chemistry

Biology

Physics

etc...

I really don't get why "computer skills" should be conflated with learning how
to program completely. The world is very large and needed skill-sets change
very fast. I guess that we should, since it is the current trend, force
students to learn about handling large amounts of data and working through
statistics and probability courses as well?

~~~
danilocampos
> I really don't get why "computer skills" should be conflated with learning
> how to program completely.

Speaking as someone who has been on both sides, you do not fully understand
how a computer works until you understand how to write code for it in some
form. Do they need to know how to write a compiler? Absolutely not. But
knowing how to write a script with conditional outcomes is probably a
worthwhile exercise.

> The world is very large and needed skill-sets change very fast.

If you believe that computing is going to go away in the next 30 years, that
would be a fair point. But we both know that computers are creeping further
and further into everyday life. Having a basic grasp on how to direct and
control them is an obvious advantage.

Your litany of courses does nothing to counter the reality that we are already
forcing kids to learn certain subjects. What about computing makes it less
valid than history, science or mathematics as a required field of study? We
can say with certainty that students are more likely to encounter a computer
than they are to encounter Henry VIII, Schrodinger's Cat, or a sperm whale.

~~~
jlgreco
If you wanted to teach computer science by rolling it into mathematics
curriculum, I would be all for that. Throw in some basic discrete and you
would have yourself a very solid class that could be reasonably taught by
teachers you can already find in school districts. Make it one of the elective
mathematics, like it should be.

Required _coding_ courses though? That would be like a required shop class. I
wouldn't support anything of the sort because it won't be useful to people who
are interested in it (it would be far to basic) and it would almost certainly
poison the minds of the people who have no interest in it.

Furthermore, I think your perception of what highschool course loads are like
is very out of date. When I was in highschool in the early 00's we didn't have
required sciences, required history courses, or even required maths (with the
of a single algebra course, for those who had not already taken it). You would
have to take N out of M offered science courses, but you could easily get
through highschool without taking any particular line of class. For example, I
have never taken a single course on biology. Not in highschool, not in
university. Why? I had no interest in it. Similarly, while I did take history
courses, I could have just as easily not taken them and loaded up with other
sociology courses instead.

So in answer to your query, _"What makes programming so special"_ I am going
to answer with a question: What makes _you_ think programming is so special?
Can you really claim that programming is more essential than a rudimentary
grasp on physics, chemistry, or the human body? It makes perfect sense to make
it a track to choose, but it has absolutely no business being required. It is
not special.

~~~
danilocampos
> Furthermore, I think your perception of what highschool course loads are
> like is very out of date. When I was in highschool in the early 00's

I graduated in '03.

It was required that I have X credits in the sciences, Y credits in language,
etc. I took biology, but dodged physics. But there was no way I could choose
not to learn language. No way I could choose not to take science classes.

> What makes you think programming is so special? Can you really claim that
> programming is more essential than a rudimentary grasp on physics,
> chemistry, or the human body?

I'm amazed I need to point this out on Hacker News.

Everyone in the developed world needs a computer to be competitive. Not
understanding how it works – and I do not believe you can understand the
workings of a computer fully without a rudimentary grasp of logic and control
flow – leaves you at the mercy of people who do.

Between your mobile device, your desktop, and all the mechanisms that control
your data, there are few other disciplines with a more 24/7 impact on your
life than computing.

Understanding the human body is probably the only other subject approaching
the same 24/7 impact, and in the United States, we acknowledge this with a
physical education requirement.

~~~
jlgreco
You know, everyone, in the developed world or otherwise, has a human body...
You know what you _really_ need to compete though? Professional writing
courses. Forget coding, just teach kids how to write a proper business
proposal. I don't see anyone suggesting that they be mandatory though.

Since we _are_ on HN after all, I think you should keep in mind that it is
very easy to ascribe undue importance to what you know and do. You can code,
so it is inconceivable to you that anyone could succeed without that. I am
sure accountants are just as baffled that any adult can get through life
without accounting classes. Should we make those mandatory too?

But by all means, make a required "computer skills for the workplace" class
that actually targets what computer skills the majority of students will
_actually_ need.. It will be a complete waste of time for everyone involved.

~~~
argonaut
The skill of writing is already covered by English classes. Whether or not
those English classes do a good job is a different discussion.

You also seem to be making the mistake of thinking that writing and coding are
mutually exclusive.

~~~
jlgreco
You seem to have missed my broader point. Regardless, school resources are
certainly finite and it only makes sense to prioritize efforts based on need.

Youths in today's world only need to _"understand how computers work"_ in
order to use them in an academic sense not unlike we need to _"understand how
the human body works"_ in order to maintain one. Get the basic mechanics of
use down and you're good to go. In the case of a computer that could be
_"touch here to facebook"_ , in the case of a body that could be _"wear a
condom, listen to your doctor, and a caloric deficit will drop the weight."_

~~~
DeepDuh
Wait, so it isn't even worth _prioritizing_ a field which heavily influences
pretty much all of today's economy and the influence will only grow in the
future. Your input about business proposals is certainly valid, but it dodges
the issue at hand.

------
dizzystar
I'm not feeling good about the trend of teaching everyone how to program.
There are other skills that are equally as viable, if not more so, and there
are a ton of people who wouldn't be able to cut it, anyways.

Grant it, we all have our weaknesses (I have terrible rote-style memory so I
did terrible in History), but I don't think that purposefully pushing kids
into classes were there is a chance over 50% can't get a grip on it is a good
idea. As an elective course, it is great, but should be no more mandatory than
a foreign language or requiring people to master pre-calculus before
graduating. I mean, with programming being so mathematical, why would you
mandate students to program when so many struggle to get past algebra in high
school?

~~~
jiggy2011
When I went to school (in the UK) both learning at least 1 foreign language
and basic precalc stuff were compulsary part of the education at GCSE (age 16)
level.

I would be extremely sceptical of the claim that 50% of people cannot learn
programming as much as I would be sceptical of the claim that the same number
of people would be incapable of learning written english or basic algebra.
This is assuming that there is good quality instruction available (this is of
course the hard part in reality).

Bear in mind we are probably talking about very simple stuff here like for
loops , simple algorithms like bubblesort and maybe some javascript animations
or whatever.

How to architect large OO systems, how to handle concurrency etc are probably
not topics that need to be covered here at all. Students who want to study to
be professional programmers will likely do extracurricular learning or take
further courses.

I taught myself to do simple program at ~age 10 and please believe me when I
say that I was in no way a gifted child. Not only this but I successfully
taught some of my friends how to program and they didn't seem to struggle too
much.

Programming can also bring new dimensions to other classes, for example it
helped me check answers in math, made algebra much more intuitive and I even
submitted a text adventure in place of a linear story in a creative writing
class.

------
peter_l_downs
Sensationalized article title. The text reads

    
    
        The president suggested that with the high interest in digital technology among
        young people it makes sense to teach skills like programming and graphic design
        in high school so that students can go on to pursue a career, with or without a
        four-year college degree.
    

which seems like a reasonable position to take. Doesn't say "mandatory" or
"required" anywhere.

EDIT: I'm wrong. The very first line of the article:

    
    
        President Obama says he wouldn't mind seeing a curriculum requirement for
        American high school students to learn a programming language.
    

Still, mentioning it offhand in a google hangout seems very different than
introducing it into legislation.

~~~
protomyth
If it isn't introduced in legislation, then a politician doesn't actually
care. This is a basic truth in politics.

I wouldn't expect this to happen given the general trend away from anything
resembling vocational training and the lack of skills to teach the class.

~~~
saraid216
Because the executive branch is totally responsible for introducing things
into legislation. Basic truth. Yes. Right.

~~~
protomyth
Yes, the executive branch does submit legislation to the Congress. In fact,
the current administration missed a required submission deadline for the
budget which is just a big bundle of legislation.

Please learn how the US government works before the next election.

~~~
saraid216
Are you seriously proposing that Obama submits a budget with a line item, "Add
programming classes to every high school"?

~~~
protomyth
Yep, that is how many programs get funded. It is a line item in the budget. If
it is not a line item, then it doesn't get funded. Programs are funded in the
budget, then an RFP goes out, then final regulations, then implementation. So
yes, without the line item, no program.

------
sparkygoblue
I've been teaching computer programming to high school students for close to
15 years. In that time, I've seen the demand grow more and more as the
stigmatism of computer programming being a "geeky" or "uncool" pursuit has
slowly dissipated.

The types of skills taught in computer programming courses -- abstraction,
high-level problem solving, complex logic -- are ones I believe all students
should have some level of proficiency in by the time they leave high school.

~~~
maxerickson
I wonder if trying to cram all those meta-skills into topical classes is part
of the problem.

It would be interesting to see an academic track high school program that
included some sort of project academy, where the instructor was more of a
mentor that guided the student through finding, examining and solving a
problem that they found interesting.

~~~
thetabyte
Sadly, as long as our education system is incredibly test-focused in the push
for "teacher accountability", no "soft" curriculum like this will ever be a
reality—despite how much better it would be for learning.

~~~
maxerickson
Well, part of what I was suggesting is that it would only be a part of the
overall curriculum. So a student might elect my 'project academy' as two of
their courses for a half year.

In a high school program that has 4 * 2 * 7 scheduling, 2 semester hours isn't
such a big chunk of time.

------
jlgreco
Seeing how required programming classes in university (several MATLAB courses
freshman year for all engineering students) affected the attitudes my peers
had towards my work, I have to be opposed to this.

Forcing people without an aptitude or interest to take some sort of "one size
fits all" coding course is going to perpetuate myths and misconceptions about
the industry. It is better for students to know that they don't know what
programming is like than for them to _think_ they know, and think it is awful.

------
zalzane
Does this really come as much of a surprise? It's pretty much as loaded as a
question can get, no politician will ever disagree with that question posed to
them because saying no would just make them look bad.

------
whyenot
This could be a good idea, but there are only so many hours in the school day,
so what are you going to cut to make room?

~~~
Jach
How long has it been since you were in high school? While I don't know about
other districts, here are the requirements I had to fulfill (a few things
might have shifted since I graduated my particular school in the district, of
course):
[http://alpineonline.alpineschools.org/uncategorized/alpine-s...](http://alpineonline.alpineschools.org/uncategorized/alpine-
school-district-graduation-requirements) 24 credits over 10th-12th grade (a 1
credit class means it goes all 4 quarters in a school year).

You'll note students have a modest amount of choice. Sometimes they must take
a specific course like Financial Literacy, other times they get to pick from a
set, e.g. the "science core -- 2 different quadrants" requirement. That one
means you do any two year-long classes in physics, chemistry, biology,
or...earth sciences I think? As you might guess, most students did the easiest
ones: earth sciences and biology. Physics was the least popular one and class
sizes were usually small. (By the time I left however an energetic young
teacher had taken over and was aggressively getting students interested.)

Anyway, the most important thing I want to highlight is the 5.5 credits of
electives. That's what I suggest gets "cut"--i.e., make it 4.5 credits of
electives, and require a 1 credit (== year-long course) in programming. For
the students who may have already wanted to take such a class anyway (if
they're lucky enough to be at a school that offers it), nothing is really
"cut" for them. For other students, what gets "cut" is still up to them--as it
always has been by nature of electives: students decide "I don't want to take
this offered course and will instead take that one." Cutting an elective gives
them slightly less choice, but it's a worthwhile trade-off I think.

My one question about a proposed mandate from Congress on a programming class:
can we retroactively apply it to all federal and state government employees?

------
nhashem
The words he used for his actual endorsement didn't scream "MANDATORY CODING"
to me: "I want to make sure that (young people) know how to produce stuff
using computers and not just consume stuff."

Yes, it could mean coding. But people produce stuff on computers without
coding all time. They produce stuff on Photoshop. They produce stuff on Excel.
They produce stuff on Wordpress.

It's becoming increasingly clear that economic growth and wage growth are
becoming uncorrelated in the US. For example, startups add billions and
billions of dollars to the GDP of the US, but we'll never hire the millions of
people that got laid off at steel factories over the past twenty years.

The economic model for the US this century is essentially one that consists of
high-skilled knowledge workers, high-end manufacturing, and local service
workers. Everything else will be subject to economic factors outside of US
control. Lower-skilled manufacturing has had a revitalization in the US over
the last couple years, but that's mostly due to things like China's currency
appreciating, the price of oil remaining high, and a natural gas boom in the
US. If any of that changes, those jobs will go back to China. Or Singapore, or
Africa, or anywhere else where the supply of raw human capital is cheap.

If you view the future of the US economy in this lens, then everything Obama
talks about makes sense. For example, if this is the future, then the safety
net programs we had in 1980 are inadequate in 2013. Nobody really debated
health insurance in the US in 1980, because over 80% of Americans already
received health insurance from their employer. Now it's barely two-thirds [0].
If you have a "top-heavy" skills distribution in the US, and your income is
more strongly related to skills than ever, then you need a "top-heavy" tax
code. Or you could just let people bleed to death in their bathroom because
they tried to pop their own thrombosed hemorrhoid (trust me, don't google it)
because they couldn't afford a trip to the ER.

And to tie it back to the OP, it also means education for those high-skilled
jobs will be the best way to ensure economic advancement. It's no longer a
sure thing to advance economically by putting in your time in at the plant and
have your labor union negotiate a 5% raise for you every two years. That
doesn't need to mean everyone becomes a programmer. We'll still have
manufacturing jobs, but they'll require more than just punching the clock
every day[1][2].

We've all probably worked with a self-taught programmer who was toiling away
at some crappy job until they either got a degree or made enough web sites to
convince a company to hire them. And they probably tripled their income in the
process. So I see Obama's statement as saying we should streamline that
process as much as we can, and orient our education system to produce as many
high-skilled workers as possible.

[0] [http://www.washingtonpost.com/blogs/wonkblog/post/study-
fewe...](http://www.washingtonpost.com/blogs/wonkblog/post/study-fewer-
employers-are-offering-health-insurance/2012/04/24/gIQAfGH6eT_blog.html)

[1]
[http://www.nytimes.com/2010/07/02/business/economy/02manufac...](http://www.nytimes.com/2010/07/02/business/economy/02manufacturing.html)

[2] [http://www.nytimes.com/2012/11/25/magazine/skills-dont-
pay-t...](http://www.nytimes.com/2012/11/25/magazine/skills-dont-pay-the-
bills.html)

~~~
yummyfajitas
_Nobody really debated health insurance in the US in 1980, because over 80% of
Americans already received health insurance from their employer. Now it's
barely two-thirds [0]._

This is nonsensical, since a lot less than 80% of Americans even had an
employer in the 80's (or even today).

<http://research.stlouisfed.org/fred2/series/EMRATIO>

The uninsured rate has actually remained roughly flat at 15%.

[http://commons.wikimedia.org/wiki/File%3AU.S._Uninsured_and_...](http://commons.wikimedia.org/wiki/File%3AU.S._Uninsured_and_Uninsured_Rate_\(1987_to_2008\).JPG)

 _And to tie it back to the OP, it also means education for those high-skilled
jobs will be the best way to ensure economic advancement._

This is really unclear. For example, if education is primarily about
signalling rather than skills (lots of evidence suggests it is [1]), all you
do is waste resources on a signalling arms race.

[1] There is a fairly extensive literature about forgetting stuff. Bryan
Caplan has written a fair bit about it, for example, and even has a book on
the way:
[http://econlog.econlib.org/archives/2012/10/does_high_schoo....](http://econlog.econlib.org/archives/2012/10/does_high_schoo.html)
[http://econlog.econlib.org/archives/2012/11/the_present_val_...](http://econlog.econlib.org/archives/2012/11/the_present_val_1.html)
[http://econlog.econlib.org/archives/2012/02/the_career_cons....](http://econlog.econlib.org/archives/2012/02/the_career_cons.html)

~~~
yoloprocro
Dude. You claim that "The uninsured rate has actually remained roughly flat at
15%." in response to nhashem's claim that there were fewer uninsured in 1980.
But your graph only goes back to 1987!!

Geez.

~~~
yummyfajitas
Nhashem is definitely wrong. It is impossible for 80% of Americans to receive
something from their employer if 80% of Americans didn't even have an
employer.

My graph does go back to 1987, because that's when the census started
collecting data on health insurance. If nhashem has data he is free to post
it. It's up to him to prove his claim, not on me to disprove an unsourced
assertion.

~~~
scarecrowbob
" It is impossible for 80% of Americans to receive something from their
employer if 80% of Americans didn't even have an employer."

Data aside, that is not a logically true claim: in 1980, I had health
insurance... through my mother's employer.

~~~
DGCA
Don't forget spouses.

~~~
aalbertson
ding ding ding!!! I was just about to chime in about that. Are these stats
accounting for spouse and children and adults in school/military at the time?
I'd be curious to see how the numbers break down.

Also of note is that when you do calculate in Spouses and children, they still
had insurance because it was less common to "only insure yourself" (I have no
data to back that statement up).

------
toddnessa
I have home-schooled kids and have planned to start my daughter in Code
Academy. Knowing how to code is a leg-up in the digital age. However, it's not
for everybody. We still need those with basic trade-skills who seem to be
getting kicked to the curb in favor of someone in China who could do the job
cheaper. (If we want to build the American economy we are going to have to
become self-sufficient inside of our own country again and have no trade-
deficit.)

~~~
seanmcdirmid
> If we want to build the American economy we are going to have to become
> self-sufficient inside of our own country again and have no trade-deficit.

In North Korea, they call this Juche. They say it works great, but I think
they might be twisting the facts a bit.

------
mncolinlee
Absolutely. Every student should get one semester covering basic computer
skills. That semester should include a short unit on how computer algorithms
work in the most basic possible sense. I see no reason why every school child
shouldn't understand if/then/else, looping, and hello world in one simple
language. It only needs to be a quick demo in order to expose them to the idea
of being a programmer.

We all had to take one semester of home economics and shop. Those classes
weren't simply fluff even if we thought they were. They were also exposing us
to useful life skills that could translate into jobs if we found the classes
interesting. While sewing and cooking tend to be low wage work, they also
exposed us to drafting, CAD, CNC milling machines, and other job skills that
may have seemed more useful before China took those jobs away. We all had to
take these classes even if we were destined to become programmers.

 _Far more valuable_ than high school classes though would be adding computer
clubs and contests at younger ages. Why would we wait until college ACM
competition to make programming a rewarding skill? Computer skills are more
important than chess or junior high football.

------
InclinedPlane
I'd rather we spend more effort fixing our broken system and actually trying a
lot harder to make sure our high school graduates are all functionally
literate.

------
jvehent
I've grown to believe that learning to code is similar to what learning to
write was 200 years ago. You can't be a good engineer, scientist or even
artist without knowing it. A few people who excel at it will have great impact
on our society. Within 50 years, every single kids out of high school will
know the basics of it, or have very limited choice in higher education.

This is a good thing. Do your kids a favor, teach them how to code.

------
professorTuring
No. It doesn't make sense at all.

It comes to me that teaching code in high school is a bad idea. It is a good
idea to teach how to solve mathematical problems with a programming language.
Just as a mathematical tool.

It's curious how teaching "how to code" is going to greatly devalue the
"coding-ability". Here, in Spain, coding is highly undervalue mainly because a
lot of mathematician and physics and graduated in politics ( I mean,
everybody) learned "how to program" in a one month course. So enterprises tend
to think "anyone can code" instead of "I should hire professionals".

And it's true. Those people know how to solve problems with a computer
language, but they DON'T produce good software solutions (just generalizing)
and you end up having a big ball of mud. This shouldn't be a problem if
enterprises would have realized about software quality and maintenance. But
they haven't.

The consequence of all this it's clear. Very low salaries and an undervalued
profession.

\--- Aren't you agree with me? Just have a look to the web. Most of non CMS
web pages full of bells and whistles are clearly a mess. In fact, I really
believe that most of web-related technology is a big ball of mud
(HTML+php+javascript+css+json+...) because the main users/creators are not
computer scientists. Yes, these technologies are a solution but I don't
believe they're a good solution. (I'm not saying I could make it better, I'm
just talking about the mess involving building a web page against building
computer software).

\---

Nevertheless, don't take me wrong. It's great to bring programming closer to
the people. It's great to have a lot of people improving, creating, developing
and designing. But people won't never understand that coding is different than
building software.

------
joelmaat
This needs to be introduced (in a much more basic form) well before high
school. You have to get it into the average child's head before the age of 5,
or it will never stick or be easy to understand, just like learning a new
foreign language. And it should be taught in the same way (just not like they
do in public education, but in a more modern way that is proving to be more
effective).

------
johnpowell
No problem with it. Consider it a class in logic. Math is mandatory and people
still can't figure a tip in their head.

~~~
lutusp
> Math is mandatory and people still can't figure a tip in their head.

Yes -- be that as it may, let's remember that mathematics and arithmetic are
two different things. Arithmetic is useful even though we now have calculators
everywhere, but understanding math is much more important -- and it isn't
about adding columns of figures or figuring a tip in one's head.

------
rcat
Where I come from, students choose subjects they wish to specialise at the age
of 12. One of these specialisations was computer studies, which gives basic
knowledge of various topics someone working in IT might need. One of these was
programming.

It was poorly taught. Half of the class couldn't even figure out loops, they
were literally scared of them coming out. They absolutely hated it.

I chose to continue studying this subject at sixth form (basically the local
equivalent of high school) and even though we were now taught by engineers and
people with doctorates, they were horrible. They just spoon fed us, giving us
programs to study by heart. They had no idea of code redundancy, modularity or
readability.

These were for students who chose to study the subjects. What the situation
would be like if these courses were compulsory.

~~~
DeepDuh
You raise a very good point here. IMO there should be a big push in the
pedagogic branch of CS. It should be a requirement for math teachers to study,
just like manual division algorithms. I was lucky to have a math teacher in
high school who pushed this subject out of her own will. However in my home
country (Switzerland), what we call high school is only visited by about the
top 20% of pupils, the others go non academic routes.

------
liquidise
I feel like this would be a shortsighted move. It is my experience that coding
takes a certain manner of thinking. This thought process (structured, boolean
and logical [formal logic]) does not come naturally to many (most?) people.

In highschool i took my first formal programming course, and despite a very
good teacher, the majority of my classmates struggled. I can say i saw similar
results in my early college programming.

I love the idea of introducing more people to programming, but from my
experience, this would be setting a majority of students up for struggles and
failures. The few who would succeed will instead be distracted by the rest.

------
blablabla123
Given some famous wisdom that approx 50% of the population is not able to
code, this doesn't make much sense IMHO.

Tools become better, many people will never need to code to become productive.
One tool that allows people to do fancy stuff without coding is Excel. In fact
the whole MS Office suite has means to create automatizations that would take
a coder a long time to realize from scratch.

On the other hand I would be in favour of mandatory HTML classes. It's a
purely descriptive language, used in many fields. (But who knows, that skill
might as well become obsolete when MS releases Frontpage 2020 RT.)

------
jwwest
It may be a flash in the pan, but I'm starting to see the commoditization of
programming talent here. Back in 1999/2000 we saw a rash of "learn computer
repair and network administration by CD!" companies, accompanied by
"certificate mills" pumping out brain dumped-MCSEs by the boatload.

These days we're seeing a similar pattern with mobile development: "learn to
program for the iphone! Make lots of money!" and to a lesser extent general
computer programming.

The cynical part of me believes it's another sign of a bubble, but it may just
be circumstance.

------
prostoalex
That's actually the way things worked in Ukraine when I was going to high
school. Granted, it was programming in Basic, but everybody in junior and
senior year had to take a course that combined keyboarding and programming.

Ukrainian (and post-Soviet) education system is somewhat different from US, as
students can leave high school after their sophomore year, if their future
plans involve going to a vocational school, community college or just straight
to work. Only those who plan to enter college stay for the last two years.

------
taylonr
I get nervous every time the federal gov't tries to mandate things in school.
It always seems like something from either the 50 facts & fallacies of
software development and/or the mythical man month. It's as if they realize
things are screwed up so they try to slap some tape on the side and hope that
fixes it.

------
unimpressive
I don't think I ever commented on this specifically. I'd like to go on record
saying that even though I think everyone should learn basic programming, I
can't support it as a required class for as long as the word "class" implies
the terrible quality I currently associate with high school courses.

------
rahilsondhi
I don't get why everyone all of a sudden needs to know how to program. There's
more to the world than the iOS SDK...why does every kid need to be able to
write an app? I really don't understand.

~~~
logn
The same reason all kids suddenly need to know how to perform Newtonian
physics experiments.

------
froglet
Nationwide pre k would be much more helpful than required coding in HS.

------
pfisch
High school is too late. It should happen in 6th-8th grade, but I'm not sure
what class you would bump to make that happen. Maybe let it alternate days
with foreign language?

~~~
BrianEatWorld
I like your idea. I would be against this as a mandatory initiative just
because I think it prevents the kind of diversification of minds that tends to
foster innovation, but as an alternative for kids who have no interest in
foreign language or even lower level math I think it would be an excellent.

------
Millennium
Getting them through The Little Schemer (or something like it in another
language) may be a good idea, but I'm a little skeptical of actually making
coding mandatory.

------
leke
"Required programming classes"?

Sounds like a bit of a buzz kill already.

------
edwingustafson
The four R's: readin', 'ritin', 'rithmetic, and R!
<[http://www.r-project.org/>](http://www.r-project.org/>);

------
iframe
As an optional class would be cool.

------
jchan
It seems to me like a lot of the "required coding class" idea is based on a
misguided desire to increase the competitiveness of our country
internationally. Learning to program is good, yes, but to be honest, what goal
are you trying to achieve? The article suggests that the goal might be to
allow people to enter the job market more quickly.

The fact is that "programming" in and of itself is just grunt work. Forcing an
entire generation to learn how to put strings together to do _stuff_ won't
help any of them when they go to a job interview and see a hundred other
interviewees with the exact same proficiency for copying snippets from
websites.

Problem solving is the much more important thing here, and that is already
focused on in high school (remember word problems?). Programming allows
students to explore problem solving more interactively, yes, but requiring
schools to teach programming won't help in the long run any more than
emphasizing a more comprehensive and intuitive approach to solving problems -
I'm sure there'll be enough of _those_ by the time these guys graduate to last
forever. :)

~~~
wtallis
Having a labor pool that is universally more productive with computers would
be a good thing even if we don't end up being relatively more competitive
against other countries. And programming is probably a better vehicle for
teaching important problem solving skills than a lot of the math and science
classes that the average high school grad doesn't end up needing for their
career.

~~~
dizzystar
"Universally more productive with computers" does not mean "know how to
program a computer." Should kids be learning how to use and run a spreadsheet
and type without hunting-and-pecking? Yes. Should they know how to compute big
O to be productive? No.

~~~
wtallis
Big-O isn't programming, but basic programming knowledge like how to use
scripting for everyday tasks _does_ lead to increased productivity with
computers.

~~~
dizzystar
Are you suggesting that year-long programming class should be writing i/o
scripts all day? Why not just teach kids Excel and be done with it?

This sort of reminds me of someone that I was working with at my last job. I
told her to fill out a .csv file so that there were no blanks, but she didn't
realize that navigating a spreadsheet with a mouse is a terrible idea. I told
her to leave the mouse alone and use the ctr-arrow keys instead, but she
didn't listen so the data got messed up.

Okay, so that is bad for her if her goal in life was to become some master
data person, but you know what she was a total genius at? Photoshop. I
consider this a computer skill, but it isn't programming, but most
importantly, it is something she became good at because that is where her
passion and goals lie.

I have a question: surely you read the articles online about programmers
failing fizzbuzz and generally not being able to program at all. This is the
result of students who went to school and paid for said school to learn how to
program. What do you think will happen when we force every single person in
the USA to program? I would say the world would suffer a serious net loss.

------
largesse
If Obama cares about education, he can start by dismantling the 'No Child Left
Behind' apparatus.

It is the most concrete impediment to responsive education I've seen in my
lifetime.

------
foryoublue
That's stupid, because some people just don't get programming. It can take
several tries before someone can grasp what programming is.

