Electrical Engineering VS Computer Science

<h2>Good morrow, CCers. Been following CC for over a year now and I've learned quite a bit here that Google and Yahoo! Answers couldn't tell me. (I've also gotten to laugh at the shenanigans that go on in the Investment Banking forum, but that's another story...) Anyway, the time has come for me to ask your opinion on my current situation. I foresee this being a long post, so you might want to brew a cup of coffee before reading...</h2>

<p>I'm currently a second semester freshman at a small, private HBCU. I'm majoring in Electrical Engineering, and at first I thought this field of study was perfect for me. Growing up I have always been in love with math and science. As I traversed through high school, my love for math (except for Geometry. Geometry can go kiss my angle side side.) increased, but my love of science sort of stayed the same. My senior year, I got to take AP Computer Science and my senior project was to design and build a robot. I enjoyed both quite a bit, but still I decided to major in Electrical Engineering, thinking that I could pursue programming as a side hobby.</p>

<p>Now that I'm actually majoring in EE, I absolutely detest it. Notwithstanding the teaching ineptitude of some of my professors (if I had a dollar for every time my Linear Networks professor has made a mistake with basic algebra...), the classes are just absolutely boring. For example, in my Linear Networks and Circuits Lab class, for the past month it has been nothing but "1) Set up a circuit with X resistors in parallel or series. 2)Verify Ohm's Law or Kirchhoff's Current Law or Wye Delta Transformation or a billion other principles that have already been proven by dozens of scientists smarter than you." </p>

<p>As a high school freshman, I always pictured myself building Tesla's death ray or designing the 19th generation iPod or something, but that visualization is fading rapidly. During the career fair last semester, representatives from companies like Ford, Honda, General Electric and Raytheon dropped by, and as I spoke to them I realized that I don't actually like a lot of the jobs that companies need EEs for. EE professors here don't go out of their way to tell you any of the cool perquisites that come with being an EE major, either. Just a lot of nonsense about "Oh you get to concentrate in Power Systems or Control Systems!" or "I like sensors. Do you like sensors? You should come and research sensors with me over the summer!" It really is disheartening.</p>

<p>As much as I really want to force myself to stay with EE, Computer Science is becoming increasingly tempting. Throughout the engineering building there are fliers for the things I actually want to do, fliers that advertise classes such as Robotics and Intro to Video Game Design. As much as I would like to take them, they are a part of the CSCI department, and each one requires "CSCI (insert course number here)" as a prerequisite. As an EE major, my schedule for the next 4+ years is pretty much set in stone, and I won't have any room for any non-technical EENG electives. To take those classes, switching majors would be my only option.</p>

<p>I understand CS won't be all fun and games and that it will be challenging, of course, but I think I'll like it far more than EE at this point. I've heard and read that CS is a lot of math, and as mentioned above I love math quite a bit. (I'm the type of guy who gets his jollies doing Calculus on a Friday night.) Additionally, the personal benefits of CS are a lot more obvious to me. A great friend of mine since 9th grade (he is now an EE major at Georgia Tech and is in the same predicament I am) has gotten me hooked on augmented reality, something that I think I would love doing as a career. (He and I are both Yu-Gi-Oh! nerds, and the ability to make pseudo-holograms come out of paper cards is a dream come true for us.) Perhaps it's just my school's EENG department in particular, but the things I could do with EE don't seem to compare to the things I could do with CS.</p>

<p>And now, with that long rant over, my question(s) and concerns: </p>

<p>1)Does EE as a study get any more interesting? Perusing College Confidential for a year now has led me to believe that it is impossible to succeed in an engineering field if you are not truly passionate about the content. If EE is this boring for me as a freshman and success without passion is impossible, then I will probably end up graduating with a 2.0 GPA, assuming I graduate.</p>

<p>2)Does CS accreditation matter? One of the reasons I come to you all for advice is that the EE department head is a lunatic. Every time a student even suggests that he/she is planning to switch to CS, the department head will go on a tirade: "CS IS STUPID. Don't tell anyone I told you, but our CS department isn't accredited. You'd be better off with our ABET certified EE program. Blah blah blah..." Truth be told, I didn't know there WAS an accreditation board for CS programs.</p>

<p>3)Will I be able to graduate in a decent amount of time? I was admitted to this school on a full tuition scholarship, thank goodness. It only lasts for 4 years, and after that I'm stuck paying $8,000 per semester on tuition alone. (Slap on another $8,000 for room and board should I continue to live on campus.) I'm still a freshman, but if I switch to CS for next semester will I be put at a disadvantage in terms of graduating time? Admittedly, this is sort of a moot point. Between the course load, potential for failing and repeating classes and "optional" (read: mandatory) co-ops and internships, I probably wasn't graduating in 4 years as an EE major anyway.</p>

<p>All in all, I'm heavily leaning toward switching to Computer Science. The classes offered in the department are interesting, I'll be infinitely more motivated to succeed (my friend from Tech and I are looking forward to working on big things with augmented reality), and I'll have a lot more time. The CS major is much more flexible in terms of courses, and I'll be able to take some classes I want to learn about, like finance, economics and psychology. With EE, that is just not doable. But, before I give this any more thought, I want to hear the thoughts of the CC community. From what I've read, you typically give sound and well rounded advice. Any and all input is welcome! (Unless you're a troll. I don't want the input of trolls.)</p>

<p>Thanks in advance,
-Nergal</p>

<p>1) EE does get more interesting. You just need to develop a solid background in the basics before you move on to the good stuff. You should look at the descriptions for senior-level EE courses to see if they are up your alley. Maybe, i’m wrong and you find those boring as well…</p>

<p>2) ABET doesn’t matter for CS</p>

<p>3) Hard to say that you will graduate in 4 years or not; talk to a counselor. I would say, it should be possible. if you can take a summer quarter, even more so.</p>

<p>Just keep in mind, CS is more than robotics and video games.
Lets see how much fun you’re having when you’re creating B-Trees and calculating the computational runtime of different algorithms. A lot of it is very dry, in my opinion. But again, the senior level courses will be more interesting.</p>

<p>1) EE CAN get more interesting, but that is up to you and your school. Most students find one or more specializations that they can really get into, but not all schools offer all specializations (especially small departments with limited budgets). If they don’t, you still have some good chances in your career or grad school, as most companies understand that with a solid foundation you can probably handle any of the specializations even without the dedicated senior-level classes. But the work really can be seriously fun - my job has had me in planes and boats and has let me play with lasers and radar. It isn’t ALL fun, of course - there is PITA work in every career.</p>

<p>BTW, don’t think that CS is any different in this - much of programming can be routine and boring, and for every programmer I know who is loving what they do I can think of another who hates it and thinks it is all pointless drudgery.</p>

<p>It sounds like you are really interested in innovation and research, but realize that this is a relatively small part of ANY engineering profession - most engineers are doing relatively routine work.</p>

<p>2) Accreditation doesn’t really matter for CS, unless you want to be able to cross over and go to grad school for another engineering discipline like EE. CS is too new and is handled too inconsistently for there to be an expectation of accreditation yet.</p>

<p>3) It depends a lot on the differences between the programs, but for most people a change after the freshman year will result in a minimal change in the graduation time. The only way to be sure is to sit down and plan out the program course by course and see where you stand.</p>

<p>

</p>

<p>Without knowing the details of the courses you have taken and what the requirements and prerequisite chains are for the CS major are at your school, it is hard to say for sure. However, if you are a second semester freshman who is taking second semester calculus or a more advanced math course, the odds are likely in your favor if you plan your schedule carefully.</p>

<p>Are EE’s qualified to do software engineering or other software jobs? I’m asking this because I do have an interest in CS as well, but my heart lies in EE(optics, photonics, RF, EM). And the real reason I want to know is because when I’m casually looking for jobs online there seems to be <em>a lot</em> more software jobs. </p>

<p>If the answer is no, then are there certain classes I can take to be a touch more software engineer qualified? I’m assuming the answer to this question is “Software Engineering class.” But oh well, thanks.</p>

<p>No not really qualified, but a good candidate. Engineers are hired for positions outside their expertise solely due to their ability to think logically and pick up things quickly. A lot of EEs will spend some time with hardware description languages like VHDL and Verilog, so they will get some programming experience. But the main classes/content you really need to work with high level software is Data Structures/Algorithms, and Operating Systems.</p>

<p>There will always be software jobs in hot trends (like apps) outpacing outsourcing. Its a good field to go into but I wouldn’t pigeon-hole myself like that, especially if I had an unrelated degree.</p>

<p>I would look into Computer Engineering. It touches a bit on the analog side but has a huge emphasis on the digital/analog integration. Stuff like sensors attached to embedded processors and fpgas. Robot control systems and such</p>

<p>

</p>

<p>Someone considering a software development career may want to try to take at least these courses:</p>

<p>whatever the introductory CS courses are (intro programming, data structures, etc.)
Software Engineering
Operating Systems
Computer Networks
Introductory Computer Theory (algorithms and complexity)</p>

<p>These are the courses whose concepts are most commonly used in industry software development jobs. If you have more schedule space, also consider courses in:</p>

<p>Databases
User Interfaces
Computer Security</p>

<p>Thank you all for the input. I looked into the curriculum and the department offers four specializations: Power Systems, Control Systems, Communications and Nanotechnology, and the last two specializations and accompanying electives seem pretty interesting. Assuming I do stay in EE, would I be able to eventually segue into CS (perhaps as a graduate degree)? My school, unfortunately, does not offer a CE degree, so as of now I don’t have a ‘best of both worlds’ option.</p>

<p>

</p>

<p>If you have sufficient technical elective or free elective space in your EE schedule to take some or all of the CS courses listed above, you may find it easier to transition to CS either for graduate school or in industry.</p>

<p>Is the job market for EE really that bad now? It seems every EE majored I know is planning on how to switch to CS…</p>

<p>actually the job market for EE is pretty good if you want to go into power systems. Its just that the job market for software engineers is way better and pretty much never requires relocation to find a job</p>

<p>The EE job market is good indeed. Myself ( and a lot of people that have graduated last year) has found multiple job offers within a month of job hunt. </p>

<p>As long as you have done some internship or Co-op program, you will most probably get hired within 1-2 weeks.</p>

<p>And who said EEs cannot do CS jobs? I am currently designing and developing software applications for huge utility companies to control their Transmission and Distribution networks using .Net. </p>

<p>And do you know the trend right now is that most engineer governing bodies are establishing regulations such that software are being regulated by professional engineers if it involves with industries such as Oil/Power/Structural/Geomatics etc? Meaning these software cannot be put into use unless it is stamped by a professional engineer.</p>