Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I've got a B.S. in Comp Sci, and like you, heard that engineering would be a more valuable degree, so when I had the opportunity to get my masters, I got it in E.E.

I don't think there are many aspects of EE, if any, that prepare you more for "problem solving" than CS. That's not to say it's not worthwhile. EE is more difficult and broader than CS; it's also expensive and time consuming to learn it all on your own.

The nice thing about engineering is that the math is extremely similar between fields. Mechanical engineering uses a lot of the same techniques that electrical engineering does, as many of the principles are the same (stability is important in both).

You can use a lot of your CS skills to do engineering experiments. There are a lot of EE fields that are nearly all done in software now. Software Radio is a big one and Digital Signal Processing is another.

So, get an introductory Circuits textbook and learn the math. Learn differential equations. Play around with robots and try to get them to do things extremely accurately; this will introduce you to control systems.

Also, learn to love math and be able to read and understand formulas and equations with a lot of Greek letters.



I'm not sure whether one can say that EE is harder than CS, or vice versa. For starters, which subfields of EE and CS are you comparing? If, for CS, you pick Theory of Computation, Algorithms, or Machine Learning, then those are pretty difficult fields. If you pick programming languages, databases, or user interface design, those are "easier" than the aforementioned (although still challenging in their own right).

In EE, if you pick some of thee classes that Stephen Boyd [http://www.stanford.edu/~boyd/] teaches at Stanford, I would imagine those are difficult.

How much more difficult is convex optimization than complexity theory? I'm not sure, but I don't think one's necessarily easier than the other.


I can only speak from my own experience but in general I found EE to be much more challenging, particularly in the sub-fields like DSP that involved a lot of probability.

I think what makes CS more tractable is that the theory is easily testable and you can write a program and see things work. Many times when you're working with signals and antennas all you have is the theory and there's very little you can do to visualize what's actually going on, not to mention working in the analog domain always throws you some surprises.

Never in CS will you hear "Well that's due to relativistic effects."

Additionally there's the practical problem in EE that you rarely encounter in CS of actually building physical things. How many times has a program given you bad results because someone somewhere turned on the microwave? :-)




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: