Several state schools also have fantastic computer science programs. These are: University of Washington, UT Austin, University of Illinois Urbana-Champaign, and Georgia Tech. Glancing at the U.S. News CS rankings, it looks like Wisconsin, UCLA, Michigan, UCSD, and Maryland are also up there.
Some of the Ivy League schools also have very good computer science departments: Harvard, Princeton, Columbia, Penn, Brown, Cornell. Don't go to Yale for CS. Not sure about Dartmouth.
Caltech is also obviously really good.
If you want to do programming post-graduation, you'd be fine going to any of the schools I listed above. Google, Facebook, etc. recruit from all of them, and I'm sure they'd look good on a resume for a startup. If you go to a school not listed above, you'd probably have a little bit more difficulty getting an interview (though this would get to be less of a problem with time, after you have actual work experience).
If you want to go to graduate school for computer science, make sure you go somewhere where there are lots of good researchers so that you can get involved with research as an undergrad (any of the schools above would do).
Here's where it gets tricky. All of the schools I listed above have prestige in the CS world. However, in the general business world (i.e. not tech companies), and in finance, it's Ivy League schools that have prestige. So, if you want to go into traditional finance or management consulting, you'd be better off going to Yale than Carnegie Mellon. This is what people are talking about when they say that the "name" matters.
TLDR; if you're sure you want to do programming, go to a top CS school (public or private). If you think you might want to do finance or consulting instead, go to an Ivy.
(Source: I'm a CS student at Princeton.)