Live data from Hacker News

Why do so few people major in computer science?

danwang.co

481–490 of 627 posts

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

#481
post #379
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.

> Even in the Bay Area, at least, the salaries of engineers still pale in comparison to the salaries of managers and executives. Depends on where you work. If you work at an actual technology company that "gets it", they'll have parallel management and individual contributor tracks where you can make as much as a director-level person as an IC, or more.

Emphasis on "can make" is due in this case. It's still a different dynamic with respect to status and a different pay scale in general (that is to say, exceptions of course exist).

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

#482
post #193

Earlier quoted context omitted.

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

Interesting.

At the state schools in my state, the curriculum generally consisted of math up through and including three semesters of Calc + Linear Algebra + Discrete + 3 semesters of calculus-based Physics with labs + two semesters of algorithm design and formal methods (which I count as math courses) + Stats + an Operational Research course. You could also swap one of the sciences with a semester on diff-eq if you wished. I think you could get a math minor if you took something like 3 more higher-level math courses and a dual major wasn't that much more after that. It was brutal and I think the second highest number of required credits of any major at the school after EE. It wasn't uncommon to start a semester with 100 students in the class and end with 8-12 at the end.

The non-CS "Info Sys" or "Software Engineering", etc. dropped all the calc, linear algebra, OR, formal methods and required only two semesters of science classes that did not require any calculus (they were called something like "Physics for Business" or something) and no algo design. They actually had fewer classes than the CS major, but the rest of the gap was filled with major specific courses like finance or econ or whatever.

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

#483

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…

A video game console has a known and proven entertainment value. The whole family can use it. It's a reason for people to come over to your house. It's a status symbol.

Beyond that, I know a lot of poor kids who don't have video game consoles, and there literally isn't $50 in the budget for something that may or may not produce any value (not to mention the monitor, the peripherals, and taking up vast amounts of time on the family computer -- if one exists -- to figure out how to use it).

I have extended family living in rural Utah who don't even have a computer -- they use their phones for the Internet. You can debate back and forth about the cost of a phone vs. the cost of a cheap Desktop, but people need phones to function in society, for better or worse. Try figuring out what to do with a bottom tier smartphone, a limited data plan, and a Rasberry Pi that just arrived in the mail.

I volunteer at the Boston Museum of Science, working in the Tech Studio/engineering department, often showing off the latest "engineering toys" -- Little Bits, Rasberry pi, Scratch on an iPad that controls a Lego robot... Rich kid parents ask "Oh, where can I get this?" It's not a big deal for them to drop a couple hundred bucks on flavor-of-the-week programming toys. Poor kid parents are often interested and enjoy playing around with it at the Museum, but never ask about getting one themselves. It doesn't even occur to them.

Beyond THAT, there are a lot of majors that don't cost a lot of money. You can use the argument "X doesn't cost much to learn -- why haven't you done X before on your own time?" to apply to anyone.

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

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

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 so much because I couldn't have handled individual aspects of the course but there would have just been too much new from the practicalities of a programming environment to a lot of the basic programming concepts to the more theoretical aspects.

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

#485
I am a little surprised by so many comments talking about the problems with the CS curriculum in college. If people aren't even majoring in computer science then I would first think that the issue starts before students come to college.

Younger students, K-12, have little exposure to computer science concepts or even programming in general. Sure some schools are great but many public schools in the US are average at best.

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

#486

Earlier quoted context omitted.

novice programmers should not be starting a CS degree

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…

>Given the gender skew amongst high-school programmers, this is almost equivalent to saying "women should not be starting a CS degree".

Somewhat related to your point, letting novice programmers get CS degrees doesn't fix the problem because there is still a performance gap which results in a hiring gap. If there is problem with demographics having unequal experiences, while colleges can be tweaked to keep the inequality from growing, it is far better to fix it where it comes from.

It's far simpler to say than do, but our society needs to find why the gender skew in high school programmers happens and stop it.

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

#487

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. '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 factor to be pretty funny.

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

#488

Earlier quoted context omitted.

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

A video game console has a known and proven entertainment value. The whole family can use it. It's a reason for people to come over to your house. It's a status symbol. Beyond that, I know a lot of poor kids who don't have video game consoles, and there literally isn't $50 in the budget for something that may or may not produce any value (not to mention the monitor, the peripherals, and taking up vast amounts of time…

Sounds like a great opportunity for local libraries to become more relevant (and/or for a nonprofit org to supply them). I know many local libraries supply at least a few computers for internet browsing or whatnot. Why not a pi or two, or pocketCHIPs to loan out?

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

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

to be fair, I've been coding for 8 years and have never coded in a Windows operating system outside of an IDE, and in general I don't use either, and have not since Computer Science 1.

For a job, I had to get python working on Windows, and it took me a few days to get it in stalled correctly on Windows. Even after years of coding experience.

The issue with Windows is it is designed to explicitly hide the backend functionality, and modular accessing and modifying of it to the front end user, so when you do need to do something of the sort, it's more difficult than linux, and even after using linux operating systems, macbooks I find difficult to work with because comustomizable things are hidden to the average mac user.

That being said, a linux operating system is probably daunting for a first timer.

HOW I LEARNED COMPUTER SCIENCE

I only minored in Computer Science, and like others, did not even know what it was until I went to a tech college for Electrical Engineering. I grew up in the deep south low on the socioeconomic scale, noone in my family even went to college ever so I just had had no exposure to computers or even the idea of computer science before.

It seemed cool but daunting.

1. I got a part time job in tech support to help myself get acquainted with the parts of computers and technology that you need to learn so that when you do Computer Science you can focus on Computer Science.

That side job was 15hours a week over two years and it helped me learn alot about troubleshooting, viruses, computers, I reimaged hundreds of computers and learned how to make my own isos, take apart and put together computers.

It made my computer science courses in relation seem ideal and the technical bottlenecks of working in different environments whether operating systems, relatively trivial but yeh, I had to double up on my time commitments and turn my college job into tech work to catch up.

2. once I learned what a linux operating system was, I started using only minimal versions of linux, so I would be forced to learn more about how computers work to do everyday needed tasks, along with all over layered projects and school work on it. This helps ALOT.

You want to print something, you need to install or update the drivers, you want a functionality that you didn't know could never not exist on a computer, now you learn how to figure out what to download, what rpms are learn alot about options you have from opensource packages many people have made.

Now you are aware of hundreds of gaps/needs in functionality that have not been written so you could try something and have a realistic project to work on.

You have access to other peoples code...etc...

All of this from googling about printing drivers and why you have access denied....

the learning curve is steep but its hard to learn about this world any other way.

WHY I DID NOT MAJOR IN COMPUTER SCIENCE

In regards to Computer Science, there were a few reasons I did not end up majoring in it despite really liking it, and now taking coursera courses from Stanford and Princeton to supplement my desire 5 years post graduating to go back and learn more and shift to full time software development.

As a disclaimer, these are all really a result of my mental approach/reaction to a growing desire to learn more Computer Science.

1. I really didn't have the self esteem that I could do it in four years.

I knew I could excel at Electrical Engineering, but Computer Science seemed like a whole new world I could not learn in four years.

2. I went to a pretty good engineering school, and the kids in Computer Science had basically been coding since they were 8, so for me I felt like the competition was high and I could not stand a chance.

3. In retrospect that was not the case, and in fact the people I did know in Computer Science were very welcoming and encouraging to me coming into it, but I really didn't believe I could do it.

I regret that approach now, and I could blame it on all things academia in Computer Science, but it was really my reaction to the sentiment echoed here already that it takes years to really feel comfortable with Computers, programming and all of it in context so you aren't constantly wondering what youre not understanding or spending hours trying to set up varied work environments because you've never used a terminal before.

It is a continual effort and Computer Science, more than any other major or practice, is a new lifestyle and way of thinking, and a lifelong commitment to learning.

For me, I have continued on this path and continued to code for years after college and work on independent and group projects, and taken on coding work in my jobs in relation to electrical engineering. Just now at 26, being first exposed to Computer Science at 18, do I feel confident about my ability to learn and do well as a software engineer that is not a code monkey, working on computationally challenging problems where scaling, algorithms and data structures are a core part of design and implementation to make something successful.

You just have to keep trying, and in general, in regards to computer science or elsewhere, this weeds out alot of people.

SOME INTERESTING THINGS

As a final note, I would say the most daunting part of Computer Science in college was the perception I had about the experience and practice of Computer Science majors versus mine. I felt really ignorant in comparison and had no realistic way to convince myself I could compete and do well amongst kids with 10+ years experience.

Perhaps the value of this post is to say. I overcame alot of obstacles socioeconomic and otherwise to get into college in the first place.

I made a 4.0 in a private high end highschool and had and have a good work ethic and intelligence.

I even went to an engineering school and majored in Engineering.

Despite all of these layers of statistical thinning, I still didn't feel I could cut it as a CompSci.

If it is challenging for someone who is otherwise very smart, exceeding well by all academic metrics, has a good work ethic and is already in a school offering a good Computer Science program, wants to learn Computer Science, takes entry level Computer Science courses and makes As in them, and still doesnt feel confident about Computer Science, then there is definitely something about Computer Science, that sets the barrier high for learning.

It's definitely a DIFFERENT way of thinking, and I think the barrier to that new way of thinking is not a barrier for learning in most other places perhaps maybe save linguistics, which is also extremely difficult to become proficient in if you did not grow up in a multilinguistic environment or are not constantly saturated in living in a multilinguistic community.

You need to saturate yourself in a new way of thinking, and for me it is incredibly rewarding and translates into every other part of my life and allows me to think more objectively and logicially, creatively and efficiently than I have knew I could, but I think it is the way of thinking that is the learning barrier, along with the multilayered skills needed to navigate complex computing environments, that keeps people from Computer Science.

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

#490

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…

Where did you go?

There is a great deal of difference between different schools, which I think explains much of the varying experiences people have.

Post reply on HN