Live data from Hacker News

Why do so few people major in computer science?

danwang.co

191–200 of 627 posts

Re: Why do so few people major in computer science?

#191

Because universities continue to place a heavy emphasis on math, specifically calculus, as a gatekeeper. Calculus is useful but I don't believe it's necessary for a CS degrees.

but it's true for math itself also.

you're missing a point here.

Re: Why do so few people major in computer science?

#192

Slight note about Dan Wang picking 2005: That was the peak of CS degrees awarded because it's 4/5 years after the height of the dot-com bubble. So the upward bump in the mid-2000's is somewhat explainable as an anomaly. I think his point 1 is underrated. CS degrees are flat because aptitude is flat. You can compare CS degrees to other degrees over time at nsf.gov: https://www.nsf.gov/statistics/2016/nsb20161/#/report…

What's interesting to me about that data is the high rate of biological and agricultural sciences grads, relative to all other sciences. CS grad rates seem to fall right about where they should on XKCD's Purity Scale [1] (if CS had been included in it). 2004 was an outlier for CS, but it has reverted to its mean since. But bio and ag sciences are beating out Psychology, which is a bit of a reversal. Biology isn't eas…

Although biology and organic chemistry are much harder then CS anything, they can be learned in school and from school resources only. No one expects you to already come in already knowing how to code or configure linux. If you are good students willing to work, you will learn them, period. With cs, you are expected to already know a lot that was not taught in school - meaning that all kinds of cultural and social effects play the role (who your parents and friends were).

Also, there is a lot less myths about biology around. Nobody assumes you have to be some kind of nerd to learn it, nobody assumes there is special in-born ability for it totally different from all other kinds of intelligence (like is often implicitly assumed even with things like operating system configuration), there is much less cultural bullshit about "hackers and their culture" around.

Re: Why do so few people major in computer science?

#193

Earlier quoted context omitted.

Just a vanilla computer science program. I combined it with a math major. I think the program at my uni was especially soft; there were no math courses at all. I suspect it's a bit better at a 'technical university' (I do my masters at one). I think the electrical engineers at my new uni are on par with the computer scientists at programming (which is basically the one and only skill you learn in my CS program), or e…

No math is crazy. Mine required multiple semesters of discret, probability/stats, and up to calculus. My school was a liberal arts college, and still required a decent amount of math for the undergrad CS degree.

I have to echo this. Computer Science is essentially a Mathematics field, not having extensive math in the major doesn't really make any sense. In fact, very little of the major after the Freshman of Sophomore year should even be about learning to program. It's like having a B.A. of Computer Science, or a B.S. in Literature, it doesn't really make any sense and should probably best be called some other kind of major.

I've known a few folks who had these kinds of degrees and I'm not sure their schools did them a service graduating them without a proper curriculum. At most schools with C.S. majors, they have alternative majors for people who don't want to do the intensive Maths and Sciences and they're usually called something like "Information Systems" or "Computers for Business" or similar.

Re: Why do so few people major in computer science?

#194

Earlier quoted context omitted.

Re: the choice of 2005 as origin, if you rebase on 2009, then CS degree growth looks on par with other STEM fields. Thus I think is's misleading to say CS majoring is "flat". At a certain end-to-end view it is, but that obscures that it crashed, and is now rapidly growing, not that it's been stagnant and unchanging. In the early 2000s it was widely perceived as the economically smart thing to go into a technical fiel…

>if you rebase on 2009, then CS degree growth looks on par with other STEM fields. Thus I think is's misleading to say CS majoring is "flat". No, what you described is called "misleading with data" at best and "lying" at worst. There is a clear dip in CS on that plot that is suffered but none of the other points. Moreover, the growth is below the rate of increase in college graduates.

The clear dip in CS is what the rest of my comment is about. The point is that the entire premise of the original post, which claims CS enrollment is "flat" by cherry-picking a specific benchmark year and ignoring huge movement between that year and the present, is indeed "'misleading with data' at best", because CS enrollment is not "flat". If you pick an earlier or later year, you get different narratives.

The post then spends a bunch of time musing on why CS enrollment supposedly doesn't respond to economic incentives, even though responding to economic incentives, i.e. rising and falling together with tech booms and busts, is precisely what the data shows it doing.

Edit: better said here, https://news.ycombinator.com/item?id=14441423

Re: Why do so few people major in computer science?

#195
Dan nearly solves his own riddle with possible explanation No. 2: "You don’t need a CS degree to be a developer." He just doesn't spend long enough probing this issue.

Majoring in computer science is like majoring in English with hopes of becoming a writer. Or majoring in economics with hopes of starting a business. You'll get all the theory. You'll mingle with all the lifers. But because you try to come into the guild at age 18, there's a risk of narrowness/tunnel vision.

The people majoring in stats, math, physics, etc. may work on more interesting problems during their college years, or develop a more holistic sense of how to come at big new areas of learning. Meanwhile, the opportunities for non-CS majors to pick up programming skills via electives or non-classroom projects are huge.

Where Dan sees a problem, I'm seeing a healthy diversity. The U.S. is able to come up with enough software talent as is, drawing on many different pathways. Why insist that everyone be trained the same way?

Re: Why do so few people major in computer science?

#196
post #173

The grief factor of learning to code is on a different scale to every other major. One missing semicolon will take your whole tower down, and you realise this in the first day of practical exercises. Even if you are of the opinion that CS is math, and coding doesn't come into it, you will hit a coding wall early on. In fact, every exercise in CS has this problem. You add a new thing (eg inheritance), and it breaks. B…

> The grief factor of learning to code is on a different scale to every other major. One missing semicolon will take your whole tower down, and you realise this in the first day of practical exercises. I would say that this basically screams "badly taught programming". Missing semicolon does not take down work, it just needs to be put back in and ide should help you. "Even if you are of the opinion that CS is math, a…

> I would say that this basically screams "badly taught programming". Missing semicolon does not take down work, it just needs to be put back in and ide should help you.

The point is that the incidental complexity is there, and that it's something that has to be dealt with, to even begin to get to the fundamental part of the problem.

That you have to be using the right IDE (and learn how to use it, and learn to recognize it's attempts at helping you with the problem) does not refute the point, it's a perfect illustration of it.

CS isn't harder. CS has high incidental complexity, the crap you have to deal with just to be able to work on the problem within a real world environment.

Re: Why do so few people major in computer science?

#197
I haven't seen a mention of this, but what about the rise of CS-like degrees that people have been getting. Many colleges now offer "software engineering" and related majors. In addition some colleges have recently now CS into the Engineering department. Could that be messing up the data?

Re: Why do so few people major in computer science?

#198

Earlier quoted context omitted.

> Every time there was an opportunity to learn something cool ... it was glanced over as 'technical details'. That's interesting. The most common complaint in my program from students was that we weren't actually learning how to program. Actually learning how to use a language was considered (for the most part) a "technical detail", and the course was very heavy on algorithm analysis, theory of computation, math, how…

We followed a very different program then! Maybe the one you described would be better for me. In the program I followed, students learn how to program (which I already could), and that's about it.

That's unfortunate. If I had to guess, I think your college probably responded to employers telling students they didn't have enough experience programming, and student alumni relaying this to the school, which might have caused them to overcorrect. What still strikes me today about my college experience is how much we didn't cover, or only touched lightly on, and the course was full of theory already. CS is a very wide topic, so it's natural that some things won't get the attention they deserve. As others have noted, CS probably deserves to be split into core and specific disciplines like engineering is. That would exacerbate the problem of certain topics not being covered, but at least you would be able to steer that to some degree so that you could go a little deeper in what you considered important.

Re: Why do so few people major in computer science?

#199
post #124

I would guess the issue is prestige. Software development, like engineering in general, is not a top-tier profession in the US. The actually top-tier professions are doctor, lawyer, and banker/financier. Software developers, like accountants, are well paid but second-tier in status, geeks who worry about the details rather than distinguished professionals who call the shots. Interestingly, the three professions I men…

I disagree. The things you say may have been true decades ago, but are not entirely accurate today. The US's banking industry's reputation took a big hit in 2008, and it has become increasingly common for top university students to head into tech over finance since then. Not to mention, firms like Goldman Sachs are replacing many of their traditional traders with software engineers. Outside of top law schools, the pr…

The things you say may have been true decades ago, but are not entirely accurate today.

OK, I'll buy there's something to that. But keep in mind that students' choices aren't made purely with a clear-eyed understanding of how things are now. They are made in part based on an understanding built up over time, some of which reflects how things were when they were when growing up. In particular, parents and other advisers who have a lot of pull can easily be acting on the basis of a decades-old view of the world. So even if things are shifting, current actions could well be lagging behind.

Re: Why do so few people major in computer science?

#200

The grief factor of learning to code is on a different scale to every other major. One missing semicolon will take your whole tower down, and you realise this in the first day of practical exercises. Even if you are of the opinion that CS is math, and coding doesn't come into it, you will hit a coding wall early on. In fact, every exercise in CS has this problem. You add a new thing (eg inheritance), and it breaks. B…

The premise of the article is wrong. From 2009 and until 2015, the number of CS grads almost doubled and any of those economics majors could have seen that in the graph, even if their essays are "basically bullet points" and their field is dead simple. They could also have told the blogger that causality might go the other way; Salaries are high precisely because demand is bigger than supply. If (or when) high salaries cause more people to study CS, salaries will drop unless demand rises even more.

So we have a huge increase in CS majors in just 6 years. What could be the explanation for that? I would say that CS has become both more rewarding and more accessible in the last decade.

More rewarding because with better browsers, and with smartphones, you can simply do more stuff. And those who graduated in 2009 started studying just before iPhone, before Google Chrome, HTML5. Long before Tesla and SpaceX were household names, long before we again believed in AI and robots. The field has simply become more and more interesting.

More accessible because of Codecademy, Udacity, Udemy and the rest of the bunch. 10 years ago, learning to code meant reading books that were already outdated when you bought them and spending days in frustration trying to install whatever language you had decided on. Before you did as much as a hello world. Unless your friends knew how to code or you were enrolled at an educational institution you didn't have access to tutors. Today, you can get great tutorials online, and you can learn JS, python and many other languages without the hassle of installing anything. And once you are up and running, there are a plethora of libraries, modules, frameworks and ways of deploying which mean that you can do in weeks what before could take years.

Post reply on HN