Differences between Computer engineering and Computer Science?

In summary, the main differences between computer engineering and computer science are that computer engineers focus on building and designing hardware and systems, while computer scientists study computation in an abstract sense and focus on theory and programming languages. In Europe/Italy, there may be different terminology for these majors. To get a better idea of the specific courses and curriculum, it would be helpful to look at the course lists for each major at nearby universities. The term "computer science" is common in the US and typically includes a mix of software classes and computational theory and math classes. "Computer engineering" is a more vague term and may refer to a 2-year Community College degree or have different meanings to different people. Some universities offer a combined degree in Electrical Engineering and
  • #1
Grands
235
48
Hi
Which are the mains difference between Computer engineering and Computer Science?
Which different kind of work do a computer engineer instead a computer scientist ?
 
  • Like
Likes MLINJA 2MS
Physics news on Phys.org
  • #2
Grands said:
Hi
Which are the mains difference between Computer engineering and Computer Science?
Which different kind of work do a computer engineer instead a computer scientist ?
Since you are in Europe/Italy, the terminology may be a bit different compared to the US. Probably the most reliable way to start to get an idea would be to look at the course list for each major at a couple of universities near you. Can you do that and post some links for us to check out? Thanks.
 
  • Like
Likes MLINJA 2MS
  • #3
When computer scientists study computation, they think of it in the abstract sense where the machines performing the computation are not actually constructed, just part of the theory. Computer engineers go out and actually build the stuff.

A computer engineer is more likely to know about operating systems and VLSI design. A computer scientist is more likely to know about theory of computation and programming language theory.
 
  • Like
Likes MLINJA 2MS, symbolipoint and donpacino
  • #4
berkeman said:
Since you are in Europe/Italy, the terminology may be a bit different compared to the US. Probably the most reliable way to start to get an idea would be to look at the course list for each major at a couple of universities near you. Can you do that and post some links for us to check out? Thanks.
Yes, but what do you mean with "terminology" ?
In the US doesn't exist courses named computer engineering or computer science ?

Anyway here there are some link with the courses

Computer Engineering

Florence: https://www.unifi.it/p-cor2-2016-101226-B047-GEN-1-1.html https://www.unifi.it/p-cor2-2016-101226-B070-GEN-1-1.html
Siena: https://ing-informatica-informazione.unisi.it/en https://computer-automation.unisi.it/en
Pisa: http://ce.iet.unipi.it/index.php/en/mce
Milan: https://www4.ceda.polimi.it/manifes...OffertaInvisibile=false&semestre=ALL_SEMESTRI

https://www4.ceda.polimi.it/manifes...OffertaInvisibile=false&semestre=ALL_SEMESTRI

https://www4.ceda.polimi.it/manifesti/manifesti/controller/ManifestoPublic.doComputer Science
Pisa: https://www.di.unipi.it/en/education
Perugia: https://unipg.esse3.cineca.it/Guide...ercorso_id=226*2010*1765&ANNO_ACCADEMICO=2017
Milan: http://www.ccdinfmi.unimi.it/en/corsiDiStudio/2016/F1Xof2/index.html
Bologna: http://www.unibo.it/en/teaching/degree-programmes/programme/2017/8009 http://www.unibo.it/en/teaching/degree-programmes/programme/2017/8028
 
  • Like
Likes MLINJA 2MS and ISamson
  • #5
Grands said:
Yes, but what do you mean with "terminology" ?
In the US doesn't exist courses named computer engineering or computer science ?
Well, at my University back when I attended, you could get a degree in EE or CS or ECE (Electrical Engineering and Computer Science combined). Computer Science is a pretty common term, I think, with a mix of software classes and computational theory and math classes.

"Computer Engineering" is a fuzzier term for me. It could refer to a 2-year Community College degree in the US, or may mean other things to otther people.
Grands said:
I skimmed the links (thank you, they were helpful). It looks like Computer Science is what I mentioned, and Computer Engineering involves less theory and math, and more hardware classes.

How much programming have you done so far? Did you enjoy it? How much hobby electronics have you worked with so far? Did you enjoy that? Have you built any hobby electronics kits yet? :smile:
 
  • #6
berkeman said:
Well, at my University back when I attended, you could get a degree in EE or CS or ECE (Electrical Engineering and Computer Science combined). Computer Science is a pretty common term, I think, with a mix of software classes and computational theory and math classes.

"Computer Engineering" is a fuzzier term for me. It could refer to a 2-year Community College degree in the US, or may mean other things to otther people.

I skimmed the links (thank you, they were helpful). It looks like Computer Science is what I mentioned, and Computer Engineering involves less theory and math, and more hardware classes.

How much programming have you done so far? Did you enjoy it? How much hobby electronics have you worked with so far? Did you enjoy that? Have you built any hobby electronics kits yet? :smile:
We have also "electronic engineering" which is different from "electrical engineering."

Unfortunalty I did Liceo Scientifico with a Standard Curriculum, cause when I joined it, the applied science curriculum wasn't available.
Here is the link https://en.wikipedia.org/wiki/Liceo_scientifico.
As you can see, I never studied computer science or electrical stuff, I just learned about how circuits work during Physics lesson, but it was about studying them, not building.
So the only experience I had on my own was trying to use HTML, but was on a free course online, I can't understand if I like programming with only this experience.
I heard something about Arduino, but again, I just try to get information on my own cause my school is only about studying theory.
This are experiences that only students for technical institute make.
 
  • #8
Dr Transport said:
Here is a link to a computer engineering program, this is just an example, every program is different.

http://engineering.buffalo.edu/home/academics/undergrad/advisement/flowsheets.html?plan=CEN-2017

As you can see, you have hardware courses not only programming. Other programs I know are split in about the same manner, ~50/50 hardware/software.,

Ok, but what about the type of work that a computer engineering can make?
How this differs from the work of a computer scientist ?
 
  • Like
Likes MLINJA 2MS
  • #9
I've used them to speed up codes, they tend to have a better knowledge of how hardware and software interact.
 
  • #10
Yes, I suppose, but which are the skills that a computer engineers , and how those ones differ from a computer scientist ?
 
  • #11
Grands said:
Yes, I suppose, but which are the skills that a computer engineers , and how those ones differ from a computer scientist ?
A CS major is unlikely to design and build any hardware. A CE major is unlikely to design a new computer architecture (like a new RISC or DSP architecture)...
 
  • #12
berkeman said:
A CS major is unlikely to design and build any hardware. A CE major is unlikely to design a new computer architecture (like a new RISC or DSP architecture)...

Exactly, in my experience, most of the CS majors I ever worked with were for the most part clueless about hardware, if they had a course or two in assembly language they were better. I had 3 computer engineers on my staff at a former employer, they took our cluster computing to the next level. I also worked with one of those people at a different company, he had OpenCL integrated into a code we were writing in about 3 weeks, I couldn't have done it before the end of the year working full time on it.
 
  • #13
Thanks for the reply, I really need help.

So, from what I read online I understood that computer scientist know very well how to code, is similar to what Mark did with Facebook, while I think that CE is more related with AI and stuff like car with no driver, like Tesla.
Anyway, I'm afraid that if a choose CE I won't be very good at coding.

On Internet I found some offers, for the same job, available for physicists, computer engineers, and computer scientists, even thought are three different type of degree.

I spoke with one CE and he said that a computer engineer has to coordinate the work of more computer scientists.
 
  • #14
It is as always when people try to find easy answers to a complex question or label complex situations with just a word: they fail.
  • both fields have topics in common and are related
  • in real life (jobs) what has to be done is often both, or even something entirely different
  • "a computer engineer has to coordinate the work of more computer scientists" should be read with some humor, e.g. he could have meant that a computer engineer deals with the machines and the network the others are working with
  • "I found some offers, for the same job, available for physicists, computer engineers, and computer scientists" which means they are looking for some properties which all have in common, as real life is training on the job anyway
  • you might as well start as one and end up as the other
 
  • #15
fresh_42 said:
  • "a computer engineer has to coordinate the work of more computer scientists" should be read with some humor, e.g. he could have meant that a computer
I really don't know, a computer engineer told me that, saying me that a computer engineer coordinates a group of computer scientist that work on the same project, and each of them have to code a part of the program.

fresh_42 said:
"I found some offers, for the same job, available for physicists, computer engineers, and computer scientists" which means they are looking for some properties which all have in common, as real life is training on the job anyway
Probably, this happens also in the US?

fresh_42 said:
you might as well start as one and end up as the other
Do you mean start with a program degree and end with another one, by doing something else during the master degree?
 
  • #16
Like others have mentioned there is a lot of crossover.

In general, computer engineers is more low level, and computer science is more high level.

You use Tesla as an example.

A motor is designed by electrical and mechanical engineers
The power electronics for the motor is designed by electrical engineers.
The low level controller for the power electronics is designed by electrical (EE) and computer engineers (CPE)
The digital interconnect between the controller and the "brain" of the system is designed by EEs and CPEs.
The brain of the system is designed by CPEs, with input from EEs and software (CS)
The low level software (firmware) that runs the brains to properly communicate and work is written by CPEs and CS.
The high level software (GPS systems, speed control, etc), is written by CS, with input from CPEs and EEs. Often the systems such as speed controllers are designed by other engineers, then handed to the software guys for implementation.
Even Higher level software such as data collection, interfacing with apps, etc, are done by the CS people.

Keep in mind, I know a few people that have CPE degrees and do high level software. I know people with CS degrees that do low level software. I'm an EE and I often do high level software. People can end doing work at all levels. Education is just a stepping stone.

Computer engineer will put you right in the middle between Electrical Engineers and software. It's a good place to be, BUT often people need one or the other, so you can't always have the best of both worlds, you just need to find the right job for you.
 
  • Like
Likes MLINJA 2MS
  • #17
Grands said:
I really don't know, a computer engineer told me that, saying me that a computer engineer coordinates a group of computer scientist that work on the same project, and each of them have to code a part of the program.
But this is only one example. You cannot say computer engineers are project managers and computer scientists are programmers. Real life doesn't work this way. Maybe the project manager is a philosopher and the programmers are former computer engineers or any other natural scientists. Those qualifications may be useful for one or another career entry, but they rarely define a career. A job has to be done by those available and capable, college education is secondary, if at all.
Probably, this happens also in the US?
I don't know. But I dare to claim that training on the job is everywhere the case. I once was a C++ programmer, just because I said: I want to do it.
Do you mean start with a program degree and end with another one, by doing something else during the master degree?
I mean you could be a computer engineer and end up as a computer scientist and vice versa. If you want to know, what they are specialized in, then
berkeman said:
Probably the most reliable way to start to get an idea would be to look at the course list for each major at a couple of universities near you.
Of course there are likelihoods as
berkeman said:
A CS major is unlikely to design and build any hardware. A CE major is unlikely to design a new computer architecture (like a new RISC or DSP architecture)...
but never say never. Real life is more complicated and complex than a title, aka degree.
 
  • Like
Likes berkeman
  • #18
donpacino said:
Like others have mentioned there is a lot of crossover.

In general, computer engineers is more low level, and computer science is more high level.
The expression low level means that computer engineers work on stuff that is more easy and less complicated ?

donpacino said:
A motor is designed by electrical and mechanical engineers
Does mechanical engineers works on electrical motors?
I didn't know that.

donpacino said:
People can end doing work at all levels. Education is just a stepping stone.
I agree with that, but I think is't good to start by doing something we think it's useful.

donpacino said:
Computer engineer will put you right in the middle between Electrical Engineers and software. It's a good place to be, BUT often people need one or the other, so you can't always have the best of both worlds, you just need to find the right job for you.
Generally I don't like to much to know only " a part of something", and choose "something in between".
The issue is that I still don't understand what are Computer engineers made for?

It's more easy to understand the civil engineers build houses, mechanical engineers create mechanical parts of a machine, electronic engineers design circuits and CPU, or staff li Nvidia or ATI, but I can't understand which is the field of a computer engineers.
A computer engineers is not able to code like a computer scientist but at the same time doesn't creates circuits like electronic engineers, it really can be just " something in between this two field"
fresh_42 said:
Maybe the project manager is a philosopher
In the US there are philosopher that are project manager?
In italy we have Marchionne that studied philosophy and now he is the manager of Fiat, but he get also a degree in Law at new York and also an MBA.

fresh_42 said:
I don't know. But I dare to claim that training on the job is everywhere the case. I once was a C++ programmer, just because I said: I want to do it.
Are you a computer scientist?
 
  • #19
Grands said:
The expression low level means that computer engineers work on stuff that is more easy and less complicated ?
Low and high in this context rather means the distance between the machinery layer (low) and the applications layer (high) than a judgement on qualifications. The mechanics who knows how to grind your head gasket works on the lower and the race driver on the higher level (better: layer), but this doesn't say anything about who is more qualified in his job.
In the US there are philosopher that are project manager?
Why do you expect me to know this? If I had to bet, I'd say yes. The qualifications of a project manager involve so many aspects, that a formal education doesn't cover all of them. E.g. what is it good for to have a perfect economist as a PM if he has zero social competences?
´
In italy we have Marchionne that studied philosophy and now he is the manager of Fiat, but he get also a degree in Law at new York and also an MBA.
You missed the point. Degree and job description doesn't necessarily match. Sometimes they do, but more often they do not. Imagine you work as a computer engineer and are responsible for the maintenance of a server park. Then someone decides to change the mail system. This requires various new installations and also adjustments of the software. Would you solve the problem or tell your boss that you can't do it, because you've learned how to repair motherboards but not how to adjust new software? And on the other hand, do you think your boss will be interested in whether you once studied philosophy, computer science or learned electrician?
Are you a computer scientist?
No, a mathematician. But formally I've worked at least on half a dozen of jobs, often for the same company. This is why "person" and "role" have to be distinguished, and "degree" is again another property. As I said: it depends on what has to be done and who can do it, and not so much on what you've learned as a kid (< 30 yr.).
 
  • #20
Grands said:
Which are the mains difference between Computer engineering and Computer Science?

Whatever difference you choose to make of it for yourself .

All a degree course in any vocational subject will give you is a bare bones rag bag of tools which is just about enough to get you started in a chosen career .

What happens after that is entirely down to a mixture of your own endeavours and chance events .
 
  • #21
Grands said:
electronic engineers design circuits and CPU, or staff li Nvidia or ATI, but I can't understand which is the field of a computer engineers.

Think of it like this. computer engineering is the digital part of electronic engineering plus the low level software (fresh_42 addressed this above) of software engineering.
 
  • #22
fresh_42 said:
Why do you expect me to know this? If I had to bet, I'd say yes. The qualifications of a project manager involve so many aspects, that a formal education doesn't cover all of them. E.g. what is it good for to have a perfect economist as a PM if he has zero social competences?
In my country philosophers works in libraries and I think that a university can't give to a person social competences.

fresh_42 said:
Imagine you work as a computer engineer and are responsible for the maintenance of a server park.
Besides this, computer engineers usually work on server park?
I never saw a server park in real life.

Nidum said:
All a degree course in any vocational subject will give you is a bare bones rag bag of tools which is just about enough to get you started in a chosen career .
Do you want to say that degree is not so important like experience and kind of work that someone has done?
 
  • #23
Grands said:
In my country philosophers works in libraries and I think that a university can't give to a person social competences.

You completely missed the point. He picked philosophy at random to make a point that background does not dictate what someone can do in a job. And program management often doesn't need the tech background that engineering does

Grands said:
Besides this, computer engineers usually work on server park?
I never saw a server park in real life.

As far as youre concerned, a computer engineer is an electrical engineer that works on digital hardware. Its a very broad field that encompasses many different types of jobs.
 
  • Like
Likes fresh_42
  • #24
donpacino said:
You completely missed the point. He picked philosophy at random to make a point that background does not dictate what someone can do in a job. And program management often doesn't need the tech background that engineering does

Maybe in the US, if this is the real situation, it's cool.

donpacino said:
a computer engineer is an electrical engineer that works on digital hardware. Its a very broad field that encompasses many different types of jobs.
Larry Page if I'm not wrong, has a degree in CE.
 
  • #25
fresh_42 said:
But this is only one example. You cannot say computer engineers are project managers and computer scientists are programmers. Real life doesn't work this way. Maybe the project manager is a philosopher and the programmers are former computer engineers or any other natural scientists. Those qualifications may be useful for one or another career entry, but they rarely define a career. A job has to be done by those available and capable, college education is secondary, if at all.

Grands said:
Maybe in the US, if this is the real situation, it's cool.

Look at the above quote. It was a hypothetical meant to demonstrate that people can end up in different places.
 
  • #26
I get it, but how can I know if I'm going to enjoy studying computer engineering ?
 
  • #27
Grands said:
I get it, but how can I know if I'm going to enjoy studying computer engineering ?

analog hardware
digital hardware
driver software
high level algorithmswhich of those above four things interest you
 
  • #28
donpacino said:
analog hardware
digital hardware
driver software
high level algorithmswhich of those above four things interest you

I never worked in this field, I never thought that there are still people that work on analog hardware.
Anyway probably I would choose driver software and high level algorithms.
 
  • #29
Grands said:
I never thought that there are still people that work on analog hardware.
We live in an analog world!

computer engineering primarily covers digital hardware and driver software, with opportunities for high level algorithms
computer science primarily covers high level algorithms and software

If you arent interested in hardware at all, computer science would be a better bet
 
  • Like
Likes fresh_42
  • #30
Grands said:
In my country philosophers works in libraries ...
I'm pretty sure, that this isn't a the only job they have. I worked with someone who studied philosophy and managed the company's network.
... and I think that a university can't give to a person social competences.
Well, if you're open to it, they do. However, in case people haven't built some social competences already, they probably can't.
Besides this, computer engineers usually work on server park?
I never saw a server park in real life.
This was just an example. You may replace it by
berkeman said:
new RISC or DSP architecture
if you like. I've seen a server park that was run by some students aside their study. Companies like, e.g. Google have their own employees for that, and I doubt that they all studied something with computer in its name.
Do you want to say that degree is not so important like experience and kind of work that someone has done?
I want to say was exactly this:
Nidum said:
All a degree course in any vocational subject will give you is a bare bones rag bag of tools which is just about enough to get you started in a chosen career .

What happens after that is entirely down to a mixture of your own endeavours and chance events.
You must not think in these close relations ##\{degree\} \longleftrightarrow \{person\} \longleftrightarrow \{role\}##.
They are not bijections. A person has a degree, which is a property, and has a role for the time being on a project. This can last a lifetime, but more often it does not. The property degree is a characteristic as height or hair color is. The property role changes on demand and opportunity. The fact that someone achieved a degree already says something about this person regardless in which field he got the degree.
 
  • Like
Likes Nidum and berkeman
  • #31
fresh_42 said:
I'm pretty sure, that this isn't a the only job they have. I worked with someone who studied philosophy and managed the company's network.
I can assure you that in Italy they won't find a work as a manager, at least the have to duty to speak and help people that work in the company and need motivational support.

fresh_42 said:
They are not bijections. A person has a degree, which is a property, and has a role for the time being on a project. This can last a lifetime, but more often it does not. The property degree is a characteristic as height or hair color is. The property role changes on demand and opportunity. The fact that someone achieved a degree already says something about this person regardless in which field he got the degree.
I get it, but when a people search a Job, doesn't search it by indicating which is his bachelor's degree, maybe in the US the degree is just a little part of the CV.
 
  • #32
Grands said:
I can assure you that in Italy they won't find a work as a manager
Nobody becomes a manager right away from university. It's the time in between, which counts. I'd suggest to wait another 30 years, before you assure things like that.
 
  • #33
I know people that get a degree in philosophy and after, because they didn't have job opportunities, they get another major in stuff like Pharmacy.
 
  • #34
Hi guys, I don't want to be boring, but I still don't understand if Computer engineering is the right degree for me, and i don't know what to do to understand this, due to the fact that I've never code and I never worked on electronics architectures.

Are things that I can learn from college, but to I need to know if this is the carrier I desire most, or the work that I would like to do, to be motivated to choose this major.

Thanks.
 
  • #35
Grands said:
Hi guys, I don't want to be boring, but I still don't understand if Computer engineering is the right degree for me, and i don't know what to do to understand this, due to the fact that I've never code and I never worked on electronics architectures.
Computer engineering is half computer science and half electrical engineering. If nothing in electrical engineering interests you, choose computer science.
 
<h2>1. What is the main difference between computer engineering and computer science?</h2><p>Computer engineering focuses on the design and development of computer hardware and systems, while computer science focuses on the theory and principles of computing and software development.</p><h2>2. Can computer engineers work as computer scientists and vice versa?</h2><p>While there is some overlap in the skills and knowledge required for both fields, computer engineers and computer scientists have different areas of expertise and may not have the same job opportunities. However, with additional education and training, it is possible for someone to transition from one field to the other.</p><h2>3. Do computer engineering and computer science students take the same courses?</h2><p>There may be some overlap in courses, but computer engineering and computer science students typically have different core courses that focus on their respective fields. Computer engineering students may take courses in electrical engineering, while computer science students may take courses in mathematics and programming languages.</p><h2>4. Is one field more in demand than the other?</h2><p>Both computer engineering and computer science are in high demand, but the specific job opportunities may vary. Computer engineering graduates may have more opportunities in hardware and systems design, while computer science graduates may have more opportunities in software development and data analysis.</p><h2>5. Which field has a higher salary?</h2><p>The salary for computer engineering and computer science professionals can vary depending on their job roles, experience, and location. Generally, computer engineering and computer science graduates have competitive salaries, and it may depend on the individual's skills and job market demand.</p>

1. What is the main difference between computer engineering and computer science?

Computer engineering focuses on the design and development of computer hardware and systems, while computer science focuses on the theory and principles of computing and software development.

2. Can computer engineers work as computer scientists and vice versa?

While there is some overlap in the skills and knowledge required for both fields, computer engineers and computer scientists have different areas of expertise and may not have the same job opportunities. However, with additional education and training, it is possible for someone to transition from one field to the other.

3. Do computer engineering and computer science students take the same courses?

There may be some overlap in courses, but computer engineering and computer science students typically have different core courses that focus on their respective fields. Computer engineering students may take courses in electrical engineering, while computer science students may take courses in mathematics and programming languages.

4. Is one field more in demand than the other?

Both computer engineering and computer science are in high demand, but the specific job opportunities may vary. Computer engineering graduates may have more opportunities in hardware and systems design, while computer science graduates may have more opportunities in software development and data analysis.

5. Which field has a higher salary?

The salary for computer engineering and computer science professionals can vary depending on their job roles, experience, and location. Generally, computer engineering and computer science graduates have competitive salaries, and it may depend on the individual's skills and job market demand.

Similar threads

Replies
2
Views
1K
  • STEM Career Guidance
Replies
2
Views
1K
Replies
18
Views
3K
  • STEM Career Guidance
Replies
11
Views
593
Replies
7
Views
1K
  • STEM Career Guidance
Replies
2
Views
2K
  • STEM Career Guidance
Replies
18
Views
4K
  • STEM Career Guidance
Replies
2
Views
1K
Replies
3
Views
2K
  • STEM Career Guidance
Replies
5
Views
1K
Back
Top