<p>blueiguana’s post brings another point to mind. You mentioned a list of possible majors above, and b-i just mentioned engineering. Note that computer engineering (in a school of engineering within a college) is quite different than a computer science major. Computer engineering is likely to be a MUCH more rigorous course of study (you have all the requirements of an engineering degree). Of course, you would be learning things that would help you if you want to do things like design computer hardware. But if you are not looking for hard-core hardware development, I would think you will find a computer science major to be much easier sledding. Just have your eyes open if you choose an engineering path. B-i is right, though, that this particular combo (engineering - business) is a common one for colleges to encourage (although sometimes in 5 year programs).</p>
<p>Also, no one has said much about the offshoring of many, many programming jobs. I am currently working with a client that is offshoring like crazy (went from about 25% offshore for basic in house development and support to 70% offshore in one year). I am not saying it has been a pleasant experience, but the writing is on the wall – this will be more and more common in the coming years. I would not plan on a career as a programmer in the US if I were a college student today. I think there will still be jobs in IT/CS/whatever you want to call it management, jobs managing physical technical infrastructure, and for roles like systems analysts that interact closely with the business. And you can cut your programming teeth in the next 10 years. But I wouldn’t count on actually coding as a long term career in the US. There will be some, but far less than we have today…</p>