Hello, I've been struggling for a while to decide which major to put on my transfer application. Some schools don't allow engineers to change majors after transfer, so I figure it's good to make a solid choice now. I wanted to be a civil engineer, but after physics and chemistry I am also interested in EE, ME, and ChemE. I've also found programming to be quite fun and challenging, and I really like math, so I've considered computer science as well. I titled this post "CS against all odds" because I never thought that I'd end up wanting to study CS and just sit in front of computers all the time. It looks boring and unhealthy to the observer, and I wanted to spend a lot of time outdoors because I love nature, but I'm finding that CS makes sense to me and that lots of important problems are solvable using CS. I like the fact that there is a good use for the math I'm taking (linear algebra, whatever comes after..), and I like the fact that it's a good skill that is useful everywhere. I guess my worry is that after 10 years I'd find that there's more to life than sitting behind a computer. But again, that might only be the perception of it or the feelings of someone who never had a passion, or at least interest, from the beginning. Oh, also, any argument for computer engineering vs. computer science? What are some "unusual" (i.e. cool!) jobs that a CS major might get? As in, if I did not want to work on things I consider frivolous (like games, entertainment apps, finance, most websites), but rather wanted to be involved in projects useful to humanity, or just science in general (receanography!), would it be easy/hard for me to go that route? Thanks for reading, I mean no offense by calling those things frivolous - they are important to everyone, including me to some degree. I'm just trying to hold on to my ideals as best as I can (I came back to school wanting to build infrastructure in the third world). I'm also trying to get an idea of how broad CS is. I love solving problems, don't mind spending a whole working day tackling a development idea. I hate doing routine stuff. EDIT: also, any arguments for computer engineering vs. computer science?