
Responding to the Explosion of Student Interest in Computer Science [pdf] - denzil_correa
http://lazowska.cs.washington.edu/NCWIT.pdf
======
nlawalker
The problem is that 'computational thinking' has become expected of a
university education, _regardless of major_ , but universities haven't shifted
to meet the need.

All the other basic requirements of a university education are filled through
entry level classes - credit-fillers that students have to take in order to
graduate. This structure works out well for everyone: the university ensures
that students are getting a well-rounded education (as opposed to a trade-
school degree) and maintains its reputation and the value of its product.

The only classes that students can take to demonstrate an ability in
computational thinking are CS classes. Entry level CS classes, like those in
the other engineering disciplines, are not like entry level classes in non-
engineering disciplines. Most students that take ARCH 101 and LIT 101 are not
taking them because they are interested in pursuing the major, they take them
because they were the best-sounding classes that help them to fill their
credit requirements. In doing so, they end up with a well-rounded education.
In contrast, most students that take EE 101 are trying out for EE as a major.

CS entry level classes traditionally fell into the latter category. Demand has
resulted in students treating them as part of the former.

The best thing a university could do is to figure out what skills that these
employers are all demanding and offer entry-level classes to fill the need.
Structure them to work with large numbers of students, just like all the other
100 and 200 level classes that everyone takes.

Here's the key part: advertise these classes relentlessly, to students and
employers. Talk about how the university has seen the demand for these skills
and has shifted to focus on them. Become known as a university where every
student can get these skills as a part of their education, regardless of
major, and most choose to.

Potential students will be thrilled at the prospect of a university where they
can get a bankable education without having to commit to CS as a major. Strain
on the CS major will go down and prestige will increase - if every student is
getting the kinds of CS skills that employers require, then the ones that
enter the major must be the hardest of the hardcore.

~~~
jimmaswell
>credit-fillers that students have to take in order to graduate. This
structure works out well for everyone: the university ensures that students
are getting a well-rounded education (as opposed to a trade-school degree)

Do you really think the irrelevant classes are necessary at this level though?
The student has had all of elementary through high school to be exposed to the
broad subject range. By the time you enter university you should know what
you're doing. None of my credit filler requirements have been especially
enlightening or broadening; mostly just annoying. A Greek and Roman history
class I took was interesting to me at least, but I don't see much value
forcing another CS student to take it. If I have to take one more English
class I might just drop out and start my own company.

Do you really think universities believe in the "rounded education" goal, or
do they just know that making you take more classes gets them more money?

~~~
mhurron
> Do you really think universities believe in the "rounded education" goal

This was the traditional role of Universities. It's only recently that they
have become pressured to become trade schools and remove anything deemed
'unnecessary' or 'non-profitable.'

Of course when Universities filled that role, you didn't have choices as to
what to use as, as you term it, irrelevant classes. Everyone had to have a
broader education with classes drawn from many different disciplines.

~~~
unclebucknasty
> _It 's only recently that they have become pressured to become trade schools
> and remove anything deemed 'unnecessary' or 'non-profitable.'_

They've come under this pressure because of the changed realities of the
contemporary job market, combined with the rising cost of higher education.

College is largely an economic decision for the vast majority of people who
attend. Unfortunately, some only realize this soon after graduating,
unemployable with a mountain of debt.

So, this notion of churning out "well-rounded" students is an anachronism.
Companies care about the hard skillset for which they are hiring. Period. In
fact, they increasingly want people who are specialized beyond even a degree,
let alone caring about what, say, a dev hire knows about biology.

In short, a trade school approach is _exactly_ what we need, as it most
accurately reflects the realities of the new job market.

~~~
amirmc
I think this is laziness on the part of employers. Nobody wants to offer
training in a new job so they pressure for cookie-cutter grads that they can
slot into junior roles.

~~~
hga
Also a mark of generally severe weakness in front line managers of
programmers. Training and mentoring are ideals that only work if those
responsible for them are capable, vs. e.g. the standard issue failed
programmer who's also generally not very good at management.

For those able to learn on the job pretty much by themselves, well, the above
type isn't able to judge much about the real work they do, let alone their not
visibly accomplishing much for weeks while they come up to speed.

------
malloreon
How about "Possibly, they see people making ridiculous amounts of money in
tech and want a piece of it?"

~~~
smoyer
When I started college in 1982 as a CS/EE double major, the big-money major
was petroleum engineering. If I remember correctly, they lost a lot of people
who had done well in high-school when they hit the calculus for engineers
classes.

~~~
RKoutnik
It's just the same now with CS. We lost 75% of CS prospects in the first
semester, almost all of them due to Calculus (although I think some of them
came in with the malformed idea that programming was just like video games).

I kept in contact with some of the folks who dropped out or switched majors -
they're working at convenience stores and the like.

------
leot
This is evidence that programming has become a skill akin to literacy. The
migration seems similar to the hypothetical situation in which universities
and society had primarily been based on an oral tradition of communication,
and then this fancy new technology called "writing" appeared (at first only in
"Departments of orthography science"). Some of those who majored in
"orthography science" would go on to study it, comparing and contrasting the
features of phonetic of symbolic writing methods. Many others would learn
orthography science because it enabled them to learn and communicate much more
efficiently in general.

Who wants to place bets on when country development metrics include
"population % who know how to code" ... ? I'll wager no later than 2030 :)

~~~
kimdouglasmason
I completely disagree.

Having everyone knowing how to code is the opposite of specialisation. It's
inefficient and pointless. If a certain profession needs a piece of software,
it's much more efficient for specialist developers to consult with domain
experts, write that software, and sell it into the industry. Having every (for
example) doctor being able to code adds negligible value, and I would argue
the opportunity cost is awful. If my doctor has a choice to become a very
mediocre coder or a better doctor, I would hope they choose the latter.

As for the comparison to literacy, there's simply no comparison. Illiterate
societies are unable to progress past agrarian economies because illiteracy
precludes specialisation, prevents the dissemination of knowledge, and makes
it almost impossible to learn new things except by imitation or direct
instruction. Literacy is a necessary skill in order to do much beyond dirt
farming. Illiterate people can't, for example, even follow a moderately
complex checklist. In contrast, I see no negative impact on society if most
people can't code.

I don't spend my time studying anatomy; my micro-surgeon shouldn't spend his
time studying coding, and I don't see how it would do anything but make him
less effective if he did.

A society of part-time coders would do nothing but produce a lot of badly-
written toy programs. What's the point?

~~~
wanderingstan
Someone a thousand years ago would have dictated to his scribe the following:

"Having everyone knowing how to read and write is the opposite of
specialisation. It's inefficient and pointless. If a certain profession needs
a document, it's much more efficient for specialist scribes to consult with
domain experts, write that document, and sell it into the industry. Having
every (for example) doctor being able to read and write adds negligible value,
and I would argue the opportunity cost is awful. If my doctor has a choice to
become a very mediocre writer or a better doctor, I would hope they choose the
latter.

A society of part-time readers and writers would do nothing but produce a lot
of badly-written texts. What's the point?"

The comparison with literacy is incredibly apt. Even though very few of us
moderns are professional writers, we all benefit by knowing the basic
abstractions of letters and words. In the future, everyone will benefit from
knowing basics of computation. Probably in ways we can't imagine now, just as
an ancient Egyptian scribe could not have conceived of "commoners" writing
YouTube comments or texting "whatup u?" to a friend.

~~~
TheEzEzz
This is an alluring retort, but I have to agree with kimdouglasmason that it
has no actual weight. kimdouglasmason explains and gives examples of _why_
literacy has had such a huge impact on the world. You give no examples of how
code literacy will have similar impacts. You just make an analogy and say it
will affect the world "in ways we can't imagine".

Your argument could just as easily apply to electrical engineering. The whole
world runs on electricity, how is it that no one knows Maxwell's equations!
Everyone should obtain basic proficiency in applying electromagnetic theory:
it will help the world in ways we can't imagine now.

~~~
webmaven
The electrical equivalent of everyone knowing the basics of computation isn't
'understanding maxwells equations' it is being able to wire up a battery and a
light bulb.

~~~
kimdouglasmason
Many people who have successfully understood Maxwell's equations but were
unable to grasp coding would beg to differ.

Over and over again on this board I see people underestimating how
demonstrably difficult the concepts are for many people. As my evidence, I
again cite the dropout rate of CS1 classes.

~~~
webmaven
You misunderstand me. I don't mean that understanding coding is not as
difficult as understanding electricity, I mean that most people should have an
understanding of basic coding at about the same level as they understand basic
electricity (ie. they know how to do some things like plug things together,
can generally avoid starting fires, being electrocuted, blowing fuses, and so
on). IOW, I am lowering the bar.

------
kremlin
I didn't understand this:

"10% of Princeton’s students are computer science majors

Far more at MIT

10% of Princeton’s faculty are unlikely to ever be in computer science!

Ditto"

It's the last two lines I don't understand. 10% of currently existing faculty
are not likely to work in the CS department? Or it's unlikely that in the
future 10% of Princeton faculty will work in the CS department?

And the 'ditto'? Far more than 10% at MIT are unlikely to be in computer
science?

~~~
nlawalker
I think he's saying that "it's unlikely that Princeton will ever have 10% of
its faculty dedicated to computer science". Despite the demand, universities
want to remain balanced and avoid becoming trade schools.

"Ditto" means "same for UW"; Ed Lazowska is the department chair at UW.

~~~
jseliger
_Despite the demand, universities want to remain balanced and avoid becoming
trade schools._

Take a look at Matthew Reed's _Confessions of a Community College Dean_ as
well. There are other factors at work:

1\. Tenured faculty can remain until they die. Almost every school still has
tenured faculty from popular areas in the 70s.

2\. It can be dangerous to chase trends, thanks to tenure: if the school
tenures a bunch of CS professors today, and then something else comes along
tomorrow, those profs can remain for 50 years.

3\. Mandatory retirement ages were eliminated by the Supreme Court in the late
80s and early 90s (again, see Reed's discussion), which lends extra importance
to points 1 and 2.

------
patio11
We have _almost_ recovered to the number of CS degrees issued in 1985.

~~~
gohrt
I never understood that factoid, and always assumed it was an illusion --- we
must have manyfold more computer-related degrees now that back in 1985

~~~
hga
In 1982 _Time 's_ "Person" of the year was the The Computer (
[http://content.time.com/time/interactive/0,31813,1681791,00....](http://content.time.com/time/interactive/0,31813,1681791,00.html))
and I can remember a MIT CS professor, I think it was Michael Dertouzos,
bemoaning how this would further skew enrollment. (Note also that at that time
most of the department's majors were on an EE track.)

Computers were red hot in a way I'm not sure even the dot.com boom reached,
and that boom and bust cycle was perhaps longer.

------
dba7dba
Totally unscientific opinion, but wouldn't increase in CS graduates and
programmers mean lower salary for those newly minted graduates?

Or will we never have enough programmers?

~~~
potatolicious
Increase in supply, yes, but the question is if the demand will grow more
quickly than the supply. If it does then salaries will keep rising (though
probably more slowly). If supply growth outpaces demand growth then salaries
will drop.

I don't think we really know enough about programming demand growth right now
to make a call either way, we also don't know the scale of the CS graduate
expansion.

In any case, this is a terribly simplistic view of things. Not all graduates
are created equal, and not all jobs demand the same programmers. Neither
programmers nor programming jobs are fully interchangeable widgets.

In reality there are multiple buckets to programmer supply, and multiple
buckets to programmer demand. This is sort of the nice way of saying that
there is a gradient between "has a CS degree but can't code out of a wet paper
bag and probably never will" and "has a CS degree and knows how to solve truly
hard problems and has the right foundations to be an excellent engineer".

IMO when people are entering a field purely for the cash, the latter pool
won't expand by that much, but the former pool will expand greatly. This will
depress salaries on one end of the industry but the impact on the other end
won't be extreme. A dramatic expansion in CS enrollment IMO will cause a
crunch in low-mid-end programming salaries while leaving high-end programming
salaries mostly intact.

My main concern is if these college students are being sold a lie. Schools are
holding up Google and Facebook engineers (and their salaries) as templates,
but in reality most of them will end up writing enterprise code for a megacorp
somewhere for $60K a year, and in fact the bulk of programming jobs in this
country are much closer to that than they are to your archetypical Silicon
Valley $200K job. This concern goes double for the Hacker School phenomenon,
since they smell more opportunistic and get-rich-quick-y than traditional
4-year programs.

~~~
codesuela
exactly on point in my humble opinion, people who are in it soley for the
money will probably end up in these enterprise (Java comes to mind) jobs where
it is not looked down uppon if you don't code in youre spare time.

And I don't mean to judge, the latter gtoup may have a healthier job-hobby-
life relationship than me.

------
jqm
One of the most interesting (and to me) significant points about this is the
amount of non-CS majors taking CS classes.

My father, in his 70's, has run several large corporations over his career. We
discussed this and he sees no need for "managers to learn to program". His
view is that they can just hire computer people. I disagree. My experience is
that if you don't know the basics of programming it's hard to know what to
even ask for or what is possible. To say nothing of all the time saving
personally writing little half hour scripts to do this and that.

My opinion is that anyone who is serious about a professional career involving
information is very well served to know a bit of programming and handicapped
if they refuse. I think maybe this realization is finally hitting home with
others as well and this is partially responsible for the trend we are seeing
(to say nothing of the perception of vast fortunes possible in startups).

~~~
RogerL
I see this all the time. We have plenty of people that work _with_ computers,
but don't program them. Their inability to write a 5 line script, or even
realize they could walk into a dev's office, explain what they want done, and
have it in their email inbox before they can walk back to their desk has them
poking away in File Manager, dragging and droppings "opps, didn't mean to do
that, where did that go", just wasting their lives away. Well, 'waste' is an
exaggeration, but you know what I mean. They are doing something mundane,
tedious, and utterly unnecessary, and they always express surprise and
gratitude when I offer to knock off a script for them.

------
vezzy-fnord
In relation to "coding becoming the next literacy" and having demographics on
people who know how to code...

What use does a mere "learning to code" actually have to most people? How do
we measure fluency in "coding"?

Think about it. A crash course on basic procedural constructs like loops,
variables, functions and maybe some simple exercises where one makes use of a
language's standard library is not particularly useful. Even the conceptual
knowledge that one gains is relatively minimal.

It's not like the huge percentages of people "knowing how to code" will do
anything meaningful with it. Why? Because they wouldn't have the skill.

Many discussions revolving around compulsory code education seem to completely
ignore the tons of domain-specific knowledge one requires to put coding skills
to any real use. It's likely that little of the "code literates" will ever
contribute to an open source project, for instance.

This is because besides code, you have (potentially): a build system,
continuous integration, documentation generator, actual protocols that must be
understood (HTTP, DNS, FTP, etc.), use of OS-specific system calls and
constructs, general knowledge of memory layout, knowledge of system
administration, etc.

These are merely condensed into a nutshell. Code by itself is of little use
without actually knowing how computers work in general, which is no small task
to comprehend, and requires tons of domain-specific knowledge as to the many
abstractions we have created around software and hardware. It's a perpetual
learning experience. A person who has learned rudimentary C is of little use
in any serious project that requires knowledge of the POSIX and/or glibc API,
for instance.

It's a completely meaningless metric in general. Most people will just do some
basic imperative coding in a highly abstracted knowledge with no real
conceptual understanding of what actually goes on, and promptly forget about
it. Maybe they'll remember how to write a recursive Fibonacci sequence
procedure.

Software is more than code. It is complex and multi-faceted. I can see blind
coding having some uses for things like VBA macros, but those can be picked up
by individuals on a case-by-case basis, when and if they need them.

------
thejosh
Sure the interest is high, but what's the dropout rate for people, and what is
the rate of people switching to other majors?

~~~
yulaow
Exactly this. In my university in the first year there was 2750 students.
After first semester only 323, second year 107, last year 82.

Let's be honest, money cannot motive you enough to try to learn for a job for
which you have no passion.

~~~
xur17
What do the graduation rates look like, or is it too soon to tell?

------
benpbenp
What I'd be interested in, if anyone has a perspective to share, is whether we
should be worried? Will the job market change? Will our salaries stagnate or
fall?

~~~
ktran03
Personally, I think we are at a peak for outrageous programmer salaries. The
market is currently correcting itself.

~~~
kimdouglasmason
Programmer salaries aren't outrageous. Most peoples' real incomes have
declined substantially, making programmer salaries look high. US GDP is $15.68
trillion (2012), with 146 million people employed (April 2014). That's
$107,000 per worker. US median wage is around $27,000.

Programmers are one of the few occupations that have managed to retain
bargaining power.

Compare the lifestyle (e.g. house, vehicle, ability to have a single income
household with kids without getting into massive debt) a programmer in the Bay
Area can buy right now compared to the lifestyle a plumber could buy forty
years ago. The plumber of 1974 comes out ahead.

The only reason everyone hasn't noticed this huge decline is because the
inflation numbers are rubbish and everyone has been kept distracted by wedge
issues and wars.

~~~
streptomycin
Are you implying that GDP per capita and median wage should be the same?

~~~
kimdouglasmason
By no means. I believe that having GDP per worker be 4x median wage is
socially and politically dangerous, and results in persistent high
unemployment because of lack of demand.

The sweet spot is somewhere in the middle. Capital needs a return, but we've
seen current levels of wealth inequality in the past and it means bad things
for the average person.

Edit: Another way of stating my position is that I'm against extreme income
inequality. That does not mean that I am in favour of perfect income equality.

------
capkutay
Before people start preaching 'coding is the new reading/writing', let's get
to high school CS requirements first (like any other common science/math
class).

Also, I think there's a sweet spot between a full-on academic CS degree and a
level of software proficiency to make someone useful on the job. Whether it be
data analytics or basic web development, you don't NEED to know the ins and
outs of automata theory or compilers to be a 'coder' with hands-on skills.

~~~
webmaven
The point of 'coding is the new literacy' is that we also need _grade school_
CS standards.

------
rch
If I was going into college this fall, instead of 15+ years ago, I'd focus on
EE, ME, or Physics and just cherry pick advanced CS courses on the side.

~~~
jqm
If I was going to college this fall instead of 20 years ago I would get a
tattoo on my arm reminding me that extra classes and networking pay off better
long term than drinking beer and getting laid.

But... I'd probably do the same thing all over again anyway.

~~~
rch
Conferences are better for that than college, all things considered, and the
networking is better too.

~~~
jqm
Good point. And, the beer drinking is often at conferences too. The getting
laid part...eh...well... Go to college kids! It's important and you will learn
all kinds of great things.

------
sytelus
In an interview just couple of days ago Knuth said something like 2% of human
population finds this new "computational thinking" as native. Now we have 10%
plus graduates coming out of Princeton and MITs in CS!

But what caught me is this line: _Students are ﬁguring out that all of the
STEM jobs are in computer science_

That pie chart is probably the most striking manifestation of "software is
eating the world".

------
zaroth
It is so important to foster and support the growth of the CS curriculm, at
all levels but at the university level especially. We need these classes to be
well taught, and well funded. If 1000 students all want to learn the same
thing, that's a lot of funding to do some really interesting and amazing
things. This is not about provisioning more lecture halls!

The way students pick classes is a lot different from the way that a consumer
spends money. You're already committed to spending a certain amount,
especially if it's not impacting your major, class selection is a different
set of variables. But I'm sure the surge in CS enrollment is at least
partially mirrored in a broad increase of CSed spending overall.

What leaves me nervous is, I wonder if the tool set is really ready for mass
adoption. The most direct effect of massively increased enrollment, and
massively increased class size, will be overall more people who know how to
code, which would be great, but also significantly lower median coder ability.
Which will have a large impact over time.

------
yen223
Do these trends hold in universities outside of the US? Because from where I
come from at least, computer science is still as un-sexy as ever.

------
lsc
Didn't this also happen in the mid-to-late '90s, with the first dot-com boom?
I mean, I don't think that the proportion of CS majors dropped precipitously
after the crash, but the rise certainly seems to correlate with demand for
programmers.

It makes a whole lot of sense, really, except that if you started your degree
in 1998, you were going to graduate right into a crash.

~~~
hga
"[...] _I don 't think that the proportion of CS majors dropped precipitously
after the crash..._"

MIT's EECS enrollment more than halved, after being 40% of the undergraduate
body for more than 2 decades.

~~~
lsc
man, I wonder what happened to those guys? I was able to remain employed
through the dot-com crash, but I know many people who were obviously better
than I was that did not. It seems like it would have been brutal for a fresh
graduate with no experience in '01.

~~~
hga
A lot of them that were strong in math, getting the mostly EE or enough of
both degrees, would have gone into finance as quants
([https://en.wikipedia.org/wiki/Quantitative_analyst](https://en.wikipedia.org/wiki/Quantitative_analyst)),
which was a desired initial destination for many of them anyway.

Don't remember too much about the mostly CS track ones, I think it was fairly
grim; I can remember at least one major, Fortune 50 or so company, rescinding
offers they made one year (which obviously poisons the well for some time; one
reason Kodak failed so badly in Japan). I couldn't remain employed during that
period (had the particularly bad luck of joining Lucent at the beginning of
2001, just as it began its descent from 106,000 employees to 35,000).

------
platz
What happened in late 2009? I saw the same inflection point in those redmonk
github usage graphs.

~~~
chroem
There has been a cultural shift lately from "Ha! Those people are nerds!" to
"Man, those guys are going to make so much money.". I would argue it has a lot
to do with this movie:

[http://en.wikipedia.org/wiki/The_Social_Network](http://en.wikipedia.org/wiki/The_Social_Network)

Also, as a student at the University of Washington, I would like to note that,
anecdotally, the quality of CS students has dropped through the floor. I'm a
mechanical engineering major, but I often find myself helping my roommate with
his CS homework, even though he's probably in the top five percent of CS
students here. These people don't even understand basic things like what
bytecode is.

------
thewarrior
Programming is not going to be as lucrative a few years from now. As soon as
interest rates rise in a few years the startup boom will cool down a bit and
the influx of new programmers will really depress the earning potential of the
field.

~~~
jqm
Probably. But longer term software is only going to become increasingly
important. Some refugees from the start up implosion (if there is one) will
move on to other careers in other fields. Some will adjust and keep right on
developing whatever comes next. There may be a bubble right now. But, it has a
grain of truth to it. And that is... computing is changing the world.

------
enrmarc
Here in southern Europe is totally different. $90K for a new grad? That's
incredible. Here, the majority of new grads earn about €15-25K. Take a look:
[https://www.infojobs.net/madrid/analista-
programador-j2ee/of...](https://www.infojobs.net/madrid/analista-
programador-j2ee/of-i26ae3e603043659a932ada3aecb3f8)

(Says: J2EE Analyst with 3-5 years of experience and a lot of another
requirements => €27-30K)

------
novaleaf
This slide deck is misleading. CS is supply constrained, not demand.

I went to UW and wanted to major in computer science. At that time (1997),
they accepted 80 students per year into the program.

80.

Guess how many students applied to the program every year? More than 1500. The
supply was/is so constrained they do not consider anybody with less than a 3.9
GPA.

Even today, as per the slide deck, These schools accept 400, 800 students. How
many do you think are applying?

~~~
hga
That could be an "it depends". I can believe a lot of public universities have
quotas on CS undergrads (and other majors, especially ones that require labs,
and until recently as these things go that was a big issue for CS), but it's
the mark of a good private school that if an undergraduate wants to major in
X, they'll find a way. CMU is the only exception I know to this, has a quota
of about 135 CS students the last time I checked.

According to this page [http://www.statista.com/statistics/183995/us-college-
enrollm...](http://www.statista.com/statistics/183995/us-college-enrollment-
and-projections-in-public-and-private-institutions/) , as of 2011 61% of
students enrolled in public colleges. That's for students at all levels,
however (you can use this page to subtract those, but it's breakdown is by
gender: [http://www.statista.com/statistics/236654/us-post-
baccalaure...](http://www.statista.com/statistics/236654/us-post-
baccalaureate-enrollment-by-gender/) ).

------
lispylol
What is the biggest reason for this growth?

~~~
thrush
A lot of commenters referred to money being the biggest driver but I think
that's only a half truth. Rather, job security seems to be the most logical
reason to study computer science. No matter who you talk to, in any field,
there's a huge consensus that having knowledge and experience with computers
increase your employment prospects (I'm sure this could be proved by scanning
job boards). Combined with the current job market and popular opinion that
college may not be worth it (especially for non-STEM majors), I'm not the
least bit surprised that CS has gained such an enrollment.

~~~
osmnshkh
Anecdotally, my experiences confirm this. My brother, who before, had never
even tried to program, is currently a CS major. Most of his friends are too.
They don't care about startups or startup jobs, they want secure jobs at big
companies.

------
ycmike
Love the "have a beer while the students use Coursera" approach. As a student
this would be amazing.

------
marincounty
A note to poor kids, or kids who don't want to rack up huge student loans
listening to some some Blow Gard who didn't stay current, and spends a month
talking about history of CS. Many of you can learn the employable CS skills on
your own, with the help of the Internet, of course.

------
thesimpsons1022
This type of thing is very unsettling to me as a second year CS major. I might
be one of the highest achievers in my college, but how am I supposed to
compete with the thousands of kids graduating from MIT, Stanford, and Harvard?
really scares me.

------
pirateking
One of the concepts I have been thinking about for an education system is
based on this triad:

\- Symbol (mathematical languages / abstract interfaces)

\- Human (natural languages / human-human interfaces)

\- Machine (programming languages / human-computer interfaces)

Any particular subject or area of study is taught and learned using all 3
approaches taken together. Used as a foundational educational framework, this
system could have potential to help cross discipline study through the
assimilation of fundamental aspects of computer science, cognitive science,
linguistics, and math into other fields. This also allows people to skip
learning these topics as unpleasant prerequisites, which may not be well
integrated with their field's particular goals.

Existing universities and schools will not be able to transition to these
sorts of new holistic systems. Entirely new systems based on modern first
principles must be created for the future of education.

------
zan2434
The obvious answer is specialization. Computer science needs to be split, at
the very least, into theoretical CS and Software Engineering. From there, both
CS and Software engineering will need to contain specializations as well.
Software Engineering will splinter into Networking, Javascript Performance
optimization, Compiler optimization, etc.

------
justinem
Professionals who talk about this stuff never mention that learning computer
science is a lot like learning a foreign language. The people who learn
something in their early years tend to have an easier time learning new
computer skills as they age. I wish more parents knew this.

~~~
jgg
Programming and graphic design perhaps (personally, I've yet to meet someone
who programmed as a child who was better than a good programmer who learned
later), but I really doubt there is much of an advantage to teaching your
child Depth-First Search.

I don't really think CS is like learning a foreign language at all. The
advantage for languages supposedly comes from the fact that we are hard-wired
to acquire language at a specific age range ("Critical period hypothesis").
The biggest advantage is for infants, which steadily tapers off until puberty.
I doubt we're hard-wired to acquire CS the same way - programming or theory.

~~~
justinem
The 'critical period' hypothesis is not the only theory and I don't believe
its a useful one.

I think you're misinformed if you think brain development can be said to taper
off in any way over 18 years. There is pretty clear evidence that it happens
in distinct stages.

I think the real mechanism is that learning symbolic logic early causes a type
of confidence that adults without find hard to acquire. Of course, my opinion
doesn't really count here since my Karma is negative one now.

~~~
jgg
_I think you 're misinformed if you think brain development can be said to
taper off in any way over 18 years._

That's not what I said, and the advantage you talked about supposedly does
taper off until the child is around 12.

(edited for clarity)

