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!