Computer Engineer vs Computer Science

Hey guys,
I am currently a college student who is majoring in engineering but not sure what kind. I was leaning towards computer engineering but then a friend told me to do computer science instead. I know the community here is fully of people who have jobs in the engineering and computer science fields and I was hoping you guys could help me figure out with what the difference is and what a day in the life of either one is really like. Thanks again!


I think it will depend on what you wish to do. While my degree is in EE, I still need to understand software and hardware since today’s field usually meshes both. This isn’t an inhibitor towards what you wish to do, since there are people here that do software programming with an engineering degree, as well as hardware (FPGA) with a computer science degree. My best advice would be to get the degree that would give the most versatility, then when you get into the field you can specialize after the fact. Engineering degrees have a tendency to open more doors but teach more hardware, but you still learn software (science portion).

I hope this helps, but keep in mind there most likely will not be a wrong answer, just an increased challenge if you end up focusing on the aspects you covered in less detail.

1 Like

You need to be BOTH!

Science : A lot of mathematics is requested.

Engineering: More practical stuff, programming, administration etc.

But meanwhile I see that the whole thing is a “black box”!
You put something in this box and get a result which you like and
it seems to be true.
You do the next attempt , same data, same box, the result is another.

What can you do: Quite nothing.
Even you wrote that program by yourself you are using many libraries and other things you are embedded in.
It’s really a black box:
Try and Error… Plug and Pray.

If only one of your routines you use from a library has altered a little bit,
it may take you years to find out were the error is.
Not open source often.

Normally the writer of a program starts to seek in their self written code.
That’s OK, but never forget there are so many other sources creating this error.

There is no program in the world which is free of errors.
“program verification” is an attempt to improve this.
In my old days we were often programming in Assembler.
There you could do a really deep look inside.
Step by step : Source-code -> (compiler) Assembler-code (Assmbler) : Hex-code and/or Bin-code.

But who is able to read and interpret hex-dump in our days. :wink:

Do you know that “old programmers” who can handle FORTRAN and COBOL are high respected?
They understand such antique programs still used by banks.
No joke! :slight_smile:

1 Like

Sorry. I don’t know either. I look forward to reading the responses and finding out though!

Well this depends on the translation. Since I am german native speaker, maybe my explanation is wrong. But:
Computer engineering: is it possible that this job is more hardware concerned ?
And computer science is more about developing new computer models ?

Anyway, does not matter. What is your most interest ? Programming computers - like video games, Apps, or any other application ?
Or are you more in hardware electronics ?
Or you want to develop new technologies ?
Find out your main interest, and then it will be more easy to go the right way.

I think they were asking about specialization. There is a degree difference between computer engineering and computer science. You usually can’t double major them either, its more of a focus. Engineering is usually a hardware main, software minor. Computer science is a software major, hardware minor. They do overlap in some areas and focus on other stuff at others, but at some point they will most likely need to specialize. Its why I said its a choice most of us cant make for another. At the end of the day the degree is just a title, its how well you can utilize the education that encompasses it that will matter most.

1 Like

In my old days we had to take it all. :grin:
I remember Algebra… hard stuff, but after a while I liked.
Clear and certain!

There might be a difference between universities, levels, countries etc.
But isn’t good to know a little bit more from everything. :joy:

I have seen students with a high degree, even not being able to write a few lines of codes.
I dont know where they hide now! :grin:

Computer science is like programming and coding programs and you learn about the internals of the computer… pretty cool

1 Like

NOT only!
If you have not a talent for mathematics : Keep our hands off.
Many of the students I had to care about in the first courses at the university thought if they can handle a joystick and play some games : THAT’S Informatics.
100% started : after 1 semester : 30% left.
They useless consumed time.

Well, there is also another aspect: computer people are often said to be nerds. But there is also a very big need of a link between computer people and “normal” users.
For this link there are also people needed : they have to act like a “Translator” between these two “worlds”.

This can be also a very interesting job - in case you do not want to sit always in front of a screen - but want to work more with people …

1 Like

Another great way to use both is test set programming. We have a few at work who build code to interface test equipment for automated testing. Take a multimeter, power supply and rf generator and oscilloscope, then interfave them together to do all of the measurements you need to test for products. This is kinda like a best of both worlds, you need to be able to program as well as how hardware works so that you can make a seemless test method. 1 of them at my work looks like he rolled out of bed in angry bird t shirts and jeans, yet drives a corvette everyday. Nerd or not, he makes great money and has fun.

In my basic understanding, I’d add…

Do you want to make stuff?


Do you want to program stuff?

Me, I’m more practical, and a doer! I’m not good at theory or written work (it’s why I didn’t do 2nd year of HNC in business n finance). Apparently, a single A4 of an assignment is not enough detail to show understanding‽

*Higher National Certificate, a part time course usually 3 years in the UK.

Whereas, a HND (Higher National Diploma) is a 2 year course done full time at college

Both, are like the next best to a degree.

1 Like

Hey @ktkundy, I am also a college student but am a Computer Science major. My understanding is that CS is more of coding (like others said here) with some basic knowledge about hardware. Computer Engineering is more towards hardware side. Again, this is just my basic understanding from the classes I have taken have still have to take.

1 Like

The pace of technology means any individual technology skill ages out quickly.

The most timeless skills are math and finance. Does it make sense and does it make money are more timeless skills.

Good luck on whatever fold you decide :+1:

Generally speaking a computer engineer is part of the IT support section of a business. They support, implement and maintain computers, servers, network, backups etc.

A computer science person generally is a developer. So they write applications, web design, etc. They will normally be in the business development section of IT.

Database admins are one of the few roles that comfortably fit into both that I can think of.


How do I know if I want hardware or software focus if I have limited experience in both

A lot of the basic classes should encompass both. For my electrical engineering degree, C++ and Java were core required classes, as was basic design theory and things on the hardware side. If you have not made a choice between the two you could try and take courses that are required for both degrees, but see if any are more software or hardware focused. Taking them first shouldn’t set you back much but could allow you to see what you fancy.

1 Like

You are best looking at it form a do you want to be in a support or development role. Both sides need to have a basic knowledge of software and hardware.