<p>One of my buddies was trying to decide between ECE and CS back in freshman year. Now all he does is complain to me about how boring his circuits/digital logic/whatever classes are, and how terrible his professors are. I can’t say my CS experience has been that bad. I ask him why he doesn’t switch, and he tells me “well, it’s supposed to get better during senior year.” Eh, at least he doesn’t disagree anymore when I tell him ECEs do the CS major’s *****work.</p>
<p>Which course would you rather take: set theory, or wireless communication?
Would you rather design a pipelined processor or a search algorithm for a tree?</p>
<p>ECE > CS! Its a no brainer ;)</p>
<p>Well, ok fine, cs is cool too.</p>
<p>Have fun making processors while I lay down the foundations for Skynet. Muhahahahaha.</p>
<p>I did computer engineering during undergrad, which is like a double major in EE and CS (take both sides’ required courses).</p>
<p>Each was enjoyable in its own way. EE is like applied math. CS has a lot of concepts, little to no math unless if you go into research, which 99% of CS jobs are not.</p>
<p>In the end, I found that there were much more jobs openings in CS than in EE. A lot of EEs also end up in CS jobs. Check your school’s career website for a sampling of the job listings. Get an internship to see what’s like on the job.</p>
<p>Couple more points I wanted to add:</p>
<p>national statistics aren’t very useful. The biggest employers of software jobs, in silicon valley, pay ~$80k for BS, $100k for MS. Yes, cost of living is a factor but not that much until you want to buy a house. And it isn’t nearly as competitive as it may seem; the new hires come from a variety of backgrounds and skills. Guess that was a euphemism for the range in quality.</p>
<p>An EE/CE major has a harder time during software interviews. You’ll need to spend significant time brushing up if you don’t continually take programming classes. Also, some employers, perhaps out of simplicity, filter by CS majors. You might as well take the few extra courses to double major in CS.</p>
<p>“national statistics aren’t very useful.”</p>
<p>We would all like more useful statistics if you can find them. I assumed the BLS adjusted for things like cost of living.</p>
<p>I’ve been introduced to programming since I was relatively young… around 8th grade. I’ve taken a couple of courses in computer programming (intro level CS) and know some very good and very passionate CS people. My choice of major is EE.</p>
<p>What I’m going to say is that pretty much this whole thread is narrow-minded BS… I don’t think that proponents of either field are doing any favors to their own field by presenting such narrow-minded understanding of other fields.</p>
<p>CS and EE overlap in many ways, but there is no reason why one is better than the other. Here’s an idea for the OP… you like CS and you like EE, but what do you want to do with them? If you don’t know this yet, then you really don’t know what major you “like.” Try to stop thinking that a major dictates what you do. I don’t know why people feel that if they have a degree in EE they “can’t” do CS, or vice versa. If anything, being able to earn an engineering degree tells you most blatantly that you can learn to do pretty much anything. Use this to your advantage and spread out into multiple disciplines.</p>
<p>So how do you spread out into multiple disciplines? First thing, if you’re having trouble deciding between EE and CS then you don’t know what you want to do… do more research, find out real problems that exist in each field… delve deep, look into current research on univeristy websites, read papers written by professors and grad students, and see what excites you. Read wikipedia pages on CS theories (keywords: turing, automata, set, discrete) and EE theories (keywords: E&M (Maxwell’s), Fourier, photonics, logic design, quantum). Sure, many people will tell you that theory doesn’t have much to do with real life, but your decision here concerns schooling, and schooling is very much theory.</p>
<p>Honestly, the CS vs EE choice should not be very difficult if you think about the right things (ie: not money, and not jobs, not coolness factor). For one thing, please consider the one very basic difference between EE and CS… CS will involve a LOT of coding. This means that you will be sitting in front of your computer screen for a very very long time… this may not seem like a bad thing right now, but trust me, if its not your thing you won’t be able to do it… extensive time in front of the computer was a deal breaker for me when it came to CS. And I still love CS… just not the way CS people do, thats downright massochistic in my opinion!</p>
<p>Once you get a better idea of what these fields are really about, you will no longer have any problem deciding. And you can’t understand these fields with just a day or two of research… you’ll have to spend significant time and effort into understanding what they’re all about. At first, they both seem very exciting but as you delve deeper you will find yourself more attracted to one of them than the other… for mostly practical reasons (ie: automata theory is cool but I really don’t care about it… i’d much rather be involved with signal processing). Once you start finding problems you actually care about, that’s when you’ve found the right major.</p>
<p>So once you start researching these fields you will gain contextual understanding that will help you see how these fields are applicable in today’s world. You will see the overlap between not just EE and CS but also between ChemE, MechE, physics, mathematics, nanotech, materials, bio/biomed… you may start finding out that you actually like each and every one of these fields… what are you going to do, major in all of them? No! What you’ll also see is that people with backgrounds in any one of these fields are crossing boundaries into vastly different fields and contributing extensively in novel ways. Their degree means nothing! So at this point the best you can do is do some preliminary research and pick the major that you seem to like, and then expand into whatever else you’re interested in by: taking classes outside your major, reading books and/or getting involved in multidisciplinary projects, checking out research in different fields and finding ways that you can contribute, etc… really, the possiblities are endless!</p>
<p>
</p>
<p>Wait 'till you take CS32 :D</p>
<p>
</p>
<p>Typically, CS majors do things related to software development, and EEs are involved in nearly all projects that involved electric components. This is simply convention but there is no reason why EEs can’t be involved with a CS oriented job and a CS major can’t be involved with a more EE oriented job. However, you will notice that CS is immensely applicable and is therefore highly pervasive. It is easier to find applications of CS than it is to find applications of EE (in other fields). For example, CS can be applied to EE, to ChemE, to MechE, to Aerospace, to finance, to biology, to astrology, to business… you name it. Hence, CS majors (or rather… programmers) are in high demand.</p>
<p>Nevertheless, a CS majors’ job tends to be rather predictable (in my opinion). Outside of the multitude of applications of their work, what their work ends up involving is pretty much just coding and/or coming up with algorithms (and having a codemonkey code it for you). EEs on the other hand can enjoy a more diverse job simply because the scale of projects they design can be vast. From computer hardware, to small devices, to large machinery, to abstract physics, to densely mathematical signals, to complicated circuitry, and to pretty much anything having to do with electrons (and these days, even photons and other waves/particles), EE is applicable. This can tend to mean that your work can even involve some amount of mechanical (microelectromechanical [MEMS] systems) or chemical (semiconductors/nanotech) involvement. Not to mention, that your designs will not only be abstract but will adopt various phases… design (computer-based or drawn), mathematical foundations, code, hardware, circuitry, chemical/mechanical considerations, and other hands-on type of things. In other words, you get to deal with a good grip of theory and design (from simple things like KCL and KVL circuit laws to high faluting quantum physics, discrete mathematics, and other concepts) first, and then you move into the more technical and “fun” aspect of throwing your fabbed design together, and testing it. This will generally involve more hands-on work than typical CS projects.</p>
<p>There really are no advantages/disadvantages of either major (outside of market fluctuations in demand/pay of either profession, and I’m not too knowledgable of these things). I think if you go deep enough both majors can be very fun, but they are each best suited for different types of people… you’ll just have to find out which type of person are you. I can’t help you much with find that out because each person tends to make this distinction in a unique way, and I think its best that way.</p>
<p>
</p>
<p>Well played electrifice. I hope ConcernedMathMajor will read your post and realize that majoring in math will not necessarily stop him from landing an engineering job.</p>
<p>Studying the course requirement and the contents of the courses is a good way to determine what field you should major in. You need to read the specific catalog of your own college to figure out what you want to study or not. Programs at each college are different, especially programs related to CE, CSE. You may want to visit the bookstore to browse the books required for each class to get some feeling.</p>
<p>Majoring in math or CS will not make it impossible to land an engineering job. Majoring in EE will not make it impossible to land a CS job. It will, however, make it substantially harder. If you want an EE job you should major in EE. If you ended up with the “wrong” major and want a job in some other field it’s not the end of the world but it is far from an ideal situation.</p>
<p>Some employers may dismiss an EE that applies for a CS job and vice versa. As a result, there will simply be fewer job opportunities. This is likely going to be increasingly true as more and more jobs are lost and underemployment becomes a bigger issue. Why hire a new graduate who likely has little to no experience with the working world when you can get someone with a few years of experience for the same price?</p>
<p>While there is usually some overlap in classes/material for CS and EE majors at most universities I’ve seen, it’s not much. EE majors might learn the basics of coding but will likely not learn much about things like compilers, operating systems, and algorithms. CS majors might learn basic circuit analysis and a bit about digital logic but they’re not going to create a stepper motor controller or A/D and D/A converters out of hardware. Obviously, someone who is motivated can take more classes outside of his selected major to become more cross-disciplinary but in reality this rarely happens and most students are happy to just graduate and be done with school.</p>
<p>Fortunately for people interested in both EE and CS there is CompE, which is a good amount of EE and a good amount of CS.</p>