Hi everyone. I am going into my sophomore year of college and am trying to decide my major. I would like to major in some field of engineering, but as a result of starting my freshman year in the school of biological sciences (and not liking it) it is now too late to switch my major to any engineering discipline and graduate in four years. Instead, it would take me four years from now (five total) because I would need to take intro physics courses in my sophomore year and then three more years of engineering courses that require the physics courses as prerequisites. Since I would either have to go five years or pay extra for summer courses to major in engineering, I'm considering going into computer science as an alternative (computer science doesn't require the physics, and I received credit for two semesters of calculus in high school, so I'd be able to complete a Csci program in three years from now). Job prospects for computer science graduates are supposed to be pretty good right now, especially if one can get his/her foot in the door with an internship before graduation. Also, comp sci seems to provide a similar level of intellectual stimulation as engineering. However, I have very little experience in computer programming and don't know if I will find it enjoyable or insufferable. This summer I've just began to teach myself python and so far I feel that it's pretty boring, but I can't really do anything interesting with it yet. I've read that to be successful in the computer field you really have to be into your work (i.e., not just doing it for the money, etc.) and I don't want to waste time and money trying to get into a field in which I genuinely lack interest and will eventually just fizzle out. My question is this: what are the differences between computer science/software engineering and the other engineering disciplines (mechanical, electrical, etc.), both in terms of the nature of the fields and the career paths that follow from degrees in each field? For example, I'm aware that an engineering degree is a very valuable degree for anyone to earn, regardless of whether or not they actually work in a field. Can the same be said for a computer science degree? Does a CSci degree have the same flexibility/options that an engineering degree has? Any input about the differences between the kinds of work software engineers do versus that done by other kinds of engineers would also greatly be appreciated.