
Obama Pledges $4B to Computer Science in US Schools - zds
http://www.wired.com/2016/01/obama-pledges-4-billion-to-computer-science-in-us-schools/
======
sandworm101
How much of this will go to good teachers and interesting programs? And how
much will simply be spent on overpriced machines (microsoft) and proprietary
"connected classroom" concepts (apple)?

You don't need much equipment to teach CS. Basic machines will do. And there
is no need to spend any money on software these days (f/oss). I worry that
this money is less an educational initiative and more a handout to those
companies who sell services to schools. Which organizations are behind this
pledge?

~~~
devsquid
Man................. You raise a good point. I read the headline and was
pretty stoked to see my country reinvesting in itself. But this is US, fuck.

I think iPads are wonderful devices, but to think a school would buy them for
their students just seems stupid and short sighted. I think Chromebooks offer
the most compelling class room solution. They are hyper secure, come with a
keyboard, and extremely easy to manage and share.

~~~
sandworm101
Computer equipment for schools is all about limiting how they can be used.
iPad are given trackers. Desktops are locked behind content filters. The last
thing anyone wants is some kid running unauthorized code.

~~~
bobwaycott
I think the last thing anyone wants in a school system is some kid accessing
porn, or something judged to be equally offensive. I see school tech policies
each year. They're never worried about, and rarely ever mention anything that
could arguably be interpreted as, prohibiting running unauthorized code. That
would require school administrators to know what unauthorized code is.

~~~
sandworm101
Can I download a linux distro via a bittorrent client, then boot into that
distro? Can run metasploit on a school machine attached to the school network?

There are plenty of things worse these days than kids downloading porn. Top of
the list: kids creating porn. Terrorism, bomb threats, malware, cyberstalking,
organizing flashmobs ... there are plenty of ways for kids to cause real
trouble for a school far beyond them downloading adult content.

~~~
qb45
Guess what, I did run metasploit (and more) on school network. Nobody died.

And the fact is, if more people started exploiting things, things would get
fixed. It's not 2000 anymore when neither vendors nor users gave any fuck
about security. Nowadays metasploit doesn't turn you into as much of a god as
it used to :)

And "creating porn, bomb threats, cyberstalking" \- come on, anybody who wants
that, can do that without school-provided computers. And yet few people
actually do.

------
throwaway420
People are intelligent in many different ways and I don't believe that most
people have the abstract thinking skills necessary to really thrive in
computer science.

Forcing everybody to take part in computer science education is probably going
to frustrate the hell out of most people (make them feel stupid and annoyed at
having to do this stuff) and dumb down the curriculum for the small percentage
of kids who would naturally thrive at this stuff.

Also, given the insanity in the education field, I don't see too many actually
good computer science teachers wanting to be there even if more money is being
thrown around. If I had to guess, a lot more career minded Machiavellian types
are going to be trying to grab onto the gravy train and get some of these gigs
and the side effect of this will be that the kids get even crappier teachers.

Like most government programs, on the surface this sounds good. I could very
well be wrong, but like most government programs it will probably end up
costing more money than planned and have the opposite of its intended effect.

~~~
codingdave
Most people are not going to be novelists, but all students learn to write.
Most people are not going to be mathematicians, but they all learn basic math.
Sure, if you are bad at it, it will frustrate you. Go talk to any 10 year old
and you will find this is already true for existing subject. Pick any subject
- learning it in school doesn't mean you are going to do it for a career, but
it is part of education so that you understand enough to get by in a world
where those subjects are important. It is also an opportunity for kids who do
excel at it to learn that at a younger age and have more time to develop their
abilities. but we are talking about basic education, not bootcamps to turn
every kid into a coder.

Also, the existing programs are finding that you don't need, or even want,
computer science teachers to be teaching kids. You want professional
educators, who understand children and their development, to teach kids.
Again, we're talking a basic level of curriculum, so having a professional
elementary educator learn a new curriculum is working quite well already.

As far as actually developing that curriculum, code.org is a really good basis
for it, which many local programs are using. most supplement it with
additional material, and I know of at least one program that is funding grants
to districts to develop their own local programs, while at the same time
formalizing curriculum in a way that they can be shared nationwide with
districts that have not yet had the resources to create their own.

This is not a new idea coming from the government that needs to be tried - it
is an existing idea already succeeding in some districts that may receive
funding to expand.

~~~
chrismcb
In an average person's day to day life they will read and write things. They
will also have the opportunity to perform basic math. Sales, left over change,
how much time is left. They may even use a computer. But the average person
will never even come close to programming at all. Let alone on a regular
basis. I think it is important to have it available. It might be worth
introducing it as a small subject. But programming is not easy, and not useful
enough to teach as a basic subject

~~~
Strom
It wasn't that long ago that you could have said the same thing about the
avarage person never even coming close to reading/writing. The avarage person
doesn't come close to programming largely because they don't know how.
Improving our education & tooling will go a long way to solving this.

------
subpixel
I currently teach basic CS in an inner-city school, on a volunteer basis.

Unfortunately, the problem isn't "US public schools lack {{important thing}}".
The problem is that US public education is deeply broken.

It's interesting to see the momentum living wage/minimum income campaigns are
getting. But education equality, for which there must be a better term, isn't
often brought up.

At the school I'm in, when a kid with any potential comes in, the only course
of action is to to help her transfer out to a school where she will actually
learn something. Sadly, this is not the exception - there are literally
millions of kids around the country in similar schools.

~~~
alpsgolden
_At the school I 'm in, when a kid with any potential comes in, the only
course of action is to to help her transfer out to a school where she will
actually learn something. Sadly, this is not the exception - there are
literally millions of kids around the country in similar schools._

Why aren't they learning anything in your school? What should the school be
doing that they are not doing now?

~~~
ams6110
Inner city school. First of all they often have basic infrastructure issues:
leaky roofs, poorly- or non-working heat, rodent and insect infestations. OK
those things are in theory correctable.

Secondly is the demographics. Inner city kids are often from low-income
single-parent homes, living with foster parents or extended relatives, moving
a couple of times a year, one or both parents may be incarcerated. Being
around substance abusers is another big problem. Education is really low on
the list of things they or their parents care about. And it's impossible to
fix that at school.

~~~
c06n
Would you say that once (a part of a) society is broken, it's broken for good?
And that we would have to "transfer" people out of it if they are to have a
future?

~~~
rayiner
I wouldn't say broken for good, but I would say that education isn't the
solution for what is fundamentally a social problem. In D.C., the public
school district spends $30,000 per student (only slightly less than tuition at
Sidwell Friends, where the Obamas send their kids). Many of the buildings are
beautiful. And school performance is a disaster, because the vast majority of
the families are low-income. Better schools and more qualified teachers are
never going to fix their problems. It'd be better to just take a third of that
money and write each kid a $10,000 check every year.

------
rayiner
Only a tiny fraction of the population needs to understand computer science.
Most people will struggle through it, learn to hate it, and immediately forget
it after they graduate, just as they do with math and science. Meanwhile,
college professors will have to spend inordinate amounts of time unteaching
all the stupid things kids learned in K-12, because there is no way to
structure these curricula in a way that serves as a good foundation for those
who will actually major in the subject and is simultaneously approachable for
everyone else.

Public education should serve some practical purpose: teaching kids the basic
skills _everyone_ needs to be productive in the workforce and to contribute as
citizens. To that end, I'd advocate taking courses away instead of adding
them. Math and science education in K-12 is a disaster and a waste of time for
all but a small fraction of kids. We'd be better off taking those out,
shortening mandatory education to K-10, and letting kids who actually want to
go into particular fields study the relevant coursework when they're old
enough to actually learn it properly.

~~~
dragonwriter
I disagree with your claim about the impossibility.of broadly accessible
foundational CS that is still good ground for majors; not only so I think it's
_possible_ , but I think at least one viable approach already exists in _How
to Design Programs_ \-- the text itself may not be ideal for secondary
students (though IIRC is been used successfully at that level), but the basic
method and approach for teaching computing as a core subject is sound.

~~~
rayiner
I'll check out that text, but I'm skeptical. We had a CS requirement for all
engineering majors at Georgia Tech, and even among that group it was
frustrating and largely a waste of everyone's time.

Of course, I also don't think we've succeeded in that goal with math and
science either. Physics was a requirement in high school, but our physics
classes in college taught everything from the ground up because god only knew
what kids learned in K-12.

------
Kephael
I don't believe there is any shortage of computer science talent. I believe
there is only a shortage of students graduating with CS degrees from schools
like Stanford and MIT which is what many employers are looking for. NACE
figures really seem to indicate we don't need more junior level programmers as
42.5% of graduating seniors majoring in CS did not have a full time job offer
(not even in unrelated fields) at the time of graduation.
[http://career.sa.ucsb.edu/files/docs/handouts/2014-student-s...](http://career.sa.ucsb.edu/files/docs/handouts/2014-student-
survey.pdf)

~~~
Taek
As someone who has been trying to hire CS talent, I can say that most of my
interviews have been pretty underwhelming. Maybe 10% possess the level of
talent and interest that we're looking for, and as few as 50% can even code
fibbonacci. Like 20% are able to write a successful nlogn sort. And that's
after I tell them that sorting will be a part of their interview!

I'm not sure that more schooling is the answer, but I do feel like we are
always strapped for talent. The people who pass are usually spent a
significant amount of time teaching themselves.

~~~
rayiner
More schooling is definitely not the answer. By your numbers, funneling more
kids into CS programs is creating 9 extra employable graduates with debt for
every 1 extra graduate worth hiring.

------
wrong_variable
The real problem is not computer science.

Everyone in the United States cannot be a programmer - its going to lead to
the same problem we have with law, business, etc. Too many graduates leading
to labour oversupply.

Government will always be slower to respond then markets.

So even though right now there is a shortage of programmers - it might not be
the case once these student's graduate.

So Govt is always one step behind the movements in markets.

What is more important is helping students understand how important learning
is. Even though my skills in programming helps me get paid - I use the
knowledge I have in biology ( learnt in school ) to make informed decisions as
a consumer. My knowledge in writing helps when I need to explain a difficult
concept to my bosses. My skills in mathematics helps me model problems in much
more efficient ways.

Being a programmer in a society with no doctors, or chemists is no fun.

Its understanding that the economy is extremely complex - and rather than
create bursts of inefficiency in one area - the best thing to do is facilitate
the system to perform better - maybe make it easier for labour ( students ) to
choose what they want to do with their lives - rather than burden them with
student debt ?

~~~
mempko
Makes me wonder if education maybe should not be about satisfying markets.

~~~
txru
The trouble is, things are _always_ about satisfying markets, whether we like
the market it satisfies or not.

For example, in the early days of the university in England and France, higher
education served to satisfy the market of younger-child aristocracy who needed
something to do to make them valuable to their family. It's no coincidence
that monastaries, reading, and higher education were very often neighbors, and
sometimes part of the same organization- they served chunks of the same
market. That the universities started opening themselves to lower scions of
aristocracy was a side-effect of how profitable that market could be, and the
value that graduates could provide. [0]

In a more modern example, the disciplines of higher education that have less-
certain ROI, but are still judged to be valuable, or serve education for
education's sake: I would say that those serve the market of people who are
either idealistic, or believe they understand some long-term feature of
humanity that the 1-year, 5-year, or generational time-scale markets ignore.
They pay the price, but they still do hope for ROI of some sort- even if not
in cash.

Even more nebulous things, such as very low-overhead charities, serve a
market- the market for people to feel generous, to avoid guilt, or to serve
causes that the traditional free market overlooks. That so many charities are
very high-overhead, or so bad at satisfying the ends they ostensibly aim for,
seems to be a symptom that people don't care so much about the assuaging, as
the fact that they have attempted to assuage.

So, are there ways to remove education from the capricious, short-term, short-
sited nature of the modern free-market? Of course. State action, benevolent
organizations, and other more attempts at far-sitedness are a good way to
adjust the externalities of education. However, you simply cannot remove
education from the market.

[0] -
[https://en.wikipedia.org/wiki/Medieval_university](https://en.wikipedia.org/wiki/Medieval_university)

------
ghufran_syed
Do we really want to "reduce such a beautiful and meaningful art form to
something so mindless and trivial[?]; no culture could be so cruel to its
children as to deprive them of such a natural,satisfying means of human
expression. How absurd!" \- Lockhart [1]. He was talking about math, but I am
sure the same results would occur with computer science "education" if done in
high schools.

"One of the best ways to stifle the growth of an idea is to enshrine it in an
educational curriculum." \- Hal Abelson[2]

[1]
[https://www.maa.org/external_archive/devlin/LockhartsLament....](https://www.maa.org/external_archive/devlin/LockhartsLament.pdf)
[2]
[https://www.cs.berkeley.edu/~bh/ssch0/foreword.html](https://www.cs.berkeley.edu/~bh/ssch0/foreword.html)

~~~
crdb
Related anecdote:

I had "computer science" classes in middle school in France. They consisted of
typing classes. I still remember sheets of "QSDF JKLM" or whatever it was that
had to be typed x times before moving on to a slightly more complex pattern. I
think the class was graded based on how far you got down the sheet by the end
of the hour.

------
rdlecler1
If you're going to inspire students you're going to need a lot of teachers who
are experts in CS. Unfortunately, our current education system doesn't allow
experts to teach so now someone who knows CS is going to have to go get an
education degree as well, just to take a massive pay cut.

~~~
jcizzle
This is true of all subjects, though. The purpose isn't to train world class
engineers out of high school, it is to expose more people to the subject and
the thought processes that go into it.

~~~
aianus
> This is true of all subjects, though.

No, it's not. You're not going to do better with your English degree than
English teacher so there's no disincentive to becoming one. Hence, students
get reasonably competent English teachers.

High School CS teachers, on the other hand, have to be completely incompetent
or insane to choose to teach for $40k when they could be writing CRUD apps for
$100k.

~~~
eli_gottlieb
I write firmware for $90k and I'm insane enough to have always wanted to be a
teacher.

~~~
selimthegrim
Now I'm imagining what "Firmware Madness" would be as a fear mongering video
to scare kids away from writing firmware.

------
sakopov
Can anybody explain to me this push for everyone to be a programmer? Is there
a belief floating out there that everyone in 10-20 years is going to have to
know how to program? I just don't understand it. Who's going to teach computer
science to kids? How many software devs do you know how quit their jobs to
teach at a high school? If not them, who's qualified to teach this subject?

This will ultimately end up with unqualified teachers teaching computer
science while kids are fucking around and playing computer games. What an
atrocious waste of money. Why not spend $4B to fix piss-poor American
education system so that we can produce graduates who are ready for college
and not trying to catch up taking Algebra I or basic reading /English.

~~~
ceras
My guess is for the same reasons as other high school topic: so you can
understand how the world around you works, and so you can get a taste of what
you might want to study full time in college and feel prepared for it.

To emphasize the second point, I only started programming in college sophomore
year due to a requirement in my original major, and would have been too
intimidated to take it otherwise thanks to all the other kids that had learned
before college (a situation unique to CS). Yet now as a developer I earn more
than me or my parents could ever have dreamed, just because my college
happened to require I take the course.

I know others who were too intimidated and weren't forced into it. What if
they'd tried it out in high school? Maybe they too would have a shot at what
is arguably among the best careers in the US (good pay / reasonably low stress
/ low cost of entry).

------
protomyth
I'll wait for it to pass and for the actual RFP to be created. I was very
disappointed in the whole broadband money that was restricted to areas and
groups that had an interest in keeping the existing infrastructure status quo.

------
ori_b
As I said elsewhere: That money needs to go directly to raising teacher
salaries. Currently, teaching is a pretty crappy career for anyone that's not
extremely self sacrificing and idealistic.

Starting salaries for a teacher -- after additional years in school -- are
something like a half to a third of a salary for a programmer in the USA, as
far as I can tell. The upper bound for salary also seems much higher in
industry. So, salarywise, it's a bad choice.

The job is seen as socially important, but not to the degree that enough for
amazingly talented people to flock to it in the numbers that are needed. So,
prestigewise, its' also a bad choice.

As a result, the bulk of teaching positions are not held by the best and
brightest. They're often not even held by the good and bright. There aren't
enough people who would prioritize children over their own futures. And as
long as teaching suffers from a lack of respectability or a lack of salary,
teaching is going to suffer. And before you blame the institutions --
institutions are run by the people who went into this system.

------
dubcanada
So basically another class for kids to play minecraft in while the teacher who
doesn't even have a degree in Comp Sci attempts to teach programming.

------
wfo
Is this a good thing? I'm reminded of the "well-meaning" pushes by large tech
companies to flood the market with immigrant labor and drive salaries down.

Though I wouldn't say this is malicious I think it may have the same effect.
We will get many, many more bad programmers. We still have no good way to tell
a good programmer apart from a bad one. We have no licensing, we have no
professional organization, we have no standards.

Right now the barrier for entry is really, really low for an upper or middle
class person who wants to learn about programming and CS. For the poor, what
good is CS if you don't have regular access to a computer? How many graduating
seniors in poor communities own their own laptops? Have consistent internet
access? I think a pledge like this needs to focus all of its attention on low-
income students for it to be worthwhile.

~~~
samfisher83
I think computers are pretty prevalent.

------
facepalm
These days I struggle to find a lot of use cases for non-IT-people to use
programming. It makes a fine hobby, but not better than another hobby.

For a while I was enthusiastic about things like Greasemonkey which would have
allowed people to modify the software they use on a daily base. But it doesn't
seem to have taken off, and presumably web clients are increasingly more
complex so that "greasemonkeying" become too complex, too.

Long story short - I'd be happy to hear about examples for ways that non-IT-
people could improve their lives with programming.

I have even considered to donate part of my time to solving such problems,
choosing from user-submitted problems.

------
nikdaheratik
I had an excellent intro CS teacher in 9th grade who was ex-Army with an
actual CS degree. He also taught Algebra. We got to spend a year of course
basically playing around in Hypercard.

I also had a mediocre programming class in 10th grade at the Sr. High school
taught by a part time business teacher. We spent a semester programming in
Basic on a decade old IBM box. You can guess which class was the better
influence on my decision to go into CS full-time.

The frustrating thing was that there was an entire lab full of 5-6 year old
Macs that we were not allowed to touch outside of typing classes, so the
decision to use the crappy 10 year old non-GUI machines was basically
curriculum related.

The point being, teachers are important (and this initiative won't help with
that), but even getting some good tech into the hands of students would help
more than you realize. There are still schools with not enough resources to
teach a decent CS course or more than a vague idea of what kind of curriculum
would cut it in the real world.

------
puppetmaster3
Let me fix the title: Obama Pledges $4 Billion to Computer Science in US
Schools, money from the USA tax payers.

Your money. Not his money.

------
littletimmy
IMHO, it is a mistake to teach kids something like computer science early on
in school. The focus of a school should be to teach kids transferrable skills
in the classics: mathematics, art, latin, etc. The students will always have
time to specialize, but they will never get a chance to build a solid
foundation.

------
bronz
I'm transferring to a UC in computer science soon. This is the last year in
which computer science will not be considered an "impacted major" at my
school. A sign of the times. Recently everyone's been talking about making CS
mandatory in high school. And looking around on the web I see that some of the
resources for learning computer science are very nice indeed. Is it petty to
be worried that there will soon be so many computer science people in the
world that I wont be able to make a living in computer science? I feel like a
hypocrite for being an advocate for single payer healthcare, which is a step
forward but might destroy a lot of jobs in the insurance business, and
simultaneously hoping that computer science remains somewhat exclusive.

------
cms07
I can't wait for the labor surplus to drive down my wages.

~~~
thesimon
At my High School, everyone had to take a Computer Science class for at least
1 year.

My year had 60 students and I'm the only one studying CS/working in the
industry. I'm pretty sure your, mine and everyone's wage will be alright.

Yes, only an anecdote, but it's not like everyone is switching from their
dreams to become a doctor/lawyer/pilot/xyz to a CS job just because they had a
HS class.

------
waylandsmithers
I honestly don't think we've figured out how to teach people how to code yet,
so throwing a ton of money at this apparent problem will do little.

------
nso95
And they'll just train mediocre math teachers to be even more mediocre CS
teachers. Teachers are generally expected to have a degree which is closely
related to what they'll be teaching. This is not the case for high school CS
teachers.

------
samfisher83
When I was in high school about 10years ago or so everyone was required to
take a computer class. Computer science was the only AP class (More GPA
Points) so everyone took that.

------
its2complicated
This is just more bullshit to waste money on. In 8 years of development, I can
count on one hand the programmers who showed any interest in programming
outside of work, or that have GitHub accounts, or that know what a Binary Tree
is. Programming has become, for the most part, Web development and the barrier
to entry is so low that anyone can enter it after studying material off the
Internet and watching YouTube videos. To be even more controversial, CS is not
even needed for most programming today, but only for passing interviews.

~~~
hackaflocka
100% agree. A basic Udacity course in programming can be very effective in
teaching programming. These days all the Necessary educational material is
available free off the internet.

------
chris_wot
How about he reforms patent law further first? Not much good having computer
scientists innovating if some patent troll comes along and stymies that
innovation.

