Live data from Hacker News

Why do so few people major in computer science?

danwang.co

291–300 of 627 posts

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

#291
post #268
post #169

Earlier quoted context omitted.

Finance may have taken a hit recently, but if you're in the northeast (NYC, Boston, etc.), it still has much higher prestige. It also has a much, much higher compensation ceiling. The same goes for lawyers working in cities. Many law students are underemployed, but overall there's a much higher compensation ceiling. Management consultants weren't mentioned, but a large percentage of top grads end up there, being groo…

Also: how many of those professions simply assume that anyone good will be doing something else by the time they're in their 40s? A 50 year old lawyer or doctor might choose to be more supervisory but nobody is going to think they're a failure if they aren't, and their experience will be valued rather something they have to prove isn't holding them back. > Many of the Ivey League students gravitating to tech are like…

Exactly. In good careers, the experience that comes with time is counted as an asset. If you're in a career where you're considered washed up by 30 [1], you'd better be standing in the middle of an arena and surrounded by 80,000 screaming fans.

https://venturebeat.com/2007/03/26/start-up-advice-for-entre...

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

#292

Earlier quoted context omitted.

The difference with math is, you can get partial credit.

There's no reason you can't receive partial credit in CS. If assignments are being graded solely on whether or not the output is correct, I'd say it's a flaw in the curriculum. FWIW, I do not remember this being the case when I studied CS in the mid-90s.

It was a combination for me, depending on the lecturer. I had some papers where up to 15% of the paper purely depended on output being 100% correct (you lost percentages each time it failed, and got 0% if it didn't work in the end).

I also had some papers where your grade was based around functionality, where there were several milestones, so as long as you got it partially right, you got some marks. For instance, in one paper, we had to implement RIPv2, but we got partial marks if we only got parts of the spec working.

Then there were papers where you had a final goal, but even if your code didn't even compile, they'd take a look at it and if you were on track, you'd get partial marks. For example, we had a paper where we had to control a helicopter reading data from a rotary encoder and other inputs, and use PID control. We had our PID control backwards so the thing wouldn't even fly, but the code was otherwise correct.

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

#293

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…

"One missing semicolon will take your whole tower down, and you realize this in the first day of practical exercises." Isn't that what makes CS easier? You get immediate feedback. You know if it will be right or wrong before you even turn it in.

You know if it will be right or wrong before you even turn it in.

Most student-written test suites I've seen are not nearly this thorough.

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

#294

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…

Re: the Wordsum test, I can't believe it is seriously used to assess IQ. If we assume that all participants know all of the words used, then maybe it would have some merit. But so many of the words used are either archaic, little-used, or culturally specific to North America that you could only reasonably expect a well-read and/or well-educated (and therefore wealthy) American person to know them.

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

#295

Earlier quoted context omitted.

Given the gender skew amongst high-school programmers, this is almost equivalent to saying "women should not be starting a CS degree". It also further entrenches the advantages of people who come from affluent backgrounds. Given the success of some short coding bootcamps, it isn't inconceivable that novices could be brought up to speed within the first semester. We don't expect law students to have been amateur lawye…

> It also further entrenches the advantages of people who come from affluent backgrounds. If you can afford a video game console, you can afford a raspberry pi (or equivalent.) > We don't expect law students to have been amateur lawyers in high school No, but we expect math majors to have done some math before they get to college. I don't disagree with you that most people can be brought up to speed in less than a ye…

> If you can afford a video game console, you can afford a raspberry pi (or equivalent.)

Right. This type of democratization is EXACTLY what allowed me to climb the social ladder out of the rural midwest into a Top 15 university and then Silicon Valley. As a teenager, all I needed to teach myself coding and advanced math was free time and an Internet connection.

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

#296
Here's why I switched out of a CS major in 2009 as a sophomore (to math) after being convinced that I'd major in CS since high school.

* Feeling that I can learn programming on my own, and wanting to experiment with something I wouldn't otherwise teach myself in college

Of course CS != programming, but in my head at the time I saw them as the same. I'd been teaching myself programming since I was a kid, and I knew I'd be able to teach myself whatever I needed to know if needed. Thus I felt that it made more sense for me to study something totally foreign to me that I wouldn't otherwise learn on my own.

* Fear of living out the rest of my life like the movie Office Space, everything being so damn predictable

This was before software engineering was considered "cool" or had any prestige. Being a software engineer and sitting at a desk all day in a gray cubicle writing enterprise software or whatever sounded boring as hell. As a socially awkward introvert with no other skills, I felt that majoring in CS would inevitably lead me down that comfortable but unfulfilling route, which frightened me. It wasn't just the fear of living a boring life, I just hated the predictability, knowing that I'd never be more than some boring code monkey with a decent salary (though not finance/doctor/lawyer money) and boring job (at the time I clearly knew absolutely nothing about entrepreneurship).

* Not feeling passionate about programming anymore, and feeling like I'd never be able to compete with all my classmates who are so damn passionate about it (and not caring anymore)

A lot of people in the field seemed to be super passionate about programming, coding all day and all night. I had gotten into it at 12 years old because I wanted to make video games, but as my interest in video games was receding, I realized I wasn't really as into it as I thought I was. I felt like there was no way I'd ever be able to compete with my competition who lived and breathed programming.

* CS is boring

This was a huge revelation for me. On one hand I loved programming and thought it was awesome that I could do what I considered fun and get school credit for it. But at some point I realized that although I love the programming part, I found the CS I was being taught mind-numbingly boring. I couldn't care less about sorting algorithms, binary trees, graph traversal algorithms, and most of the other abstract crap I was supposed to learn. I just didn't see why I had to know that stuff.

I've realized that I get super interested in this same material when the knowledge is directly necessary for something I'm trying to build, but otherwise I couldn't care less.

* CS is hard

I thought math was easier, which was honestly part of the reason why I switched to math. Given the obsession companies have on GPA, it was a logical decision.

* Fear of becoming like my classmates

I was a socially awkward introvert, and I wanted to be social and extroverted. I don't know how it is now, but at the time the CS department had the highest concentration of socially awkward introverted weirdos, not to mention the complete lack of women. I remember working in the CS lounge once and facepalming at cringey jokes. I didn't want to be around these losers lest I become one of them.

* Wanting to work on more important problems

I think the industry has a tendency of thinking that software engineering problems are the most important problems facing humanity right now.

For some reason I thought majoring in math would give me the toolkit to solve the most important problems in the world. Maybe I was too brainwashed by those movies where some genius in a flash of revelation scribbles some equation on a whiteboard.

* Wanting to make a ton of money

Software engineering money was good, but I didn't like how quickly and steeply the money topped out. I didn't want to enter an industry knowing that my compensation would cap out at $200k/yr (I don't think the tech giants were dishing out $300k/yr all-in comp packages to new grads back then, or if they were I wasn't aware). I wanted the sky to be the limit, which is why I became interested in finance (again, I wasn't aware of entrepreneurship at the time).

---

Of course going back I probably would've majored in CS because the interview process in the industry skews towards CS knowledge, and math eventually became boring and too abstract and isn't as relevant.

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

#297
I can share my personal story.

I've always been computer savvy and would have loved to have gone into programming, now I'm trying to prep to go back to school for computer science, so I think it may be relevant.

But even being good with computers I was never really a good student in high school, and due to moving around, parents divorcing etc, I had huge gaps in my math education(I still don't know my multiplication tables). To the point that I never really thought I was good at math until I got to college.

By the time I got to college though I had already put years into becoming a graphic designer, it was my career path and I could graduate faster if I stayed on it. So I did, because I was so close to finishing. I've regretted it ever since.

Now I'm older, wiser, full of regret and better at math, so now I'd love to go back to school or attend a boot camp, but I'm legitimately broke, and I have no idea how to pay for it. So I keep trying to learn on my own, from the occasional book or youtube video.

TLDR: Math education was lacking and required, I was already on a career path, have regretted it ever since.

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

#298
post #118

Earlier quoted context omitted.

Depends what you mean by hard. I went into computer science and I got the highest grades in statistics at a university which is in the top 10 worldwide for statistics. In fact, I got perfect on the final where the average was a fail. I did "OK" in comp sci (deans list, but no special placement other than that.) Stats/calc/algorithms weren't hard, I needed practice. I did every question in every textbook and followed…

What you see with statistics/calculus is extremely superficial compared to the realm of higher mathematics. Exceling in that is a poor indicator of ability to succeed in any proof-based mathematics coursework. As someone who had significant exposure to the world of mathematics for a working professional (4 years in an excellent PhD program) and who codes for a living, I find that what I did in grad school was multipl…

Computer science is proof-based.

Funny how both of us are dismissing stuff neither of us did in school :)

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

#299
post #282

Earlier quoted context omitted.

I believe that being in the "engineering mindset" is at odds with what many people are used to. I think it's the culture that some see and get scared away from, even if that perception isn't 100% accurate. People interested in fixing CS "inclusivity" should address this first.

Given that computer science isn't engineering (they are distinct but different disciplines), can you elaborate on what you mean by the engineering mindset?

Can't speak for OP, but the engineering mindset usually comes from those of us who go into the program that tend to be very mathematical and logical, while being obsessed with figuring out how things work. When a group of engineers sits down at a table to eat lunch, they could spend an hour arguing about how the restaurant could be more efficient...etc. These kids are often used to independent problem solving and don't need to have their hands held. We had an economics teacher in college who was famous for asking the engineers to stand up on the first day of class and then stating that they would be excused from the finals as they would all have above a 95 and not have to take it. The only majors that get the math exposure we do are well mathematics and physics. The difference is we also have to do a lot of concrete things like fabrication, CAD, circuit design, and almost every other class gets some level of programming, so your entire world resolves around fixing things and applying problem solving techniques. They parody this in Dilbert, but engineers are weird birds. Comp Sci is similar in a way when you have a student coding for 12 hours straight as they're in the zone and coding an elegant solution. They aren't entirely dissimilar, but engineers often have a more formal math background and will attempt to approach a problem from that side. Someone with a PhD in math will be so far ahead of me, that I'll barely be able to catch a glimpse at the kinds of problems they solve. We do more practical things like design engines and stealth technology, while they work on things like the millennium problems. I once attended a lecture by a notable math professor on the Riemann Hypothesis basics. 1 hour in and I still didn't hear the problem properly stated. He said "the reason the riemann hypothesis is important is because it is the reimann hypothesis" wtf?!? Anyway, although it is somewhat stereotypical, each major seems to have a kind on niche person that is attracted to it.

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

#300
post #192

Earlier quoted context omitted.

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 ef…

I haven't personally taken organic chemistry, but several of my friends who have taken both organic chemistry and algorithms have said that algorithms is by far the harder of the two. So I tend to disagree that biology and organic chemistry are harder than anything in CS.

Have degrees in both and agree. The amount of work require to get a B in data structures would get you an A+ in biochemistry.

Physical Chemistry on the other hand...

Post reply on HN