What is the difference between Computer Science and Computer Engineering?

I am still trying to decide between majors and I just want to know what the difference is between the two?

Thanks

https://uwaterloo.ca/software-engineering/future-undergraduate-students/frequently-asked-questions

Trust me, it’s nothing to stress over. There really isn’t that much difference. Computers has a ridiculous amount of overlap. A CS graduate could easily pick up on a CE job, vice versa. In fact most tech graduates end-up in corporate IT jobs and spend an entire career never looking at a math problem.

In general terms - software versus hardware. CS works with the science and math of “talking” to computers to get them to do what you want, and CE works on ways to build a better computer.

I agree with some of this and disagree with others, I’ll go in order. I agree that it really isn’t that much to stress about and you’re probably going to make a decent salary, which I’m assuming is your end goal in getting the degree since they are pretty different majors which leads me to my main problem with this comment. This second part really annoyed me, they are very different majors. That is like saying math and physics are the same degrees because there is overlap in the requirements. I somewhat agree that a CE degree might be able pick up a software engineering job (though CS majors will be given preference) because yes there are a couple of programming classes you have to take. On the other hand, I highly doubt a CS major could “easily” pick up a CE job. You should have some software knowledge for CE, but CS barely needs any CE knowledge. The corporate IT job is a very possible reality but you will most likely be dealing with “math problems” as a software engineer.

Sorry for the rant, but it is one of my big pet peeves when someone calls these two very different majors the same.

Let me just add with others that CS and CE, while they overlap, are absolutely not the same thing and have a big difference.

Agreeing as well that CE jobs in particular involving hardware tend to not be easy for most CS people to go into, though going CE → CS is a bit easier IMO just due to the nature of the industry (nearly all CS grads go into Software Engineering). That said there are vastly more CS jobs than hardware focused CE ones, and having more CS knowledge is still a small leg up on CE majors making the transition, so I wouldn’t let that turn CE into a default.

The link @TomSrOfBoston posted has a great summary in the first FAQ if you expand it. While it’s not a make or break choice if you go to a school where you can switch between them easily (worth checking)