Open Side Menu Go to the Top
Register
Computer Engineering vs. Computer Science Computer Engineering vs. Computer Science

03-30-2011 , 06:27 PM
I am switching to a 4 year school this coming Fall and have to choose my major and stop bull****ting and finally complete something (I am 22 and still in county college).

I'm kind of torn between going for computer engineering or science (or both?). The focus on math and physics (I took calc 2 for fun last semester), as well as the idea of figuring out "how something works" is what really draws me to computer engineering. I've always read popular science physics books for pleasure, and when I was a kid was a lego fanatic and was 100% against reading directions for anything I had to assemble. I also like it because I feel like I won't be sitting in front of a monitor all day and will be doing work in laboratories and whatnot.

Computer science is appealing, focusing in networking and security most likely, because ever since I was a little kid I always thought it would be really cool to be like a cyber investigator or something, and track down people who are doing illegal hacks and stuff. Software engineering would be cool too because I'm a really creative person (been playing in bands (guitar) since I was 11) and feel like creating and designing programs would be awesome although I would never want to strictly program.

One other major concern is that it seems to me that for most of the most successful people in the computer field, computers are both a job and a hobby. I've always been interested in computers and techy stuff, but also have plenty of other hobbies I take seriously (music, poker, bodybuilding), and feel that if I was working a full time job as a software/computer engineer, I'd need my time to do other things as well.


I'm leaning more towards computer engineering because I feel like any job that I can get with a computer science degree, I can most likely get with a computer engineering degree...but not vice versa? I'm not a complete noob with regards to this whole field, but think I would greatly benefit from some of your input. Thanks in advance.

Last edited by derada4; 03-30-2011 at 06:56 PM.
Computer Engineering vs. Computer Science Quote
03-30-2011 , 06:57 PM
Bleh, this probably should have went in the "I'm pretty sure I'm going to be a software engineer" post. My bad.
Computer Engineering vs. Computer Science Quote
03-30-2011 , 10:39 PM
In terms of getting jobs, what you learn and build on your own is much more important than your major or courses you take, so I wouldn't worry much about the decision. Do whichever seems more interesting. You won't be locked into anything. What you end up focusing on will depend mainly on the direction you go independently and what kinds of opportunities present themselves.

Also, while it does help you learn faster if you get really absorbed (not all that hard since it's a lot of fun), you don't need to give up on everything else. Even though I'm pretty much a code junkie now, I didn't grow up as a lives and breathes computers type of person, and I have a bunch of other hobbies and interests like you. I definitely find that my thinking suffers if I don't get away from the computer and do completely unrelated activities sometimes.

Having other interests also gives you perspective that can be applied in unique ways. I was interested in creative writing for a long time before I ever got into programming, and now coding feels more like a creative exercise to me than something rigorous and mathematical--like a strange form of mechanical verse. This sort of approach often gives me insight that more nuts and bolts developers would miss (on the other hand, I likely won't be optimizing any embedded C algorithms in this lifetime). You can also find endless crossover between computing and any other area of life. Many of the best startups grow out of these intersections. Like consider all the technical progress and money that's been made, and the massive opportunity that still exists, in combining computation and music. Why struggle to find time for both work and hobbies when you can simply combine them all?

Last edited by Dane S; 03-30-2011 at 11:06 PM.
Computer Engineering vs. Computer Science Quote
03-30-2011 , 11:07 PM
I'm a senior in Computer Engineering, so hopefully I can give you some insight.

Computer Engineering is essentially the combination of Electrical Engineering and Computer Science. The major differences between the Computer Science curriculum and the Computer Engineering Curriculum at my school (and probably most other schools as well) is that Computer Engineering focuses less on software and more on hardware.

The computer science guys take a computer organization class, and not much else in terms of hardware. They do have a lot more opportunities in terms of learning software, and at my school they start off by learning Java and Object Oriented Programming.

Us Computer Engineers start off learning C/C++/MATLAB and only take an Object Oriented Programming course if we choose to do so (it happens to be in C#). But we also get to learn about logic design/FPGAs, Computer Architecture, etc. The math/physics background was also appealing to me. I'm also taking signal processing classes and I'm working on a project that involves CUDA and multimedia processing.

I'd say the Computer Science guys are better coders, but the Computer Engineers have a better idea of how computers really work. And the Computer Engineering curriculum is certainly more difficult.
Computer Engineering vs. Computer Science Quote
03-30-2011 , 11:17 PM
Quote:
Originally Posted by Adam27X
And the Computer Engineering curriculum is certainly more difficult.
HAVE YOU TAKEN AN OPERATING SYSTEMS COURSE?!??!?

(*hoping the answer is "no"* )

I had to take a couple courses in computer architecture for my comp sci degree which I actually really enjoyed (one of them involved designing a CPU and creating an assembly language for it, that was really fun, the first one was more basic but involved some of that FPGA stuff you mentioned, logic gates, etc.). If you want to do hardware-related stuff, though, there may be enough material in a comp sci degree to introduce you to that sort of thing but not enough to get you a job in it - so, you probably have a wider array of jobs available to you with a computer engineering degree. I knew I wanted to do programming, though, so for me I don't think the decision was close.

Last edited by goofyballer; 03-30-2011 at 11:23 PM.
Computer Engineering vs. Computer Science Quote
03-30-2011 , 11:20 PM
Quote:
Originally Posted by Adam27X
I'm a senior in Computer Engineering
Where do you go to school? I noticed your location says NY/NJ. I live in Central NJ and am planning on going to NJIT. Any thoughts, recommendations?
Computer Engineering vs. Computer Science Quote
03-31-2011 , 12:20 AM
Quote:
Originally Posted by goofyballer
HAVE YOU TAKEN AN OPERATING SYSTEMS COURSE?!??!?

(*hoping the answer is "no"* )

I had to take a couple courses in computer architecture for my comp sci degree which I actually really enjoyed (one of them involved designing a CPU and creating an assembly language for it, that was really fun, the first one was more basic but involved some of that FPGA stuff you mentioned, logic gates, etc.). If you want to do hardware-related stuff, though, there may be enough material in a comp sci degree to introduce you to that sort of thing but not enough to get you a job in it - so, you probably have a wider array of jobs available to you with a computer engineering degree. I knew I wanted to do programming, though, so for me I don't think the decision was close.
yeah I unfortunately did take an Op Sys course and it was definitely very difficult. Props to anyone who can work on those for a living - writing a filesystem itself was really tough for me.

Edit: My location says NY/NJ as that's where "home" is for me but I'm actually at school in Boston and just haven't changed it.
Computer Engineering vs. Computer Science Quote
03-31-2011 , 09:26 AM
I think it might depend on the school but for me it was fairly easy to be a Comp Eng student that took a lot of Software courses or a Comp Sci student that took a lot of Hardware courses. So in the end the direction you wanted to take your degree was more important than the program itself.

From the other side, when I was doing recruiting for my previous company we viewed a Computer Engineering degree as a small negative (when reviewing resumes on recent-ish graduates). In general we just found that they lacked the software skills that we wanted. I suspect a hardware/firmware/low-level programming shop would feel something similar about Comp Sci students.

That's just to say that your degree choice can make your eventual job search a little bit easier or harder.
Computer Engineering vs. Computer Science Quote
03-31-2011 , 09:51 AM
Quote:
Originally Posted by goofyballer
HAVE YOU TAKEN AN OPERATING SYSTEMS COURSE?!??!?

(*hoping the answer is "no"* )

I had to take a couple courses in computer architecture for my comp sci degree which I actually really enjoyed (one of them involved designing a CPU and creating an assembly language for it, that was really fun, the first one was more basic but involved some of that FPGA stuff you mentioned, logic gates, etc.). If you want to do hardware-related stuff, though, there may be enough material in a comp sci degree to introduce you to that sort of thing but not enough to get you a job in it - so, you probably have a wider array of jobs available to you with a computer engineering degree. I knew I wanted to do programming, though, so for me I don't think the decision was close.
HAVE YOU TAKEN AN ELECTRONICS COURSE?!??!?

I started out as EE and switched to dual EE & CE when my advisor said I needed too much AP credit and either needed to overload and graduate early or pick up more work. Linear Circuits was ok, but Electronics made me realize I never wanted to touch hardware. Switched to CE w/ CS minor (there was no track to do dual CE & CS, cause no one would ever think that might happen).

As for answering the question, it depends on your interests. I ended up wanting to do programing and nothing else, so maybe CS from the start would have been better for me. But I still did fine in CE taking all the programing classes I could. Doing that way, you also get a decent understanding of some of the things that are actually happening on a computer when your program is running. For example, if you need to optimize some matrix math, you will understand that traversing rows then columns is different from columns then rows.
Computer Engineering vs. Computer Science Quote
03-31-2011 , 10:58 AM
Quote:
Originally Posted by TheIrishThug
HAVE YOU TAKEN AN ELECTRONICS COURSE?!??!?
Hehe, I know my brother started off doing EE and then switched to Comp Sci after a year and he couldn't get over how much lower the workload was for Comp Sci.

Juk
Computer Engineering vs. Computer Science Quote
03-31-2011 , 11:01 AM
Yeah. I was very happy in my senior year when I heard how much work my EE friends were doing in addition to doing our senior project.
Computer Engineering vs. Computer Science Quote
03-31-2011 , 11:40 AM
Meh, I've always found the workload questions between EE, CE, SE, and CS all a bunch of bull****. It almost always comes down to what courses you took.

I had a friend that took Realtime Systems, Graphics, and Advanced Compilers all in the same semester. His workload was a crap-ton more than anyone else that I knew in any program.

I also had a friend that took Psychology of Computing, Ethics of Computing, and some other bull**** course that did nothing in his final year.
Computer Engineering vs. Computer Science Quote
03-31-2011 , 01:18 PM
Quote:
Originally Posted by TheIrishThug
HAVE YOU TAKEN AN ELECTRONICS COURSE?!??!?

I started out as EE and switched to dual EE & CE when my advisor said I needed too much AP credit and either needed to overload and graduate early or pick up more work. Linear Circuits was ok, but Electronics made me realize I never wanted to touch hardware.
Meh, I mean circuits != hardware (see what I did there? only in this forum.. )

I hated electronics too, but I'm still somewhat interested in hardware - just not Analog hardware. I think FPGAs are pretty cool and signal processing requires hardware too.
Computer Engineering vs. Computer Science Quote
03-31-2011 , 01:33 PM
Quote:
Originally Posted by Adam27X
Meh, I mean circuits != hardware (see what I did there? only in this forum.. )

I hated electronics too, but I'm still somewhat interested in hardware - just not Analog hardware. I think FPGAs are pretty cool and signal processing requires hardware too.
That's fine, but the take home message here is how much I hate hardware. For me, C is closer to the hardware than I'd like to be. This isn't a hit on people that do like hardware or people who like C. This is just my personal preference.
Computer Engineering vs. Computer Science Quote
03-31-2011 , 03:13 PM
I'm an EE, my roommates were CEs (who had to take OS), our workloads were more or less the same.

CS kids had it a little easier if they chose so, since they had more freedom in course selection, so they could take some fluffy electives. But I knew some kids who really did tough stuff.
Computer Engineering vs. Computer Science Quote
03-31-2011 , 06:08 PM
Which major would be better for getting into A.I.? Is it just a matter of what aspect of AI one wants to get into?
Computer Engineering vs. Computer Science Quote
03-31-2011 , 07:05 PM
Computer Science without a doubt. Engineering would focus more on solving "real" problems. Computer Science is more about theory and programing skills.
Computer Engineering vs. Computer Science Quote
03-31-2011 , 07:48 PM
yeah Computer Science is way more geared to AI.
Computer Engineering vs. Computer Science Quote
04-01-2011 , 03:54 PM
Quote:
HAVE YOU TAKEN AN OPERATING SYSTEMS COURSE?!??!?
Does writing your "own operating system" that was able to boot off a floppy and print some string, handle some interrupts and then got deleted in a rage of anger after finishing the k_malloc() count? It's fun and you learn a lot (lol reading the first linux kernel etc) but the x86 architecture is also WTF-******ed.
Never walking through this dark (a20) gate again.

I'm actually in the camp of "CS is overkill for the most part" these days. The important thing is that you get stuff done, write code, test code, change code, finish projects. Pick a language with solid libraries for everything you'd ever want CS-knowledge for and focus on design and getting code done. If there's some sick optimization that's needed, yield to an expert..you say no way? I say LKWAI

Spoiler:
Let Knuth worry about it.


Yes I'm arguing for actually going with something higher level than either CE or CS.

On a related note I'd rather study math and learn coding on the side than study cs.
Computer Engineering vs. Computer Science Quote
04-02-2011 , 01:58 AM
I studied CS/CIS in college, but if I had to do it again, I would have studied EE. The theories of CS are so much easier to pick up once you understand algorithms/processes/logical thinking, and these things tend to be promoted better in low-level work like EEs focus on. CS courses tend to focus on "zomg code" and stuff a bit too much at most academic institutions, IMO.

"Build this" and "build that" and "code an OS" doesn't tend to produce good developers. It produces competent developers who know how to make applications. The problem is that these positions are way more readily filled by outsourcing it to India/China where you have code monkeys willing to work for $5-8/hr (and produce good code, too).

The real need in the developed world is the vision to see niches and develop better algorithms for existing products. Junior developers come and go. Being in Seattle, I know plenty of them that work at "prestigious" companies that are unbelievably bad. They'll never go from junior dev to senior dev at a real shop because the higher positions require some creativity.

None of the companies that are dominating their markets on the web employ your run-of-the-mill developers from college who passed their OS lab with a 4.0. They want the hacker who made a project that has little or no real-world application but is technically challenging and solves a bizarre problem that maybe 20-30 people can appreciate. That is what is very hard to find.
Computer Engineering vs. Computer Science Quote
04-03-2011 , 02:10 AM
Quote:
Originally Posted by kyleb
"Build this" and "build that" and "code an OS" doesn't tend to produce good developers. It produces competent developers who know how to make applications. The problem is that these positions are way more readily filled by outsourcing it to India/China where you have code monkeys willing to work for $5-8/hr (and produce good code, too).

The real need in the developed world is the vision to see niches and develop better algorithms for existing products. Junior developers come and go....

None of the companies that are dominating their markets on the web employ your run-of-the-mill developers from college who passed their OS lab with a 4.0. They want the hacker who made a project that has little or no real-world application but is technically challenging and solves a bizarre problem that maybe 20-30 people can appreciate. That is what is very hard to find.
I actually strongly disagree. There are certainly companies out there that appreciate the hacker-skilled programmers, but I don't believe they're the majority. Nor do I believe that programming or algorithm skills are the best way to differentiate yourself from overseas talent (and for that matter - not do I believe most schools teach that better to EE students than to CS students).

If you want to compete with most of the outsourcing talent you need to be able to build code that is easily maintained and expanded - something that few outsourcing shops focus on since they're usually dealing with short contracts. Even more importantly you have to learn the domain you're working on and be able to add value to your project not just in building something good technically - but something good for the company.

Hopefully this makes sense - if not I'll take another crack at it tomorrow.
Computer Engineering vs. Computer Science Quote
04-03-2011 , 09:47 AM
Quote:
They want the hacker who made a project that has little or no real-world application but is technically challenging and solves a bizarre problem that maybe 20-30 people can appreciate.
Actually when I was hireing guys I was looking for "made a project and finished it". The more projects the better, it really depends on what kind of software you develop. Sure the optimized algorithms etc are the key in some areas but tbh I'd much rather get math guys for this anyways.

I think outsourcing is pretty dumb in many cases because the beauty of the IT industry is that you can find people that are 50x more productive (and write high quality code) and you usually won't even have to pay them 2x. That's the most unique feature of the industry and that's why finding great developers and making sure they are happy at all times is the key to any good software company imo

Badly written code has so many negative effects
Computer Engineering vs. Computer Science Quote
04-04-2011 , 03:17 PM
Quote:
Originally Posted by clowntable
On a related note I'd rather study math and learn coding on the side than study cs.
+30031

You can read a book to learn a languages syntax.
But you need a teacher to show you how to think about problems imo.
Computer Engineering vs. Computer Science Quote
04-04-2011 , 03:25 PM
Quote:
Originally Posted by jjshabado
Hopefully this makes sense - if not I'll take another crack at it tomorrow.
It makes sense. I think if you want an average job that pays a reasonable salary where you write a lot of boring code on enterprise-level software, the current CS academic programs certainly prepare you for that. But nothing further, and I don't know that this is the best way to futureproof your life. Outsourcing is only getting more efficient and better in quality. Labor is way too expensive in America, and this stuff doesn't really require people to be on site. I'd be very wary of staking my job security on this skill set over the next 5-10 years.

There is no reason that junior developers should make $40-60k/year (region-adjusted) as technology exponentially increases global communication capabilities and productivity. The knock on outsourcing is that quality was bad and understanding of the English language was poor. Indian/Chinese programmers are learning to fix this. These will not be problems for long considering how much money there is to be made.

Quote:
Originally Posted by wellju
+30031

You can read a book to learn a languages syntax.
But you need a teacher to show you how to think about problems imo.
Agree very much. An understanding of mathematics/physics/algorithms will take you much farther than understanding "programming."
Computer Engineering vs. Computer Science Quote
04-05-2011 , 02:31 PM
http://chezpete.**************/self-t...ucated-program

came across this, pertinent to the discussion somewhat. I agree w/ kyleb irt to outsourcing programmers though, thats why I like focusing on specific areas that I know will never be outsourced, and keep 100% bleeding edge w/ them, so I will always have a job; then the 2nd tier I do the stuff that don't necessarily guarantee job security. but I either enjoy, or it enhances teir 1 (teir 1= security, networking etc, teir 2= webapp programming, phone apps etc)
Computer Engineering vs. Computer Science Quote

      
m