Live data from Hacker News

Why do so few people major in computer science?

danwang.co

561–570 of 627 posts

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

#561
post #378

Earlier quoted context omitted.

Math majors are expected to know high school math. You can literally know exactly that and succeed. If you wish to get ahead of competition, you know exactly what to do and exactly what is measured. CS does not have such clarity of expectations. I knew basics, because of journals my father bought. Since I knew basics, the teacher shown me some competitions - from then on I just went with the flow. Had my father not b…

> Raspberry pi is likely not and you don't know it exists. If a kid can't type "how do computers work" in google, they probably won't become a programmer. Are we really wringing our hands over that? > All the myths around cs tend reinforce such nonsense. There's another bit of nonsense around CS that a lot of people here believe - that there are all these secretly good programmers out there who just don't know they'r…

> If a kid can't type "how do computers work" in google, they probably won't become a programmer. Are we really wringing our hands over that?

If a kid cant type "how human body works" in google, they probably won't become a biologists. Somehow, being constantly surrounded by all those bodies and dogs and grass they did not learned biology. Except that they come to college and do learn. But realistically, "how do computers work" is such a broad question that it does not have to do with anything. It is literally irrelevant question to anything practical.

But that is literally this culture I am talking about - the conviction that if you already don't know stuff and was not interested in the past, you are not talented point stop don't even try. Math teachers nor chemistry teachers assume that - if you are curious now are happy with you learning now.

> that there are all these secretly good programmers out there who just don't know they're programmers because no one ever told them how to start,

They are not secretly good programmers. That takes more then just aptitude. But yeah, a student with good memory and basic math aptitude has genetics for programming. There is nothing special about us. The hardest part of beginner is to figure out what makes sense to learn and what not.

> and that they might not even know what programming is because it's so difficult to get started.

Well, it is difficult when you don't know what to do and get told you probably don't have aptitude first time you struggle with something. It is easy if you learned from simple concepts, either because you run into right game or because you run into good teacher or book.

Exactly like any other learnable skill - math, chemistry, law, physics and so on.

> "with hacking and computers in every TV show"

That has nothing to do with reality. I see sword fights in many movies too.

> "and no one is typing "how does my smartphone/videogame/internet work" and reading the results?"

What does that question have to do with building sofware? Like, real world software with real world homework that suddenly out of nowhere expects you to have skills that were not taught previously.

What does that question have to do with algorithms? Programming languages? Whether the students would be more attracted to solving problems side or building things side or theory side or software engineering side, your how does videogame works is largely irrelevant. Plus the answer will be high level overview of memory/cpu and such.

> Are there other problems keeping people from breaking into the industry? Absolutely. Is "not knowing where to look" one of them? There's no way that it can be, not anymore.

You did not suggested a single practical place for beginner to learn stuff. Only few very general question that does not necessary lead to programming - most of them would lead to electronics at best. And such good resources exist, but none of your suggestions lead to them.

The "breaking into the industry" is far away from "starting with programming". But then again, that is part of nonsense around this. I know people who found a job with very little knowledge in small company just because they looked confident and hiring manager was inexperienced. Few of them even became good programmers, although they created huge mess on their way there and had to rely at politics a lot. But somehow, a honest student with good results in pretty much everything else is assumed unable to learn the same, because he is less good at pretending.

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

#562
post #262

Earlier quoted context omitted.

I think GP hits the nail on the head there with the homework analogy, and you with yours. Just talking to my friends in other careers about the work that I do makes me check time and time again just how many assumptions of knowledge I make when talking about anything vaguely technical (which is possibly a criticism of how I explain things, but also/even if so says lots about this issue). What surprises me is the lack…

My Cousin smart kid had to come over at midnight because he had his first java assignment outside the ide. Couldn't compile because class path was not defined right on windows. Things like that scare people or pop their confidence.

I still remember a lab where one of my friends was up all night trying to find an error in his Java (1.0) code that ultimately came down to having a single character lowercase instead of uppercase.

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

#563

Earlier quoted context omitted.

> You start saying 'software engineer' and end with programmer. Clarify your terms. Eh, it snuck in there. I specifically changed programmer to software engineer in multiple spots to disambiguate it because I was talking about "programming" as an act distinct from applied CS. I missed doing so at the end. > There is a huge difference between willing to take on liability for your faults versus slinging code. Based on…

"Engineer" means someone who is licensed and is professionally and legally liable for the work they produce. Those who are licensed engineers often feel that the term "software engineer" cheapens the term because software folks are not licensed and not held liable for their work (and in some places, it is illegal to have "engineer" in your title without a license). On the flip side, software developers need a way to…

The opinion that the term "engineer" should be regulated (voluntarily or by the state) is definitely a minority view here on HN in my experience.

Imagine if anyone who "knew enough about doctoring" could drop out of undergrad and "become a doctor" without any license or credential.

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

#564
post #561

Earlier quoted context omitted.

> Raspberry pi is likely not and you don't know it exists. If a kid can't type "how do computers work" in google, they probably won't become a programmer. Are we really wringing our hands over that? > All the myths around cs tend reinforce such nonsense. There's another bit of nonsense around CS that a lot of people here believe - that there are all these secretly good programmers out there who just don't know they'r…

> If a kid can't type "how do computers work" in google, they probably won't become a programmer. Are we really wringing our hands over that? If a kid cant type "how human body works" in google, they probably won't become a biologists. Somehow, being constantly surrounded by all those bodies and dogs and grass they did not learned biology. Except that they come to college and do learn. But realistically, "how do comp…

> What does that question have to do with building sofware? Like, real world software with real world homework that suddenly out of nowhere expects you to have skills that were not taught previously.

You're way beyond the scope of the original discussion.

Someone suggested people would drop out of CS due to the grief factor of - for example - breakage due to missing semicolons.

Another person then suggests that maybe it's a good idea that CS majors have some experience programming before they enter the program. Note: some experience - no one said you need to have built a "real-world" team project before going into a CS program.

Then all hell breaks loose because, apparently, getting online and reading a couple tutorials and screwing around in a browser-based programming sandbox (there are tons), is something only wealthy people with college educated parents can do.

Sorry, but I don't believe that.

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

#565
post #221

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…

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 should seriously be a class on "Stupid Computer Shit" - I think that would make programming, and hence CS, a lot more accessible.

There was a good class on Coursera a while back called "Startup Engineering" which did cover some of this even though it wasn't the focal point of the class.

Of course, it would be impossible to cover every little detail - but a class dedicated to SCS would still be super useful.

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

#566
post #484

Earlier quoted context omitted.

Hmm.... Many CS101 courses are extremely easy; have a look at something like Harvard's CS50, which many people also take online. There's always somewhere to start for people who's hardly used their computer for more than just browsing.

I haven't gone through CS50 but I took the MIT equivalent online. From the perspective of someone who has done a fair bit of programming but is not a professional programmer (and doesn't do a lot these days), it was somewhat time consuming but not terribly hard for me. However, my thought when taking it was that if I were a freshman taking this who had minimal experience with computers, I'd have been pretty lost. Not…

Would that be MITx 6.00.1x?

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

#567

Earlier quoted context omitted.

I totally agree with this. The mass produced handheld computers such as smartphones and tablets, which outnumber desktops and laptops in personal ownership worldwide, will absolutely not help the newer generations with learning how computers work. When I was a tween I was building my own desktop, installing drivers, trouble shooting driver issues, trawling log files, and even dabbled in a little bit of python here or…

You forget that Arduino and Raspberry Pi exist now and fill that void quite nicely. If anything, I think it is far, far easier to learn the intangible CS skills today than at any time in the past. The one problem I see is with kids' motivation to do so, not with access to information or materials.

Naw, but I don't think they fill that void. Regular families don't really need/want desktops like they may have in years past.

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

#568
post #515

Earlier quoted context omitted.

> Thanks for clearly articulating this in 6 words: "Stupid Computer Shit we all know". This is something many people aren't willing to acknowledge. I think a lot of us have forgotten how strange and frightening a blank command line was the first time we encountered it. And how long it took to actually get comfortable with it. Even a windowing system is weird if you're not used to it, and lots of people use those for…

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

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

#569
post #487

Earlier quoted context omitted.

> The grief factor of learning to code is on a different scale to every other major. 'Cept physics. Misalign a mirror or shake the table and all your experimental data is bogus, and you don't find that out until you've analyzed your data and realize it's nonsensical. I suspect other hard sciences (chemistry, biology) have similar issues, but am not familiar enough to judge. I started out as a physics major and switch…

Many engineering fields (including CS in some contexts) have a huge dependency on experimental setups that are "temperamental" at best much of the time and/or dependent on someone else's experimental work and other hardware that doesn't always perform according to spec, etc. As someone with degrees in non-CS engineering fields, I mostly find the idea that programming on a stable computer has a high frustration/grief…

That was my reaction too. You don't know frustration as an undergrad until your correctly designed circuit is behaving oddly because one of your components is damaged in a nonobvious way. I found the CS classes to be relaxing by comparison. Works every time as long as I get the code right? Sign me up.

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

#570

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…

institutional education is subject to diminishing returns at every level of the process. it's a fractal of diminishing returns.

the "college for everyone" experiment is grinding our society into paste and generating enormous debt burdens for an entire generation. time to end it.

those with aptitude for programming can learn programming without a college degree. let's find out just how flat aptitude really is. all we know now is that aptitude is flat in the institutional environment.

Post reply on HN