I'm actually an electrical engineer, which means that I have taken CS courses and I know what the hell is going on.
Anyway, the Princeton CS dept is very good, except for that fact that CS folks are intrinsically assholes.
(just kidding about that, but they are dicks about "their" wireless base stations).
Princeton CS is based initially around C, not some kind of rinky-dink OO stuff. The second/third CS class is CS217, which the final project involves constructing a UNIX shell from the ground up. It's pretty intense, but it's not too bad compared to the EE curriculum.
If you're interested in CS, I'd recommend going to a school that is known to have a good technical/engineering branch. I have a buddy majoring in CS at Duke, and it seems pretty lame from what he tells me. I'd stick to places where the emphasis is more technical unless you plan to double major or something.