<p>I really want to major in Computer Science, but also want to learn about designing and putting together hardware. I changed my major yesterday from CS to CE(and maybe even EE AND CE since it will only be 15 more hours overall). I want to learn about everything in CS though, but since CS is in the college of arts and sciences and CE is in the college of engineering it would take way too long to double major. Then I thought, learn the hardware to the best of my abilites(and then read books and learn programming and cs on my own). I know this is attainable because I am REALLY good with computer and it doesn't take more than a couple of minutes to understand an alogirthm or solve complicated problems. What I really want to get out of my college degree(aside from being financially stable and secure) is that I want to be able to design anything I want, AND program it to do specified tasks as well. Would I be able to learn how to do that with just an undergraduate degree? For example, let's say I wanted to design a water cooler for my PS3, or make an HDMI switch for the many devices I have in my media room, would I be able to do that or is that way too farfetched? Is there any school that you know of that has a ECS major where I could get the best of both worlds? I also had one more question. I was looking though a couple of magazines about the job outlook and the amount of money CS and CE undergrads make as soon as they graduate. In all three of the magazines, the CS one was higher by four to five thousand. My understanding was that CE is harder because the upper division math and physics you have to take, which you don't have to take as a CS major. What's the reason for the higher annual salary for CS Majors? I am going to attempt to transfer to GA Tech, UT Austin, Texas A&M, or UIUC for Spring 2011 with 82 hours and a 3.70. Please let me know what you think. Thanks a lot!</p>
<p>I’d say figure out what you like more and go with either CE or CS. You do take computer systems classes in CS that tell you exactly how a computer runs and works, but no circuit building yourself necessarily. CE is probably more hands-on with hardware. CS is a lot of theory and has programming to test algorithms. If you’re not interested in theory at all, then you should go with CE. I’m sure CE has computer systems classes that go even more in depth.</p>
<p>I love CS, but I feel like I could learn what I DONT learn in college on my own time. It would be very hard to learn how to deal with circuits and what not on my own. Would I be able to do the aforementioned with a degree in CE - Design hardware and put everything together, then finally do the low level programming to make it work?</p>
<p>First of all, starting salaries are dictated by market demand, NOT difficulty of the major.</p>
<p>I think CE is the best choice for you. You will learn both hardware and software (with emphasis on embedded aspects).</p>
<p>My EE professors always told me that to get a job in EE, you need to know 3 things-- MATLAB, pSpice, and C++. I think in CE or EE programming becomes fairly important as well. Of course you won’t go into as much depth as the CS major, but you’ll definitely be more well rounded in our knowledge of both hardware and software.</p>
<p>Thanks for the response guys! Can a CE or EE major tell me if I will acquire the necessary skills to design my own hardware and program it as well?</p>
<p>Yep. I’m a Computer engineering student and I can do some crazy stuff with hardware. The only thing I lack right now is C/C++. I have about a year experience with it but our CS department teaches Java so it is hard to stick with C/C++ thinking.</p>
<p>Some universities will do a CpE program with a major programming emphasis (more CS). Some will do it with a major electronics emphasis. Do your research. You want a good mix of both if you want to work on embedded systems</p>
<p>If you don’t mind me asking what college do you goto?</p>
<p>Syoware…</p>
<p>Not a bad idea to learn C++. If you ever do any defense work, C++ is still favored sometimes over Java because if its encryption capabilities. Personally, I think Java is catching up, but you still have a bunch of upper-level decision-makers who trust C++ more.</p>
<p>Oh…and C-Sharp too.</p>
<p>I go to the university of nebraska lincoln, at omaha’s campus</p>
<p>Things I’ve learned here:
Languages: VHDL/Verilog HDL, C/C++, Java, x86 Assembly
Software: MATLAB, PSpice/Multisim, Quartus II, Xilinx ISE, Eagle, OrCAD Cadence
Mathematics: Multivariable Calculus, Differential Equations, Statistics, Probability</p>
<p>And of course the electronics jazz</p>
<p>Our program is pretty good, and we have good facilities. Obviously it won’t compare to an ivy. However, I wouldn’t recommend this college only due to the fact that all relative employers in town are software jobs (paypal, hdr, first data, lockheed, northrop).</p>
<p>But union pacific hires anyone. I mean anyone. half my class works for union pacific. they do a lot of their own engineering due to the fact that there are only four railroad companies in the us.</p>
<p>You’ll have to check each university you are looking at to see how EE and CS relate to each other.</p>
<p>Some universities have an EECS or ECE major which allows the student freedom to choose whichever topics in EE and CS to concentrate on. Others have distinct EE, ECE/CE, and/or CS majors which imply concentration in particular areas (e.g. EE for electronics, communications, power, etc.; ECS/CE for computer hardware and architecture with some electronics and software; CS for software and theory with some hardware and architecture).</p>