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!

Switching from Electrical Engineering to Computer Science

  1. Jul 3, 2014 #1
    I haven't made my official major change yet, but I want some advice.

    So I transferred from a local community college to go into Electrical Engineering. I went into it, and I sucked at "hands on" activities in EE. Building circuits just didn't seem like my thing. I mainly went into Electrical Engineering because of the money and it involved a lot of math (which I am good at). There wasn't too much "passion" in actually learning the material.

    Then here comes computer science. While I am interested in learning more about how to program, the only thing concerning me is the one bad experience I had with it. I had to take a computer science class for EE at the community college since the class was full at the university. The professor I had was very difficult and overqualified. Many people fail or withdraw from his class. His notes were him typing in a compiler, and he didn't use the book or Power Point at all so there was a poor explanation of terminology. He gave difficult programs for a beginner (with strict due dates), but started them off (super complicated for a beginner to actually do). I felt strong about the class until we had the final project and the final exam. By then, I started to have panic attacks because the class wasn't going anywhere (we weren't really learning anything when the final project was assigned, and the professor let us out early). I thought I was going to get a C in the class because of this (didn't finish the project, and kinda froze on the final), but I wound up with an A. This class didn't count toward the degree plan at the university (did for associates at the community college, and for other universities), but got you out of a class which was required for students with little to no programming experience. This class is also a prerequisite to the first class that counted toward the degree plan.

    Because of my miserable experience with that class, I was thinking about switching to a math major and putting my credits to good use (since I was good at math). The math class required a computer science class (the one that actually "counted"). Luckily, I was able to get into that class at the university. The class was SO MUCH better than the one I took at the community college. The professor made the concepts more clear. What is ironic is the class at the community college covered more than the university, but only left out a couple of things that the university class didn't cover (for reviewing from the other class). I talked to my professor of my computer science class at the university about taking this class and being OK in it while having the other one at the community college, and it not covering those couple topics. He said that I would be OK in it (and I was). This class at the university covered in the 1st 6 weeks the stuff covered in the previous class at the university, but the previous class at the community college in 12 weeks! One thing in this class at the university was that when the professor was going over pointers, he said that we shouldn't worry about them if we are confused because they even confuse advanced programmers. The professor at the community college just shoved them down our throats and expected us to know them. I sometimes wonder how the kids who took the previous class the university would do in the class at the community college. I can say that I made an A in the class at the university, and the class at the community college made this ironically easier (since I had to make a roulette game, and I used parts from a craps game and a poker game from the community college class to help make it). And a lot of students at the university struggled with it, but the parts from the community college class were parts the professor started the programs with, so IDK if I missed out on actually learning something.

    I think the part of me being confused about this decision about being a CS major is disbelief, and something coming to haunt me. I need to get over it, but how? Every time I open programs from the community college class, it haunts the hell out of me. Mainly because they were poorly written. The programs I wrote in the university class were written much better, and were easier to understand.

    I am glad my professor showed me the light of computer science, and I met some friends who were going into computer science. They also showed me the light of it as well as my schedule last semester ironically looked like that of a computer science major. My schedule looked like.

    Computer Science I
    Linear Algebra
    Physics E&M w/lab
    GE class

    Dunno what next semester will look like for me.

    I hope you guys are still able to read this.

    tl;dr - Basically I had a tragic experience which awkwardly turned into a better one, and I am feeling kinda suspicious.

    Along with a CS major, I am thinking about getting a math minor or a physics minor. I like math and physics, but majoring in those subjects don't have good job opportunities as computer science. Both can give me a break from programming all the time, and go well with CS. Since I am going to take an extra year to graduate due to these major changes, I might as well add a minor and that shouldn't affect graduation at all, and I shouldn't be too stressed out. Double (or triple major) wouldn't be worth it in this case. If I really want to get a major in math or physics, I might as well get the CS degree first and then go back.

    Math is a good minor with Computer Science because it makes you a better logical thinker. I've heard that there are additional fields in computer science you could go into if you have a better foundation in mathematics. I have taken Multivariable Calculus already (got an A+), and I don't want that credit to go to waste as it isn't even required for CS majors. Plus, there is some overlap between CS and math. Math comes very natural to me as I practice and practice more.

    Physics seems like an interesting minor to go along with Computer Science. I've heard something about simulations using physics. I am not interested in working with hardware, so don't suggest computer engineering. A physics major requires labs, and I don't want to be working in a lab although I am interested in the theoretical part but not as much with practical (since I suck at practicals). Plus, a lot of physics majors turn into programmers. Labs would be better if I didn't have to learn math, but I'd rather learn the math to be honest. A physics minor will let me take Diff Eq (which I want to take), while it won't count for me if I do a math minor.

    So I wonder what fields I could go into if I minor in math and/or physics with computer science. Just doing computer science alone feels boring as I'm disappointed that it doesn't require Diff Eq or Multivariable. That's why I'm thinking about physics, but I am not sure how doable these physics classes are on top of these computer science classes. I want to learn as well, I just don't want to be focused on "getting a job" and "making a lot of money" until the time comes. It's another reason why I am considering a minor in such fields. To take a break from people that go into these things just for the money, and for people that truly don't know what they are doing.
     
  2. jcsd
  3. Jul 4, 2014 #2
    So I have a degree in computer science and am 1 semester away from having an Electrical Engineering degree.

    For the most part I'm not sure having a minor in physics or math along with your compsci degree will help any in an actual job. Sure there are some jobs that might make use of them but the vast majority of jobs you won't see much benefit. However having a minor will help set you out from the pack a little bit. If you're going to hire someone and all other things being equal you'd hire the guy with the minor as well as it shows a bit more initiative.

    I wouldn't judge computer science courses based off of the one that you had to take through engineering. We've had to take a couple programming courses (no one at my university could explain why as someone who has a DEGREE in computer science and 5 years of programming experience has to take the 1st year programming course but w/e) and I can say that they were taught horribly. Not sure what it was about them, I think it came from that programming isn't their main focus, and as such didn't have the passion for it.
    In the first year course quite often I would have to bite my tongue as the prof told the class that, for example, breaks inside of while(1) loops were vastly superiour to do while loops *facepalm*.

    I think you'll have a much better experience in the actual compsci dept :)
     
  4. Jul 4, 2014 #3
    You seem to be quick to jump to conclusions. Any subject will probably have its annoying aspects, so you shouldn't just bounce around from subject to subject without good reason. EE is more than building circuits, and my impression is that the jobs tend not to be that hands-on. I think you dodged the bullet to avoid math, though. If you really like math and have funding and time for it, it's a good second major, but by itself, it's not that great of a degree, unless you want to be a math professor, which is a path I can't say I recommend.

    Physics and math combined with programming is really cool, but unfortunately, there aren't that many of those jobs. Game programming is one thing, but it's a messed up profession because there are too many people who want to do that, so it gets pretty competitive, and there's more work for less pay.

    If you want to use more math, you might think about sticking with EE. You might not want to jump the gun and predict that you'll like diff eq, if you haven't taken it yet, though. It's often taught fairly annoyingly, but it can be interesting if it is presented properly.

    It can be difficult to predict what you'll like, though. I got a whole PhD in math, only to find out that I couldn't stand it as a profession. Taking classes was fine, but research and teaching is the actual job you get at the end. I strongly disliked both of those. I also defected from EE to math, but now I sort of regret it. The things that use to bother me about EE seem trivial at this point. My interest in math was genuine, but I have zero interest in current research, only in older math and understanding it more deeply. Somehow, I was fooled into thinking modern math would be like classical math, except that there would be more of it, but I found that wasn't the case. For something like math, it's harder to evaluate whether you'll like it because it's harder for a beginner to understand what the professional-level stuff is like, but with something like programming, you can more easily try to talk to people and ask them what it's like. Might not be a bad idea.

    So, thinking ahead about jobs is not just about making money. It's about finding something you'd like to do and have a realistic chance of getting a job at.
     
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook