I need your help, please.

<p>Hello,</p>

<p>I am a rising junior, and I still can't decide on my major. I have taken many CS courses, and I have realized that I love CS. At the same time, I have taken 2 EE courses, and upon actually soldering, programming my micro controller, and creating my own project for a class, I've realized I love EE!</p>

<p>Now my dilemma is the following:
I was advised to major in Computer Engineering, but at the same time I have realized that Computer Engineering lacks CS, and at the same time I can't become an RF engineer(I also have an interest in that)with a plain CpE degree. My next desire has been to double major with EE, and CS, but that would add an additional year to my graduation(which isn't really a problem)but then I've realized I could be investing that 1 year in grad school, or be working.</p>

<p>What should I do? Major in CS, and take EE courses that interest me? would I be able to work in the CS industry? Should I major in EE, and take CS courses that interest me? At the same time, I attend a very good CS school - Stony Brook University. </p>

<p>Please help me out here. In all actuality, I would like to be able to be employed in both EE and CS, since I love both. It's now a matter of demand, and what I can do to be more flexible in both fields.</p>

<p>I look forward to your responses. If possible, please share your experiences.</p>

<p>I would appreciate it if members of the community such as KamelAkbar, Globaltraveller, UCBALUMNUS,Jxwie, and others can partake in this thread. I really need some advice.</p>

<p>Golden Solution:</p>

<p>EE major with a CS minor</p>

<p>Burgsoccer09,
Thanks for your response.</p>

<p>Well, would that open the doors for CS related jobs, if let’s say EE has a rough phase?</p>

<p>And wouldn’t that sort of be similar to a CpE degree?</p>

<p>Looking forward to your response, along with other members.</p>

<p>Also, just to add, I have already completed calc1,2,3,D.E,Linear Algebra,Phy1,2 and I’m done with all the general ed requirements.</p>

<p>If you get a CS minor, that could certainly open up many dual hardware/software jobs out there, especially if you have an EE major. If you want to specialize in RF then you will probably have to major in EE. If you take a CS minor, you will only add a few classes yet get the core of the CS program (Data structures, algorithmic development) which could open the door for employment down the road. I don’t see EE hitting a rough patch in the near future, but if you want the best of both I say an EE major with a CS minor. The other way around (CS major with EE minor) won’t do you much good because CS major = software for life</p>

<p>At most schools, CE is a combination of CS and EE – which seems to be exactly what you’re looking for. Some schools like Berkeley and MIT don’t offer a CE degree, but offer equivalent degree programs called EECS. </p>

<p>In the industry, it’s rare to find someone who has significant experience working as both an Electrical Engineer as well as a software engineer. I know a lot of people who have CE/EECS backgrounds, but after college, it seems like most of them either choose careers in one or the other.</p>

<p>^
That’s exactly what I want. Since I enjoy both, it would be a matter of which industry decides to scoop me up first. The concern I have here is, will CpE train for both CS and EE jobs? Here is the link to our CpE and EE program:
<a href=“http://www.ee.sunysb.edu/[/url]”>http://www.ee.sunysb.edu/&lt;/a&gt;&lt;/p&gt;

<p>I’ve noticed it’s heavily EE, yet it lacks several important classes. My concern is, if let’s say I graduate with a CpE degree, can I slide into an EE position or CS position? I have a feeling since I would be a hybrid, EE’s would assume I know less than them, and CS majors would also feel similarly.</p>

<p>Would a double major serve me good? I have already decided that I love both, and I’ve taken several classes in both disciplines already. Now it’s all about employment and job prospects. The thing that entices me the most about CS at Stony Brook is that it’s a very strong program. I mean, even the president of Stanford University graduated from Stony Brook. At the same time, I feel as if I don’t acquire an EE degree, I’ll have that guilt feeling living with me forever.</p>

<p>For those that will recommend to take courses in both and see what you like more, I’ve already done that, and I just simply love learning about both disciplines. I can write code for hours, and I can see myself playing with resistors at the same time.</p>

<p>I would really appreciate it if many other members can participate, and shed their 2 cents on this matter.</p>

<p>Thanks, I appreciate the responses so far.</p>

<p>Most CompE programs will not give you enough CS courses to do software engineering, so you have to take a little more than a minor in CS for software engineering. Here is a couple of paths you could take:</p>

<p>1) Major in EE because you pretty much need the ENTIRE EE degree to do EE work whereas you do NOT need a full CS or Software Engineering degree to do Software Engineering. Also take a “more than a minor” in CS courses to prepare you for software development. The CS courses you should take are:</p>

<p>Algorithms (A core undergrad CS course that will be required by almost all grad CS programs)
Data Structures (needed for same reasons as Algorithms)
Theory of Programming Languages (needed for same reasons as Algorithms)
Operating Systems (needed for same reasons as Algorithms)</p>

<p>Elective CS courses that have the most job opportunities include: Computer Networks, Database Systems, Cryptography (may be cross-listed as a Math course) and Information Assurance.</p>

<p>2) Grad school using a Master of Engineering program - Some MEng programs are just a “hodge-podge” of graduate engineering courses with no “official” major. Look at the MEng programs at North Carolina State, Texas A&M and Texas Tech. UCLA has a pretty flexible “M.S. Engineering” program. With any of those mentioned graduate programs, you could take 5 EE courses and 5 CS courses for your 30 credits.</p>

<p>Based on your interests, I would avoid CE - the software sections of CE are based on “low-level” languages designed for constructing a BIOS and similar fundamental applications, and the hardware sections of CE are focused on those areas of EE specifically involved in designing computer hardware. No RF. Minimal software engineering. Great focus on producing one single specific product - a computer.</p>

<p>Global is correct - you can do software engineering without a CS degree, but you cannot generally do electrical engineering without an EE degree (although in RF applied physics might also work). I would do EE with some CS coursework, perhaps a minor. Alternately, consider getting a BS in EE and then an MS or MEng - I did a degree like Global describes, and once you are in it there is a lot of flexibility in course selection.</p>

<p>Many EEs around here work as programmers (Microsoft, Google) without the CS minor. The interview process includes some programming tests that the EE curriculum should cover. Some EE concentrations are heavy in software application. No CS majors could do the work of an RF engineer - completely out of the realm of their schooling.</p>

<p>You may want to look into National Instruments for co-op or internship.</p>

<p>Okay. I just came back on CC after diving in the deep water for 6-7 months.
Sorry.</p>

<p>I am now a CS major after two years of CpE. I will explain why I made this switch:</p>

<p>Computer engineering and computer science have many overlaps but they are quite distinct if you think about it more. CS tends to be more theortical and focusing on software development rather than digital hardware design. Now in the industry it is still pretty blurry as to what task can a CS do and what task a CS will not be able to do. </p>

<p>** CS doesn’t know hardware design**
That’s true if and only if you can’t recall from your computer system and your organization & architecture classes. You actually do know something about hardware design. You do know how to build a simple CPU on an FPGA if you have done that in your organization class. You do know how computer is organized. Does that require knowledge of Computer Engineering? No. CpE is helpful when you deal with more complex design. But if you work hard enough and you are very smart, you can pick it up fairly easy. My TA has a minor in CS. After college he works for a security design firm and when he comes to his master he designed a chip for the Defense department. That’s a sick project, dude. I can’te tell what he did but the chip does some sick things.</p>

<p>I don’t think people design a chip on paper from scratch these days. You do the design on computers and you have mega built-in tools that allow you to create more complex functionalities. That chip he designed is very advanced and require more knowledge than what an undergraduate CpE can do. Thanks to his experience from work, of course. </p>

<p>I was falling behind with some of my EE courses, and I do not see myself capable of coming up with a better mulitplication circuit. It takes decades for the pinoneers to come up with a faster mulitplicator. Like many of my PhD friends said, you need to be really really smart to see how things can be done differently. Now of course not everyone is gifted by nature, and not everyone can get that top jobs. But if you are afraid and you feel like your main focus is more on software development, it might be a good idea to rethink.</p>

<p>Computer science is not as easy as computer engineering. It can be just as hard as a computer engineering major. The hardest theortical stuff thus far that is putting me behind is algorithm. It is tough. Lots of things to remember and understand. It takes a lot of brainpower to build a smart algoirthm too. </p>

<p>A doubl major, or even a dual-degree, or a minor is pretty much a waste of time. Pick one that you are more comfortable with. A lot of times we want to be big, but the truth is we don’t have the time of our lives to think big unless we can do something exceptionally well. Do one thing first and then see if you want to do another thing. </p>

<p>So what is really pushing me to made the switch? I like CS better.</p>

<p>Some CpE students do pure math research, and some CS do eletronic design at my school. So it is not rare to find a couple people doing something outside their primary domain. </p>

<p>I am planning on taking a year longer to graduate, giving me more time to complete my CS degree, more time to understand how to write better software and think better. </p>

<p>If you are freshman, take Computer Engineering first. Maybe a year or two later you will understand what you want to do for the next couple years (I said couple years… not forever). By the time you are in ur second semester of sophmore year, you probably have a good idea of what you enjoy to do.</p>

<p>I still stand by my opinon I made in the last two years: CpE (most of the programs) do give you a very good in-depth understanding of computer system, hardware design, and computer science.</p>

<p>If you like both CS and EE, you should be OK in either one. Just major in either one and take courses in the other. If you like one even a little more than the other, that’s probably a good enough reason to manor in that. In the absence of any preference whatsoever, EE wouldn’t be a terrible idea, just because it would be harder to break into EE from CS, compared to breaking into software from EE. That being said, you shouldn’t plan on getting a software job as an EE… if you know you want to do software, focus on CS.</p>

<p>I took 3 EE courses, got straight A’s in all of them. I took 2 CSE courses, got A’s in em as well. Ended up with a 4.0 semester GPA. However, I will stick with CSE simply because I prefer CS over EE. Even though I enjoy both, there are hardly any jobs in New York for EEs. I searched on over 10 job sites, and while there are some openings – one can only imagine how many fresh grads are applying to em. The other listings request 7-10 years of experience. Talk about a scam, how on earth do they expect a fresh grad to have EE experience when they end up as bankers. Don’t believe me? Visit the Stony Brook’s engineering school, or Grove School of Engineer and ask the advisors. Yes, not ALL end up as bankers but a large chunk does. Since SBU has a better engineering program(when compared to city college)Northrup Grumman snatches 1-3 grads per recruiting seasons. That’s all I’ve heard. Those openings too, are in the suburbs of NY. Boeing, TI, and others expect you to relocate(something I am not interested in. I’m a NY boy)</p>

<p>CSE on the other hand, has far more jobs and better pay. In fact, those “EE” openings that I saw even listed CS as a qualifying degree.</p>

<p>I think it’s extremely safe to state the following:</p>

<p>There are far more jobs in software, than in hardware. I will continue to take a few more EE courses, such as embedded systems. I won’t however major in it. In fact, according to my advisor, the majority of EE grads end up in the banking industry. And, since CpE and EE’s don’t take anywhere near as many CS courses, they lack the skills needed to fill up CS jobs. </p>

<p>CS is the future, and I am glad my friend JXWIE has awoken and realized that.</p>

<p>To confirm your suspicions regarding job prospects, check the BLS OOH (just Google it)… check Engineers and Computer Software Engineers.</p>