Live data from Hacker News

Why do so few people major in computer science?

danwang.co

591–600 of 627 posts

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

#591

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…

Perhaps you have never seen the trails of broken dreams leading out of introductory proof-based math classes.

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

#592

Earlier quoted context omitted.

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

You're right, saying it is "flat" rather than "lackluster" might have been better. I apologize for that.

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

#593

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…

In that time (early 2000's), even if you had a strong interest in computers, you'd be pushed toward Computer Engineering instead of CS. Business school was a popular alternative with MBA enrollments peaking in the early 2000s.

I did in fact have considerable pressure from family to change my major from CS to some form of Engineering in this time frame, ideally some "hard-science" engineering like Chemical Engineering. CS was seen as a dead-end, easily exportable coder job, and well-meaning relatives really wanted me to get an engineering degree instead.

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

#594

Earlier quoted context omitted.

FWIW I started my CS degree in 2001. My first CS class assumed I knew how to navigate a *nix system (I forget which one). I was also expected to already know at least one programming or scripting language of my choice that could be used on the school's servers. That included but was not necessarily limited to: Perl, Java, C/C++. Oh, and I also needed to know Matlab.

I'd say that's a massive flaw in the curriculum. They've effectively written off the overwhelming majority of new college students. Outside of a high-school level CS course, where would one even encounter a *nix system (yes, I'm ignoring the dedicated geeks who spin up their own system for fun)?

Their goal was probably not to maximize the number of CS graduates. FWIW my university had a well respected 2nd tier CS program. By that I mean just short of MIT/Georgia Tech/etc.

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

#595
post #214

Earlier quoted context omitted.

Well, I wouldn't say salaries "suck" outside of well-known tech centers like SF/Bay Area and NYC. They aren't great, though. Even in the Bay Area, at least, the salaries of engineers still pale in comparison to the salaries of managers and executives.

Maybe not suck as compared to a lot of jobs, but the problem with software development seems to be that salary growth rises rapidly up to a plateau and then basically stops. The opportunities for salary growth past a certain point require risk-taking such as starting a company, consulting in some very specific niche, or what have you. It's still better than the lack of wage growth in other fields, I'm sure, it's just…

Absolutely. Even the so-called "parallel track" technical equivalents to management generally have a lower pay scale and smaller bonus pool. In terms of career development and growth it's almost always better to be on the non-technical career path once you're at Lead Engineer or higher. Even director-level people on the technical side of the tree are generally viewed as (relatively) more expendable and lower-status than their equivalents on the non-technical track.

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

#596
post #568

Earlier quoted context omitted.

>I think a lot of us have forgotten how strange and frightening a blank command line was the first time we encountered it. BBC Computer 32k FS 1.42 BASIC > As an 11 year old, this was thing of joy, not fear.

It's all fun and games until you break the very expensive family computer (and when your parents have written instructions for the sequence of magic commands to run various programs and don't understand the directory tree, "breaking" it can mean a lot of things) and have to figure out how to fix it. With no Google to consult. :-)

Directory tree? I had a cassette player. This is a computer that you upgrade the OS by going to a computer show and buying a new ROM. Dad watched just to make sure I didn't electrocute myself. He drove me 50 miles buy a debugger on another ROM chip for my 14th birthday. My parents thought these new fangled computers might be important someday, and bought me one to "play" with. I didn't have Google, but I had the instruction manual for the 6502. Life was good.

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

#597

Earlier quoted context omitted.

In my experience it is much more stressful and hard to learn these things for a course, because you're not interested in them but HAVE to use them in order to do something (e.g. hand in your assignment with git). Now I'm looking at git again in my free time it's a pretty nice tool, and I can't imagine that I loathed it so much when I had to use it for a course.

It's incredulous how people can find git daunting; especially the simple usage most make of it. Yet, I constantly see people refer to such simple and easy to use CLI tools as an obstactle in CS courses, not a helpful tool. Welcome to the fulfilled prophecy of the movie Idiocracy. This is why MIT had to stop teaching SICP and why many courses uses Java instead of C... Good luck learning pointers and assembly then. Goo…

I'm not saying git is a useless tool. I simply think that if a course expects more than common knowledge of the tool, it should teach it too.

You can't expect someone without git experience to fix broken repository.

Furthermore, I think that there are too many tools programmers are expected to know, and git is one of those. Git is a nice tool, but I don't think that 'real programmers know git' is true per definition. Above all, git is a TOOL; and one could use SVN or mercurial to achieve the same in most circumstances (of course sometimes SVN is an inferior choice, because it's not distributed).

I agree with the rest of the post though. There are reasons to prefer C above other programming languages. However, I think the best approach would be to learn the C-style and learn multiple similar languages, to be aware of the differences.

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

#598
post #148

I majored in computer science, and I don't feel like I've learned anything. Every time there was an opportunity to learn something cool (mathematical theory behind cryptography, assembly language, details of a processor, the cache, or a communication protocol) or useful, it was glanced over as 'technical details'. Instead, I was introduced to many, many small topics (programming, graphics, databases, algorithms, user…

I majored in EE, even though I expected to someday take a software job because I really enjoy programming. I figured I could continue teaching myself programming in parallel. As a self-taught programmer, I think you're downplaying how much you can learn in a CS program. I don't pretend to know as much as a CS major. I haven't spent time learning compilers or DB internals, and probably haven't studied CS algorithms en…

Well, I took the route you suggested (the CS program). I liked to program when I entered, but most of that joy is gone now. I had the same in high school with reading.

I might be downplaying CS programs, I just experienced one of them. In that program, I had no chance to learn compilers, operating systems, electronic circuits, assembly language, or any math. In hindsight, I'm not sure if this was the right choice. I did learn about those topics, but just in my spare time. I was able to pass my CS program while barely going to lectures (which may sound nice, but in practice I did not make any friends; it was a terrible time). I could just as well learn this on the side while studying something that is intrinsically more interesting, like physics or electrical engineering.

At the other hand, I was able to double major, and it's not hard for me to find a job now.

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

#599
post #118

Earlier quoted context omitted.

True, you can make it as difficult as you want. But generally, math, physics, and engineering programs are much harder.

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…

I don't think math majors consider statistics a math course.

I should note that I did study a year in California. There, the computer science was much harder, and the math was much easier (scored straight A's in math courses literally without any effort, and nearly failed the operating systems course that I took).

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

#600

I majored in computer science, and I don't feel like I've learned anything. Every time there was an opportunity to learn something cool (mathematical theory behind cryptography, assembly language, details of a processor, the cache, or a communication protocol) or useful, it was glanced over as 'technical details'. Instead, I was introduced to many, many small topics (programming, graphics, databases, algorithms, user…

For those interested, I studied at Utrecht University in the Netherlands. The CS courses I took were:

Imperative programming (learned C#, nice course), Computer science project (program something in a group), Logic for computer science, Web design, Computer architecture and networks (terrible: no practicals, just an exam), Databases, Graphics (fun, but only learned how to write shaders in glsl), Functional programming, Data structures, Algorithms, Modelling and system development (we learned working with UML diagrams; the course was way too 'soft' for me), 3d modelling, Software project (again, program something in a group. we did something for a two-man company with a delusional CEO, which went bankrupt while we were working on the project), Security, Concurrency

I filled the rest of the curriculum with math courses. I have to admit the whole thing (not just the CS part) looks so meager when I look at the courses I followed. Can't believe I spent 4 years on it.

Post reply on HN