Live data from Hacker News

Why do so few people major in computer science?

danwang.co

471–480 of 627 posts

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

#471

Earlier quoted context omitted.

On the other hand, I took a theory CS course in college, and all of the pure math students found it extremely easy with predictable lectures and short obvious homework assignments, while all of the programming-since-they-were-5 but not too mathy students were in way over their heads, and really struggled a lot. It’s all about what you know...

I loaded up with theory classes in college precisely to stretch myself and learn more of the difficult things that I wasn't yet already competent in. I'd been programming since I was 9, and could handle the programming projects just fine (more easily than most other students), but the theory classes were more challenging and I wasn't going to learn that stuff if not in school. It ended up being quite helpful for Goog…

I didn't go to Google but I can relate to your story. Having reached CS courses after tens of thousands of hours programming was very enlightening. Indeed, the CS course layed down all my hands-on knowledge upon a very nice theoretical foundation. I clearly remember saying to myself "ahhh, all that what I've done so far, now i really get it". I had that feeling when studying algorithm performance (with math proofs) and when studying the Scheme programming language (with all the fun stuff : call/cc, tunks, curification, CPS, immutability, pure function, lazy evaluation,...) This + my hands-on knowledge made me a very enlightened dev :-)

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

#472
post #357

Earlier quoted context omitted.

I should have thought about beer money. But I was such an introverted geek. I do remember watching other people trying to figure out how to use a mouse or the most basic stuff. I've already studied algorithms and data structures and had a paying programming job. Most of the CS work seemed trivial but I did learn some math. The math did get hard so the degree was definitely not a breeze. Even with CS there were areas…

If anything, it's a disadvantage IME: the implicit lessons of the iDevice are that the world is made of non-user-serviceable black boxes that cannot be recombined to make anything substantially different than what you started with, and if one does ever manage to peek under the hood (and why would one do that, any more than they do with their fridge or their TV?) one sees only immutable non-deconstructible complexity.…

This is why I think it should be mandatory for CS to use free software.

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

#473

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…

There is another problem. Computer Science just doesn't sound that interesting. Say you could learn to build aircraft engines, understand how the economy works (which has a huge influence on people's lives) or learn how to make a computer print "hello world" on a terminal screen and how to efficiently store data. Most people wouldn't choose the latter. It's actually quite hard to describe what computer science is and…

Say you could learn to build sites like facebook or google, understand how the internet works (which has a huge influence on people's lives) or learn how forces bend metal and how to calculate some break even point. Most people wouldn't choose the latter...

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

#474
post #193

Earlier quoted context omitted.

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

>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.

My undergrad degree was a BS in Computer Information Systems, and I still had a ton of math. The main change from CS to my degree was replacing the higher end maths like Calc2+ and Physics2+ with business oriented courses like finance and economics.

I graduated from undergrad in 1999 and I think since that time colleges have tried to make CS more 'friendly' to non-geeks. This has unfortunately meant lowering the math requirement.

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

#475
post #200

Earlier quoted context omitted.

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

Yes, I'm sure there are other factors but the graph tells a pretty simple story. Numbers declined from 2005-2009, which means students that entered college around 2001-2005 -- students that were in high school during the dotcom bubble burst and aftermath. CS may not have seemed like an attractive field at the time. Over time the state of the field has recovered, and as you point out continued to grow and get more int…

It's easier to see the bubble with the original data https://nces.ed.gov/programs/digest/d15/tables/dt15_322.10.a...

Interestingly there is also a giant bubble at 1985-86 which wasn't match until around 2010. Looking at http://www.computerhistory.org/timeline/1982/ shows a couple of noteworthy events (Tron and the commodore 64).

Perhaps another reason for low numbers is the difficulty in the major HN has two posts on the front page about it today: https://news.ycombinator.com/item?id=14438601 And https://news.ycombinator.com/item?id=14442410

Perhaps the difficulty combined with the ability to more easily detect cheating/being easier to cheat in the classes are contributing to a slower than desired growth. Given that when plotted out computer science appears to be one growing faster than many others suggests that it isn't that few people major, it's that the science is new and barriers to entry are high? (Annecdotally I know my college had additional barriers to pursuing CS focused on pre-reqs and grades, it's possible a lack of quality CS teachers is causing this as it is so new.)

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

#476

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…

There is another problem. Computer Science just doesn't sound that interesting. Say you could learn to build aircraft engines, understand how the economy works (which has a huge influence on people's lives) or learn how to make a computer print "hello world" on a terminal screen and how to efficiently store data. Most people wouldn't choose the latter. It's actually quite hard to describe what computer science is and…

Yes, for most people CS == IT. And IT doesn't sound very exciting.

Also, in the end, big companies like Google and Facebook are IT companies, or advertisement companies, and they are after your private data. I guess most people would rather choose a more noble goal in life.

And finally, tools created by big companies such as Google docs perform worse than wordprocessors of the 90s. Yes, they allow collaboration now, but still, they are perceived as slow. In people's minds, IT is not progressing much.

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

#477
post #341

Earlier quoted context omitted.

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.

It's hard to believe a person of high IQ is not going to be well-read and/or well educated. The only point about this test is it's specific to native speakers of English, but if you were born in North America than it surely applies to you even if your parents speak another language.

> It's hard to believe a person of high IQ is not going to be well-read and/or well educated.

What of high IQ individuals who are born into low- or middle-class families, who didn't have their parents read them 19th century British novels, and therefore don't know what a dowager is?

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

#478
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…

In early college I once spent 10 hours in the computer lab with a broken program over a missing semicolon. The compiler kept telling me the problem was something completely different and in an entirely different part of the code so I kept my focus there, but in reality it was just a missing semi-colon much higher up. I got so frustrated from that (and a couple other struggles, along with some extremely shitty and unhelpful professors), I figured I must be in the wrong degree, and ended up taking English classes for a semester before dropping out entirely and went to work in a warehouse for two years and not doing any programming whatsoever.

Eventually some people got me back into Flash development (I had dabbled before and had a couple sort of popular things on Newgrounds, and they were asking me for help). I then made a couple of games that were super popular and realized I probably wasn't in the wrong field after all, and eventually went back to college and finished my degree. It was easier the second time around, and I had much better teachers.

Now I've been in the industry for about 10 years and have worked on all sorts of different types and sizes of programs and learned and used dozens of languages and technologies.

That was back in the 90s when I had that semicolon problem, and I'm pretty sure compilers have improved since then, because I usually see compilers catch missing semi-colons pretty much exactly where the problem happens nowadays. Also there was no Stack Overflow back then, and most forums weren't terribly helpful either, and programming blogs were a lot less common and comprehensive.

I remember specifically that I had difficulty wrapping my head around the concept of linked lists and there seemed to be no where to find that information besides my professor who was a real jerk and said, during his office hours, the specific time he's supposed to be available to help students, that "if i didn't understand it during his lecture he couldn't help me" and two old books in the school library that had a few paragraphs about it each.

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

#479
post #221

Earlier quoted context omitted.

I don't think it's even the programming that's the problem. There's a ton of Stupid Computer Shit we all know, mostly from messing around on our own time, that makes programming or doing anything else with computers much easier. A set of skills for navigating and troubleshooting issues, and a hard-earned intuition for where and how to look for answers. My CS program was really easy and I still don't know how people w…

>There's a ton of Stupid Computer Shit we all know, mostly from messing around on our own time This, I think, is the core issue. Like most of us here, I started playing with computers as a young child, from a Timex Sinclair 1000 as a pre-teen to a Commodore 128 as a young teen, then an Amiga and beyond. It wasn't work, it was fun, a hobby. And more importantly, by the time I hit college, I had literally thousands of…

So my story is a little different. I didn't write my first program until I was in college and didn't even own a personal computer until I was going into my junior year in 2009.

I had the advantage of having a department that assumed we were computer illiterate (I went to an HBCU in the late 00s: lots of low-income kids, very few had PCs of their own growing up, let alone college educated parents) so there were a lot of resources dedicated to tutoring, TA involvement in labs, and building a community around our department. It sort of felt like being in a sports club. Every freshman was assigned am upper-classman mentor and every mentor I had took their role seriously. If I didn't come around for a week I got a phone call. If I struggled I got extra help, and my relationship with my mentor was something that came up if I started slipping in a class. We also had advisors based on our interests who were constantly throwing REUs, internships, and events into our face.

When I went to grad school at a majority institution it was like night and day (no pun intended). Lower level students were often left hanging on a vine and were only paid attention to if they were already successful. The TAs weren't actively helping students, only passively so. I left there thinking there were probably a lot of kids who got turned off to the major because they didn't get the help they needed. Poor kids especially had it rough because they often came from a situation like mine, households with one computer that they were only allowed to use if they were using word write a paper or something.

I say all that to say I think you can teach a young adult to succeed in a technical major in 4 years, but it takes a village. If you immerse them in a community built around that technical major, it becomes a lot easier to get them up to speed.

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

#480
post #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 gui…

I have to disagree; I routinely need to educate co-workers on how things like B-Trees works, what a sum type is and why it is useful, what the SRP means (and why it is useful), why testing matters, why abstraction matters, or even things like how to secure production servers. To take the B-tree example: I've run across a number of people who I feel are more apt to blame "the database" for being slow; "it can't handle…

> I have to disagree; I routinely need to educate co-workers on how things like B-Trees works, what a sum type is and why it is useful, what the SRP means (and why it is useful), why testing matters, why abstraction matters, or even things like how to secure production servers.

Given this, why would someone want to get a CS degree, usually at a significant cost, when their coworkers will happily cover the same content while getting paid to learn it? To put it more succinctly, given this, what is the business case to expect increasing enrolments in CS? You will always have some who are passionate about the study, but it seems unlikely that the segment of passionate people is growing over time at this point. CS is not a new field of study anymore.

Post reply on HN