I've actually considered something else interesting. Since programming deals with a lot of mathematics and algorithms, the smartest thing to do, I see, is to get a major in mathematics as well as a major in computer science. I'd be able to apply what I learn from my math courses into the programming I learn from CS.