[MajorFilter] Computer Engineering or Computer Science Major? Help me decide please! (3rd sem already) and don't know what to be!
-
Hey guys, Computer Engineering 2nd year (3rd sem) here at the University of Maryland College Park wondering if i should stay in my major or switch to Computer Science. I am super confused right now and am hoping that some of you can help me think. Bear with me while i ramble on I do just love working with computers and building things for them so it was no suprise I am going to stay in a computer field. I originally went computer engineering just because it seemed more prestigous (engineering, limited seats, once you leave you cant come back) and the fact that it seemed to be both hardware and software. Now I consider myself a software guy and while i enjoy learning about hardware i dont imagine a job in it. Still Computer Engineering seemed a way to get the Computer Science curriculum and do some extra work and get some extra hardware knowledge that could only help. Now I am having second doubts. Now my ideal goal is to work at a place like Microsoft or Google (yes its a lofty goal), and I know to work at places like these you need excellent code fu. I wonder if working for a computer engineering degree where i dont take as many CS classes but instead take more Electrical engineeringish classes is really the best idea (like CE is 80% hardware). Now asking everyone I know these are what various people have given me as advice: 1. Friends/Adults in the Computer Science field: -Go comp sci if you want a software job and computer engineering if you want a hardware job-Get a Business (really management) focus or minor (not offered at maryland) so you can code for a couple years then try to get a management position.-Get an MBA at a good business school after having a job for a couple of years 2. Head of computer engineering department: -Recruiters come after computer/electrical engineers a lot its really in demand (this is true we have our own job fair)-CE's get paid more-Knowing hardware lets you optimize your code better and stuff. 3. Faculty member in the Computer Engineering Dept. who used to be in Comp Sci Dept.-CE because in the future hardware will be me more tied to software, such as with parallel processing and this will help-Look at 400 lvl (senior year) classes in CS that you would want to take and take them as CE as well. (problem with this is Im also going to have to take 400 lvl electrical engineering courses which will restrict my time for CS stuff) 4. Parents -Engineering sounds better 5. Me -Computer Engineering does seem better sounding than Comp Sci but does that really matter?-Comp E has b.s classes (at least in my opinion) like physics and chem and like technical writing. (maybe not b.s but bleh)-Comp Sci seems easier to do, therefore i can fit more CS classes in and learn more-I am still looking for real world applications though for whatever i learn. I am not going into research or anything. If you guys believe i should really put in a business background and stuff please say so. Being realistic here. Money and Enjoyment if possible to balance. Btw here is the major reqs for CS:http://undergrad.cs.umd.edu/major-requirements-checklist/ and sample plans (Core is like classes everyone has to take like art, history bleh)http://undergrad.cs.umd.edu/sample-plans/ And for CE:http://www.ece.umd.edu/Academic/Under/advising/CP_degree_reqs.html Now if you guys are still reading (wow thanks!) i guess to sum it up what do you guys think i should really be? I would like to work at a place like Microsoft (and have been given interviews with them with no luck) and do companies like them really care if you are a computer engineer or scientist? Should i go comp sci and a business focus, or just plain comp e? Ive been going back between these 2 majors for a while now and finally just want to make a decesion. Thanks youll be helping me a lot! :)
-
Answer:
caveat: I have a CS PhD, so maybe I'm biased. I think your friends/adults in the CS field are correct. If you're interested in doing hardware, meaning things like designing chips, building embedded devices or robots, and such, the CE is a good field for you. if you're interested in writing software, then go to CS. In addition to learning to code in a CS program, you'll also learn the other things that an employer such Microsoft or Google will expect you to know about, such as algorithms, big-O, software engineering skills, and so on. MS and Google aren't really in the business of building hardware, so the bulk of their employees do more CS-related things. (An aside - I know people at both MS and Google and, while they expect you to be a good coder, they also really want a strong understanding of CS fundamentals, the ability to work well in a team, and experience with large projects. So either way, take classes that give you the opportunity to do large-scale projects and/or get involved with an open-source project.) Your CE chair is correct in saying that there will be a niche for people who understand hardware, due to the increasing importance of concurrency, either across machines or within multicore chips. However, there's a question as to the level at which you'll need to understand that hardware. If you want to design multicore chips, then lots of EE and physics will be helpful. If you just want to program them, then you'll want a foundation in architecture and operating systems. But keep in mind that this is just one career path - if you're writing games for the PS3, you'll be spending a lot of time doing optimizations, but if you're writing a spam filter for Google, I doubt you'll spend much time thinking about optimization at that level. The business minor is useful if you want to do a startup at some point, or you're thinking about making the transition into management or client relations. Some people love this stuff, others hate it. Don't get too hung up on which one 'sounds better' or average salaries or number of jobs - there's plenty of jobs for talented people in both areas that pay just fine. It sounds like you need to think about what's right for *you* - it's not that one option is good and the others aren't. They're all potentially interesting areas, it's a matter of where you want to wind up.
Javed_Ahamed at Ask.Metafilter.Com Visit the source
Other answers
I don't think it matters enough if switching majors would delay your graduation. After a couple years, your experience will matter more than the specifics of your degree. As long as you are getting the algorithmic theoretical background in your classes, you should have no problem.
demiurge
You sound a bit like me (: I'm a high school senior right now, entering a university next year, and I've been trying to decide this for a while now. My parents also pushed engineering down my throat because being "an engineer" seems so prestigious to them. I've known for a long time that I'm a CS guy at heart, though ;) I plan on pursuing majors in computer science and mathematics and a minor in computer engineering in college. I should graduate with two degrees (B.S. in Computer Science with minors in Computer Engineering and Mathematics, and a B.S. in Mathematics with minors in Computer Science and Computer Engineering). But that's only because I just really love math. The CS/CE split is very much so I can have more experience with every level of the computer. I don't plan on working in hardware, but knowing enough hardware to understand programming and efficiency and such is a valuable thing. I just want a foundation to build off of in my CS work. Even if your school doesn't allow minors like mine does, take enough CE to know your way around the hardware, then major straight CS. It seems the best way to go about getting the job you want at MS/Google/whatever.
Precision
ah cool callmejay. Much better knowing from UMCP 2!
Javed_Ahamed
I got a BS in CS from UMCP and employers (for programming jobs) seemed quite impressed with that. Maryland's got a great reputation in CS, at least locally. I'd say do CE if you want to do hardware, but otherwise stick to CS. I think the CS degree is impressive enough that you won't have trouble finding a good job. One thing you might consider is cozying up to some of the professors, who often work closely with private companies and sometimes even work at private companies themselves.
callmejay
Comp E has b.s classes (at least in my opinion) like physics and chem and like technical writing. (maybe not b.s but bleh) You don't need a huge amount chem to write code, but there's a fair bit of physics in game design. Not as much as you'd need for chip design, but still. But please, please, please do your best to extract as much skill as you can out of the technical writing classes. Until you've worked in programming, you have no idea of the sheer amount of time and effort pissed up against the wall due to misunderstandings caused by poorly written technical documents. The ability to write a good, clear spec is absolutely saleable, and the orderly thought processes required to make that possible will absolutely make you a better coder and especially a better software designer.
flabdablet
I agree with TheOnlyCoolTim. I did EE and came out of college doing development... Perl/ java/ webapp development and project management. I didn't learn much java in college, but I learned how to learn with an EE degree. Seems like it's a bit more prestigious degree and people will hire people with the degree to do things that they may not know. My manager is, however, a CS major. He and I share a lot of the same knowledge, so they're probably pretty interchangeable. I liked EE more than I would have liked CS, but you're probably very different than I.
ets960
Thanks guys! Yeah I might be leaning more towards CS now i guess one of the things really that was stopping me was the fact that it seemed kind of a "less or easier" major than CE which it really is and that recruiters would wonder. I guess for the places im shooting for they care more about your coding experience instead of your major anyway.
Javed_Ahamed
Btw i cannot get a minor or a double major in CE/CS since they are similar and my school will not allow it. Don't worry about having an official minor status. If you can take the classes and learn the stuff, you can just put it as skills on your resume and talk at interviews about how while you weren't allowed to claim a minor you possess skills from both sides.
TheOnlyCoolTim
I've a bachelor's in EE and am currently going for a PhD in a way that's sort of in between the EE and CSE departments (of course at some places they put them all in one department as EECS, which seems like the best thing to me though I've never experienced it myself). My advisor is primarily in the CSE dep't but holds joint professorship with the EE dep't., though I forget if that's the correct bureaucratic term. He too came from an EE background. While we're EE I think the experiences apply as your CE is in an ECE department - meaning, and the course listing suggests this to me, that you'd pretty much be doing a computer flavor of EE. The pro of the ECE: If you take the CE track at an ECE dep't. you are quite likely to be able to pick up any CS stuff later. I can jump in and take most grad-level CS courses and the ones I'd be wary of taking aren't because of anything that was unavailable to me as an EE. If you get a job coming from an ECE dep't they should be able to train you in whatever CS stuff you're lacking. Vice versa it frankly doesn't work. You're pretty unlikely to be able to jump into the ECE-type stuff from a CS dep't. So there is that limitation, though it may not matter to you. The cons of the ECE: while you'll have the ability to pick up more of the CS-type stuff, you probably won't have the chance to do as much of it during college. You're likely to come out with somewhat less practical programming experience, for example, and what you have will be most likely lower-level. Most of my programming for school has been a little Assembly, a lot of C, and MATLAB, with a little C++ and Java. While I could pick up your fancy Pythons and so on if necessary I didn't get exposed to any of that in EE, though that's somewhat by choice as I rather prefer the lower-level. It's also probably going to be more grueling, a plus or a minus depending on you. I would like to work at a place like Microsoft (and have been given interviews with them with no luck) and do companies like them really care if you are a computer engineer or scientist? I have straight-up EE friends at Microsoft - also, Microsoft and Google do research so don't disregard that as a path. To a great extent your college career gives you a background that lets you learn how to do the job; it doesn't teach you how to do the job. This is where the ability to pick up CS from an ECE background is a plus - to some extent they care more that you can learn it than that you know it already. To some extent reading your post I feel you would like CS better - but one thing to keep in mind is that whatever your major is you get to shape your curriculum somewhat and could probably manage to be in-between the CS and ECE dep'ts from either end.
TheOnlyCoolTim
Related Q & A:
- Which one is better-computer engineering or computer science?Best solution by Quora
- Don't know a name of the song? What to do?Best solution by Yahoo! Answers
- What kind of jobs are there for a computer science major?Best solution by Yahoo! Answers
- Feeling sick, but I don't know what it's from?Best solution by Yahoo! Answers
- How do I find a certain tv channel if I don't know what number it is?Best solution by timewarnercable.com
Just Added Q & A:
- How many active mobile subscribers are there in China?Best solution by Quora
- How to find the right vacation?Best solution by bookit.com
- How To Make Your Own Primer?Best solution by thekrazycouponlady.com
- How do you get the domain & range?Best solution by ChaCha
- How do you open pop up blockers?Best solution by Yahoo! Answers
For every problem there is a solution! Proved by Solucija.
-
Got an issue and looking for advice?
-
Ask Solucija to search every corner of the Web for help.
-
Get workable solutions and helpful tips in a moment.
Just ask Solucija about an issue you face and immediately get a list of ready solutions, answers and tips from other Internet users. We always provide the most suitable and complete answer to your question at the top, along with a few good alternatives below.