1. Limited time only! Sign up for a free 30min personal tutor trial with Chegg Tutors
    Dismiss Notice
Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Worth it to major in CS if?

  1. Dec 6, 2014 #1
    So I am considering majoring in CS for employment reasons. But I keep debating with my self if I should or not.
    Granted I have only taken one intro to programming course; I am really only interested in a few aspects of computer science as a whole. I am interested in Theoretical Computer science (ie. Computational Complexity, quantum computation, ect.) and computational science (ie. modeling physical and other phenomena.)

    Programming is alright. But defiantly not as intellectually stimulating as I would like yet.

    I need to make a choice this next semester on what I want to transfer major wise into. After that it will be extremely hard to turn back.

    Next semester choices:
    Calculus 3, discrete, comp sci class VS Calculus 3, and physics for a math major.
  2. jcsd
  3. Dec 6, 2014 #2
    I'm sure the degree to which you focus on those topics will highly depend on the program. Check what options are available at your school to help make your decision. I know some schools are bigger on the theory, and some schools are bigger on the programming. It also helps to have professors doing research in your areas of interest.
  4. Dec 6, 2014 #3

    Vanadium 50

    User Avatar
    Staff Emeritus
    Science Advisor
    Education Advisor
    2017 Award

    If you want to get a CS degree for employment reasons, but you don't like programming, what do you think you will be doing when you graduate.
  5. Dec 6, 2014 #4
    I can tolerate it. I guess my reasoning goes like this. If I get a math major what can of job can can I get? Programming most likely. Probably some lower level job. Now I am not a huge fan of it, but to pay the bills it is fine. Now if I get a computer science major what can of job can I get? Probably a higher level programming job where I can at least utilize more algorithmic techniques and higher mathematical type thinking and be much more intellectually stimulating. Also the pay may be higher.

    Is this thinking process reasonable?
  6. Dec 6, 2014 #5
    You might want to worry about things getting past the point of being stimulating if you do math. Most people will get to that point some time. Intellectually stimulating stuff might sound good to you now, but math can get to the point where you're just feeling stupid all the time. It's not really that pleasant, and even the top mathematicians struggled at some points in their career. You probably have things in mind from your experience where you are in a state of flow--things are not too easy and not too hard. Mathematicians should strive to put themselves in that state, too, and maybe some of them do, some of the time, but it gets so hard and complicated and competitive that it's not that easy. It's very easy, on the contrary, to feel pressured to try to do 100 times more than you can do and get burned out as a result, which is what happened to me. When you go to grad school, it's a whole different ball game. You generally can't be on top of everything any more, most of the time, like you can as an undergrad.

    It's a job. Doesn't have to be that great. Just has to not drive you crazy.

    There are more options than programming for math majors, but they usually require specialized classes and possibly internships. If you just leave yourself at the mercy of the requirements of the degree, then your only real option might end up being teaching. Math is a major that needs to be supplemented by other things.

    Programming is not just for programming jobs. There are finance jobs and algorithm developer jobs where you might do some programming, but you're not really a programmer.

    If you don't like programming that much though, I would strongly recommend considering electrical or mechanical engineering or operations research.

    You might like stuff like machine learning in computer science, though.
    Last edited: Dec 6, 2014
  7. Dec 6, 2014 #6

    Vanadium 50

    User Avatar
    Staff Emeritus
    Science Advisor
    Education Advisor
    2017 Award

    I think no matter what you major in, you're not going to be doing quantum computation or spending much time on computational complexity. It's more likely you will be taking a 40-year old payroll program written in COBOL and updating it to comply with the new tax code. Or something rather like this.
  8. Dec 6, 2014 #7
    If you know machine learning, you're really hot stuff these days, so it's not all updating old systems. There's not too much theoretical computer science out there, though, in most jobs.
  9. Dec 6, 2014 #8
    Right, I understand I wont be doing straight theory for a career. But it would be nice to have a job that actually implements higher level thinking. I get told 2 different things usuallly. 1. Follow your dreams (straight theory, pure math) 2. Figure out what sort of job you would like to have and decide a major after.

    So I think number 2 makes more sense. A job I think would be interesting might be something along of the lines of a start up working on some sort of robotics. Maybe doing something like creating algorithms for the stock market. I really want to be a big part of a small team working on technology. I was on a robotics team back in high school, and worked a bit with the programmers and it was always cool being some a big part of the creation and seeing things happen. I don't want to be at a desk all day. I get it that there is a lot of desk work involved though.
  10. Dec 16, 2014 #9


    User Avatar
    Education Advisor

    I know from my interactions with both electrical and mechanical engineers that both do lots of programming (not necessarily software development, but programming all the same), so if the OP doesn't like programming then this is hardly the best advice. This is even more true for operations research (OR), assuming the school the OP goes to offers the program -- many people who pursue operations research as a career start out with an undergraduate degree in math (or math + CS) and pursue graduate studies (MS or PhD) in OR.

    I think any type of job that involves some form of quantitative aspect to it will involve some programming, at least at a limited level.
  11. Dec 17, 2014 #10
    Yes, actually, I was going to say that engineers do programming, but forgot. This advice is not for someone who doesn't like programming. It's for someone who thinks programming is "okay". It will be a better fit than CS.

    Exactly. Which is why my advise isn't so bad. Can't get away from it. I think if you are an actuary, you can land a job where you don't have to do much programming.
  12. Dec 18, 2014 #11


    User Avatar
    Education Advisor

    Perhaps, but at least from my experience working with engineers (one of my first jobs as a statistician was working for an engineering firm specializing in robotics and automation), to be an engineer involves not just being "okay" with programming and having a decent background in math and science (with a focus on physics), but also a natural affinity towards design and an affinity toward "hands-on" skills (e.g. working with your hands). Because at least a certain aspect of engineering involves using your hands to manually create or fix things (even if most engineers don't do this on a daily basis). This is particularly the case for mechanical engineers, at least from my observation.

    If the OP is not comfortable with or doesn't have a natural affinity to do this, then engineering is not a field I would recommend.

    I think most accredited actuaries don't do much programming, but those on the path to actuarial work who start out in entry-level positions (especially after passing only the first few actuarial exams) may have to do more of this in the beginning, although I may be wrong about this. Perhaps Locrian, chiro, or other actuaries on PF may have more insights on this.

    To the OP: if you are "okay" with programming but don't enjoy it to a great extent, but are still interested in mathematics, consider pursuing further studies in statistics. I'm a statistician and while I do programming on a regular basis, I'm not necessarily involved in software development or maintenance to a great degree. And I have to think about modelling the problem at hand in the work I do, so this may be a good fit.

    Operations research jobs may be another field worth considering as well (some of these jobs are heavily programming-intensive, while others are less so). If you don't mind working in a business setting, then perhaps supplementing your math courses with economics and business courses and becoming an accountant may also be an option.

    Of course, this is based on your opinions about programming are based on the few courses you've taken. There is a lot more to CS than programming, and many of the jobs in IT, software development involve a lot more than just simple coding. You mentioned theoretical computer science and computational science -- there are many other aspects of CS which might very well interest you, once you get past the more mundane initial introductory subjects (machine learning was mentioned; there are also areas like database design, network design, natural language processing, etc., much of it highly mathematical & computational and highly applicable). So my advice would be to take more senior classes and see how much you enjoy the material.
    Last edited: Dec 18, 2014
  13. Dec 18, 2014 #12
    Statistics and engineering are both fields I am definitely considering. I have no idea if I am naturally good at building things but I do like to think I am. :P
    As for statistics and operations research, I think I would do very well in a business oriented setting, but I would rather not limit my career to that sector. I would like to be able to work in just about any industry. Such as, if I want to go work for the government modeling weather patters, or helping biologist/engineers model phenomena with heavy mathematics. It would also be nice to leave graduate school open for just about anything. I mean, maybe I catch a bug for neuroscience? Then I would like to be able to go to graduate school for that and maybe model neuron networks.

    Basically I want to be able to do anything considering I am interested in almost all fields of scientific study. Eventually I realize I have to narrow down the field of study and research, but at this point in time I just can't seem to do that. If that means major in math/stats/physics type area's then that is fine with me too.
  14. Dec 18, 2014 #13


    User Avatar
    Science Advisor
    Education Advisor

    Do you want to go to grad school? My friend was a math and computer science major in college and started his PhD this fall in theoretical computer science.
  15. Dec 18, 2014 #14


    User Avatar
    Education Advisor

    With regards to working in various industries, Statistics is a pretty solid choice. I have made three career jumps, Investment Banking, Bioinformatics, and Big Data. Minus the technical details, the skill sets have all transferred over well for me. While looking at the 'real world' problem and translating it to a problem you know takes time, in my experience, there are common techniques and knowledge that transcends specific industries.

    Now, with that said, if you want to be work for the government, expect not to career jump often. There tends to be a fairly strict requirement about expertise in chosen field for a GS12 level or so. Also, fields that are heavily regulated have a strong preference for experience within the field. I can probably never jump to insurance at my level of pay because the corresponding jobs usually assumes regulatory knowledge. Just something to keep in mind. Also one last piece of advice, nearly all work requires extensive "why am I doing this?" moments. The key is that you have to find a job where once you are on a project that you find meaning in accomplishing the project. For example, modeling potential default customers may be lame to some people, but I really do enjoy using my know-how to make a predictive model on which customer will likely default on a payment. Other people may consider that mundane and lame.
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook