<p>I'm thinking of doing undergraduate for electrical engineering, and software engineering for masters. I'll learn some programming in electrical engineering and I want to keep my options open for both working with electrical gadgets and for programming as a career. Is it possible or a good idea?</p>
<p>If you know you dont want to do pure EE, then you might as well get a BS in Computer Engineering and knock out 2 birds with one stone. Maybe do EE with a minor in computer science or just tack on some extra computer classes. </p>
<p>Get some experience in fields you are interested in before you begin to think about a masters.</p>
<p>My cousin is doing EE, and yet he say he took many programming courses. I also have interests in machines and circuits so that’s why I don’t wanna do computer engineering.</p>
<p>Many? I would say a few. You learn C, maybe C++ (depends on your school, but you can pick it up on your own), matlab, and assembly as the main ones. Then if you want to do circuit design Verilog. Once you learn a language, it’s very easy to learn another. </p>
<p>Pick up some CS topics in undergrad. Can’t hurt and will make you very valuable. </p>
<p>To answer your question, yes you can get a masters in any field you want. But just know that you don’t have too. An EE with programming skills will have plenty of job options to choose from, even with a BS. Once you know what you like and what you want to specialize in, then you get your masters in that field. You can either go directly to a program after undergrad or get a job and have them pay for it.</p>
<p>Possible, but of dubious value. Companies I’ve had experience with tend to emphasize CS fundamentals in software developer interviews; skipping that stuff in undergraduate may backfire if it’s not rehashed in graduate school.</p>
<p>Computer Engineering or EECS programs might help you get around this, but these may sacrifice depth (hence possibilities) in EE in order to provide an adequate grounding in CS fundamentals.</p>
<p>Many graduate CS/software programs will also have prerequisites, some but likely not all of which you may be able to complete as an undergraduate in EE. Be prepared to take remedial coursework and possibly receive less than highest priority for assistantships, etc.</p>
<p>You’d be much better off figuring out what you want to do and committing to that. Failing that, it’s probably a safer bet to major in EE and hope that you can wing it into a job in software than vice versa; supply has already met demand in EE, so having the right credentials is much more important than in software, where demand is so far ahead of supply that many companies will hire anybody who can spell the words mobile, cloud, Hadoop, etc.</p>
<p>The board support team at work is full of BSEE / MSCS people… While they aren’t as good coders as we CS drones are, their understanding of schematics and hardware design and debug instrumentation gives them an incredible edge on the basics of, say, bringing up Linux on new hardware…</p>
<p>A lot of them are graduates in the dark ages before BSCE existed so they’re all pure BSEE’s, and may have taken little more than a CS class or two in their BSEE. Prereqs are an issue but even a pure BSEE has a couple of electives one can take to minimize time.</p>
<p>Now, remember, a BSEE/MSCS dude is not going to interview for my job (pure software) any more than I will for his. In other words, he’ll be more valuable in a job that combines software and hardware, rather than pure software.</p>