1. Limited time only! Sign up for a free 30min personal tutor trial with Chegg Tutors
    Dismiss Notice
Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Computer Engineering or Computer Science

  1. Jan 27, 2013 #1
    I'm a first year engineering student at a Canadian university. I've been interested in programming and computer science from a very young age, and in high school had also become interested in electronics. Entering university, I didn't know if I wanted to do computer science or computer engineering. I was advised to start in engineering and take the first year computer science courses. An academic adviser told me that doing both programs concurrently would take around 7 years, so that isn't really an option.

    I’m halfway through first year engineering now and soon need to decide which program I will pursue. I know that I want a software development career. I have heard mixed advice about what degree would be best for this. I am quite interested in low level software and how it interacts with the hardware, like device drivers and operating systems. However, I’m equally or perhaps more in algorithms, artificial intelligence, and topics that would probably not be covered in much depth in computer engineering.

    Some people have told me that an engineering degree is a better way to go. They said that it would still teach the important software skills, but would also go into other subjects like electronics, and is more respected by employers. It seems like a lot of embedded software jobs prefer computer engineers to computer scientists. I am interested in electronics, so it would be nice to be able to learn more about electronics design. However, I think I’m more interested in software. Can people with a computer science background get into embedded software development too?

    One plus for a computer science degree is that I would have more room to take electives in other subjects that I’m interested. I’d love to take some courses in math like number theory and more advanced calculus. A computer science degree would let me minor in math. Also, I've wanted to take courses about artificial intelligence since I was little. I am also interested in the prospect of getting a PhD and becoming a researcher in computer science, but it’s obviously much too early for me to know if that’s what I would really want to do.

    One thing that bothers me is that I know a lot of people in engineering that have “dropped out” and switched to computer science, because it was easier. The first year computer science at my university is an extremely easy course. I am concerned that a computer science degree may not be very challenging, at least compared to an engineering degree. I have read many people online saying that you should do an engineering degree, unless you can’t handle engineering, then you should do computer science. It also seems that a lot of people who do computer science get help-desk, IT support, type jobs. I am not at all interested in that type of work.

    I’d be grateful for any advice anyone could give me about their experience with either of these fields, and what would be most suitable for me. I want a career related to software. Over the last few years I've been quite back and forth about which I’d rather do, and any insight, help, and advice would be greatly appreciated!

    Thanks for taking the time to read this far! And thanks for your help!
     
  2. jcsd
  3. Jan 28, 2013 #2
    If you want a career in software I would study computer science or even software engineering. Depending on your school for computer science at least, you can usually take electives in embedded/systems programming, even operating systems. And this would be enough for a lot of the computer engineering type jobs assuming you can teach yourself the rest.

    You might not end up learning things like circuits, but it seems like from what you posted your less interested in hardware. If not you can always take a circuits class they aren't that difficult.

    Drivers/systems etc., type programming does not deviate that far from the computer science path its just a different specialization/concentration. But make sure you choose your electives wisely.

    I have also never heard of a person with a computer science degree getting a job at a help desk, or IT support. I am sure it happens, but the same will happen with an engineering degree, you could easily end up a computer technician or computer repair person.
     
  4. Jan 28, 2013 #3
    Thanks for your reply!

    A course about operating systems, and a course about computer organization are actually required course at my school, and there are a few electives in real time systems and computer architecture, so I should be good! I actually was planning on taking a one or two circuit courses as electives from the engineering department. So I suppose I'm probably good!

    It's really nice how much flexibility a computer science degree has compared to an engineering degree. The computer engineers only take a few software courses (real time systems, data structures / programming, computer architecture, and operating systems I think), not as many as I'd like to take! And I am interested in more than just embedded systems, so I might find the scope and specificity of an engineering degree limiting.

    That's good! I see what you are saying.
     
  5. Jan 29, 2013 #4
    My experience has been slightly different. For embedded applications (especially more complex ones) electrical/computer engineers tend to have the preference. The reason is for embedded applications knowledge of the application is more important than the computer science type knowledge.

    For example if you are designing a an electromechanical control system it is more important that you understand the control theory than the programming side of things. If you are designing a radar interface then radar knowledge is more important, etc. Most embedded programming is more vanilla than many of the more esoteric computer science ideas like polymorphism.

    And as far as flexibility from a straight employment perspective I think the engineering degree gives you more options. Most programming jobs will be open to you with a computer engineering degree but so will most electrical/computer engineering jobs.
     
    Last edited: Jan 29, 2013
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook