What's the difference between a major in Computer Science and Computer Engineering?

yourharddrive

Banned
Jul 16, 2001
913
0
0
I'm going to by applying to colleges soon and I was just wondering what was the differece between picking Computer Science or Computer Engineering as your major. At the University that im applying to (Univ. of Michigan) Computer Engineering is a lot harder to get into. Anyways I was hoping youguys could tell me what the differece was. Thanks.
 

UglyCasanova

Lifer
Mar 25, 2001
19,275
1,361
126
I am interested as well. I am applying to colleges now and I want to be a software engineer. So, CS == Programmer, while CE == Harware related?
 

UglyCasanova

Lifer
Mar 25, 2001
19,275
1,361
126
So, under which would I go to be a programmer? Is CS more of a major dealing with theories, while CE is actually writing the code?
 

Capn

Platinum Member
Jun 27, 2000
2,716
0
0
It all depends on the school's program,

Some schools they are in the same department and only have minor differences. In my school computer engineering is in the engineering school and computer science is in the school of science. So you actually have to check each school's particular curriculum, there generally isn't a hard and fast rule.
 

notfred

Lifer
Feb 12, 2001
38,241
4
0
the general tendanciy is for CS to be programming, and CE to be Hardware Design.
 

Gooberlx2

Lifer
May 4, 2001
15,381
6
91
I agree. You should check out the Program website or email their dept. chair for more, clear info.

My school's dept is Computer Science, which basically translates into Software Engineering for us. Then SE further splits into OS, Apps and Networks.

I don't think we even have a program that does much with Hardware.
 

areohbe

Banned
Oct 14, 2001
712
0
0
ahhh CRAP i picked the wrong major then... i'm transferring into UC Davis as a computer science major.. crap on me i hate programming
 

Mavrick

Senior member
Mar 11, 2001
524
0
0
Computer science is in fact pure programming. You learn C/C++, Java, Basic languages (assembly) and the principle of registers and processor instructions. Most of CS graduates work on servers databases and design softwares for enterprises.

Computer Engineering is very close to Electrical Engineering. You learn a lot of electric theories, electromagnetism, signal recognition, signal processing and engineering maths (really advanced calculus). Plus, you learn some programming (C++), some low level programming (assembly) and you have a lot more courses on the basics of computer functionality (logical design, like we learn on Anandtech :). The last thing you learn is the electronic aspect of computing (transistors, circuitry).

CE is much, and I say much, harder than CS, it's also a longer program. But, you'll know a lot more about computers after doing it. Computer Engineers tend to work in hardware related programming (drivers, BIOSes, OSes) and they do that in low level languages.

Anyway, the choice is up to you depending on what you like the most, but don't expect to get a job as a game programmer after having done CE, and don't expect to know a lot about hardware basics after CS.

Finally, CE pays more :), but requires a lot of calculus.
 

poopaskoopa

Diamond Member
Sep 12, 2000
4,836
1
81
In CSC I studied more mathematics, and programming, etc. In CPE I studied circuits, digital systems designs using a HW design language, and some more more designs, etc. CPE is more science/physics oriented, but in either discipline you do not get away from programming, as you'll use programming languages like MATLAB to solve circuit problems, program in Motorola chips with assembly, and another language to do digital systems. I think CSCs are a dime a dozen :D. I'm just messing(half-heartedly) ;)
 

Noriaki

Lifer
Jun 3, 2000
13,640
1
71
I've wrestled with this question myself a fair bit and here's what I've come to:

I am in Computer Science myself, and in that you do a blend of Computer Science Theory (which is basically Mathematics Theory), Programming Theory, and a hefty dose of programming. There is scarcely little hardware stuff in a CS degree.

Electircal engineering is purely circuit design stuff I think, and C.Eng is somewhere between, but leaning heavily towards E.Eng. C.Eng has some more software design stuff than E.Eng, but no where near as much as CSc, and you lose the programming theory stuff as well. I know no one cares about programming theory, me least of all, I hate the theory crap. But really knowing why and how alot of things work the way they do really helps, especially if you need to program in a language you aren't familiar with if you understand the underlying concepts the language becomes much easier to use.

One thing that CEng is very good for I've heard is Embedded Systems Design stuff. They can design the hardware and have enough understanding of the software that they can include that in their design decisions.

This is just my take on the situation I've put together....and it will vary from school to school. I'm a CSc guy and a programmer, so my take on the lines between C.Eng and E.Eng might be a bit out of whack, but I do know C.Eng is a lot closer to E.Eng than CSc.

But typically with C.Eng or E.Eng expect to do hardware stuff, and with C.Sc expect to be a programmer.
 

Mday

Lifer
Oct 14, 1999
18,647
1
81
CompE also deals with hardware.
CS is usually pure software.

there is a HEAVY overlap.

CS is essentially software engineering, however, does not require any engineering specific courses. it does involve a lot of math.

CompE is a real engineering discipline (today anyway), where engineering specific courses are required. CompE also takes EE courses, along with the extensive programming regiment required.

--

EE is technically pure hardware, but EE also requires knowledge of programming nowadays.

in terms of the following list:

computer science
computer engineering
electrical engineering

going down gets more hardware oriented
going up gets more software oriented

there is HEAVY OVERLAP!!!!!
 

CSoup

Senior member
Jan 9, 2002
565
0
0


<< CE is much, and I say much, harder than CS, it's also a longer program. But, you'll know a lot more about computers after doing it. Computer Engineers tend to work in hardware related programming (drivers, BIOSes, OSes) and they do that in low level languages. >>



I don't think this is always true. I was an EE at my school with concentration in computer engineering (we don't have CE as a separate thing). Anyways, most EE with CE concentration took a few CS classes. Let me tell you that most of these guys could not handle the CS theory courses very well. Funny thing is that the CS guys who took classes like VLSI and Computer Architecture did very well with respect to the EE's. Don't knock CS until you take hard CS courses.
 

Noriaki

Lifer
Jun 3, 2000
13,640
1
71


<< CS is essentially software engineering, however, does not require any engineering specific courses. it does involve a lot of math. >>

I have to disagree with the first part...

CS and S.Eng aren't really that close. I'm doing a S.Eng minor...S.Eng is alot more about structured design of large scale systems. Making sure the systems are well designed for future maintainability and stuff like that. CS has a theory component, and a programming component. The Programming part of CS is much more about implementation.

My SEng courses we do lots of documentation design and higher level program design, and we get the principles of good program design pounded into our heads. Where as my CS courses I've implemented everything from various sorting algorithims to a Data Link Layer for a network stack.

And as for the math, while CS degrees include a fair bit of various kinds of math and has it's roots in math theory, C.Eng has a lot of really complex math that they do. For 1 example, Fourier Analysis. Most CS students don't know what it is, most CEng students breath and eat it.
 

QueHuong

Platinum Member
Nov 21, 2001
2,098
0
0
A friend of mine is in computer engineering; he said he thought he was very computer savvy but realized he didn't know jack about computers after taking CE.



<< I was an EE at my school with concentration in computer engineering (we don't have CE as a separate thing). Anyways, most EE with CE concentration took a few CS classes. Let me tell you that most of these guys could not handle the CS theory courses very well. Funny thing is that the CS guys who took classes like VLSI and Computer Architecture did very well with respect to the EE's. Don't knock CS until you take hard CS courses. >>



Considering those EEs never really focused on programming, of course they'll struggle in the advanced CS classes. What I want to see is those CS students take advanced EE classes. I totally agree with the guy who said CE/EE is a lot harder than CS.
 

RJHNY1

Member
Jan 28, 2002
172
0
0
I am about declare Computer Science as my major. I hate programming, but I'm interested in working with computers as my career. Just not programming! I hope I can find a field where there is minimial or no programming involved. That would be nice.
 

samarth

Senior member
Apr 21, 2000
460
0
0
At UCLA
Comp Sci(CS) - Mostly Software Stuff.
Comp Sci and Engineering(CS&E) - Almost 80% of the CS stuff and a lot of EE classes.
EE with CS option - known as EECS - Almost 80% EE classes with a bunch of CS classes.
EE - Mostly EE Stuff.

I am CS&E.

 

CSoup

Senior member
Jan 9, 2002
565
0
0


<< A friend of mine is in computer engineering; he said he thought he was very computer savvy but realized he didn't know jack about computers after taking CE.



<< I was an EE at my school with concentration in computer engineering (we don't have CE as a separate thing). Anyways, most EE with CE concentration took a few CS classes. Let me tell you that most of these guys could not handle the CS theory courses very well. Funny thing is that the CS guys who took classes like VLSI and Computer Architecture did very well with respect to the EE's. Don't knock CS until you take hard CS courses. >>



Considering those EEs never really focused on programming, of course they'll struggle in the advanced CS classes. What I want to see is those CS students take advanced EE classes. I totally agree with the guy who said CE/EE is a lot harder than CS.
>>



These courses were not programming courses. They were theoretical and algorithms type of classes. Very few classes in CS are actually programming courses (at least of the learn C, java, etc. type anyways). As someone who was an EE, but also took CS courses, I recommend taking courses such as logic, programming languages, computation theory, and algorithms, especially at the grad level before saying that CS is easy. This is the same for people who say that math is easy and all they have ever taken is calc, diffeq, linear algebra, and stats. Once they try stuff like advanced combinatorics, abstract algebra, analysis, recursion theory, knot theory, coding theory, etc. I doubt most of them would still say that it is easy.
 

CanOWorms

Lifer
Jul 3, 2001
12,404
2
0
I agree with others and that it varies with the university.

CS, Computer Engineering, and Electrical Engineering are completely different here. Computer Engineering has 4 fields here in which 1 is Computer Science. EE has no computer science fields, but has a Computer Engineering field. Here, it's generally EE >> Comp E > CS.
 

ucdnam

Golden Member
Jan 28, 2000
1,059
0
0


<< CE>CS>IS >>



I didn't even know that IS compared with the other two... When did that happen?
In my mind, comparing IS to an engineering degree is equivalent to comparing a doctor to a nurse.
 

PEZCORE

Junior Member
Feb 15, 2002
21
0
0
im a senior in hs now, in the fall im going to ohio state university and majoring in computer science. i dont really know too much about programming now, im starting to learn vb. do i have to have alot or any programming skills when i go there, or do they assume everyone knows nothing
 

Mitzi

Diamond Member
Aug 22, 2001
3,775
1
76


<< So, under which would I go to be a programmer? Is CS more of a major dealing with theories, while CE is actually writing the code? >>



In my university I am doing a CS degree which involves theory AND writing code. The SE course is more hardcore.

You can do either course and end up being a programmer. I personally feel the CS course one is better because its important to have a whole raft of skills and knowledge, not just coding experience. By having the additional skills which CS gives, it would be easier to persue positions in project mangement/consultancy etc etc in the future.