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!

Programs Stuck between EE and CS

  1. Feb 11, 2017 #1
    I really love physics, and have been thinking about majoring in it for a while, but due to the fact that I think I'd rather just work after getting my degree instead of pursuing a PhD, I have been following the engineering path. I am currently a second year ME student, and I am just now realizing that I enjoy programming and EE a lot more than I enjoy ME. I'm actually sat in on a few signals and systems classes, which is what instantly made me decide that I would rather major in EE over ME.

    I have been really conflicted in what to major in, both EE and CS would take me 3 years to complete, which is fine; I would have to do 3 years for ME anyway since I'm a CC transfer. The only programming language I know at the moment is C++, but I really enjoy it. I think my favorite part about it is how much control you have over optimization, and how in depth you can go. I'm not really sure how much I'd like high level languages like Python, but I guess I won't know until I try it (I actually have tried python on code academy, but not nearly enough to form an opinion of it).

    I think I might enjoy programming more than electrical engineering, but I don't want to completely stop learning physics, which makes my decision hard. I have considered computer engineering but I think I'd rather either go all out on CS, or do EE and learn programming on the side.

    What do you all think?

    EDIT: I forgot to mention that with CS, it's going to take 3 years but some semester are part time. I was thinking about just taking more CS classes to make myself full time, but I guess I could always minor in physics.
    Last edited: Feb 11, 2017
  2. jcsd
  3. Feb 12, 2017 #2


    Staff: Mentor

    MEs can do programming. Many of the MEs I know do MATLAB programming as part of their job analyzing acoustical environments.
  4. Feb 12, 2017 #3
    I'm really just not as interested in ME as EE or CS. I also don't like scripting in MATLAB too much compared to programming in C++.
  5. Feb 13, 2017 #4
    Programming isn't really owned by the CS department, although the theory is owned by the CS department. Programming is less about programming for its own sake and more about what you actually do. Lots of excellent programmers come from physics, math, engineering, and increasingly chemistry.

    If you want to be a programmer who works on applying physics, an engineering degree is a better bet than CS, because CS is geared more towards engineering problems such as building a search engine, a website, or database, whereas engineering is geared towards, well, building hardware, or software that is applied to hardware.

    Think about the devices you want to build. If you want to work with fluid mechanics and jet engines, ME > EE. If you want to work with circuits, control systems, or fundamental devices (e.g. making the next transistor), EE or applied physics > ME.

    Working on fluid mechanics simulations is about as hardcore as applied physics/programming gets so keep that in mind, and that's ME. Computational EM is pretty hardcore too.
  6. Feb 13, 2017 #5
    Senior CS major here.

    As I was progressing through college, I also contemplated switching majors to physics/AE/EE/CPE a few times haha. Looking back, I almost wish I did! This is because I think programming is the easiest technical skill to pick up/learn on your own. Everything you learn in your math and engineering classes are most likely harder to learn on your own/better suited to a classroom. Now this is easy to say. Obviously there's no way I'd be anywhere near as good at programming had I not majored in CS, but this is a somewhat weird situation I find myself in, as I have no regrets, but would also probably do things differently a second time around.

    A few more considerations.

    You mention that you sat in on a signals and systems class that you really enjoyed. You also mentioned that you're not interested in doing CPE. CPE is going to being dealing a ton with signals and systems. I would heavily encourage you to look at the curriculum and courses for CPE/EE/CS at your college and see what classes look interesting to you. CPE really is that middle ground between EE and CS, as you probably know already, which would be great if you want to learn programming but still stay in touch with some of the physics. You say you want to do either EE or CS but not CPE, now I don't want to presume too much, but it sounds like you may be slightly romanticizing the thought of switching majors. I only bring this up because I did the same thing a few times. I might suggest waiting til the end of this spring semester(assuming that's how yours is scheduled) and see how you feel then, you might find that you feel differently.

    Probably the most important thing, what do you want to do after college? Obviously there's an incredible variety of possibilities for a beginning engineer. Traditionally however, EE's are going to be designing circuits/schematics as part of a larger system or perhaps the entire system if it's a smaller project. You'll almost certainly develop competency in embedded systems programming (arguably one of the most challenging/fun types of programming) to get your stuff to work, but not much beyond that. The big thing to keep in mind with the EE route, unless you really work at it, you're not going to be hired over CPE/CS majors for programming jobs. Now maybe this is exactly what you want, however if you've been thinking in the back of your mind that you could easily get a job programming as an EE, that might not be the case. CPE is really nice because you have that ability to do the same programming as an EE(plus some minor circuit design most likely, which will definitely come in handy with embedded stuff) but also the higher level stuff as a CS. You'll probably be eligible for any programming job you can find as a CPE. CS is pretty much same as CPE, but some of the snootier hardware based companies might stick their noses up at you. However you do get to take some cooler theory classes in CS, assuming your college offers them.

    Biggest question is what do you wanna do? Programming? Go with CPE or CS. Electrical design? EE. Not sure? Stick with ME until you are.
    Last edited: Feb 13, 2017
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook

Have something to add?
Draft saved Draft deleted