seems like I'm doing ok so far, then...
maybe I'd be better off getting an EE degree? from what I hear the logic is universal for the two... as long as I'm doing programming outside of class... I could just fill in the gap between EE and CS on my own... get 2 skills for the price of one?
NOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO! Not EE

I had to take a Digital Logic course in 2nd year WOW was that boring do you really want to be tinkering around with circuit boards? Or would you rather be playing with Robots or programming P2P systems or studing Quantum Computation (ok the last option may be a bit of a stretch.)
Anyway......
I am a senior in Computer Science and here is my two cents. I agree with Narue
read and program as much as you can. When I get an option on an assignment or term project to code or write a term paper I code. I also got a part-time gig as a programmer at a research lab on campus which helps. Also one of my AI prof's told us that by now we are expected to know at least 12 different programming languages so if you have the time and you are allowed, try programming the assignment in a language you aren't used to.
You said that you want to goto a place that will challenge you, the most important thing is challenge yourself. Don't be like lots of guys in my class who complain about how school is boring and they aren't learning anything I, for one, have learned alot and that is mostly because I challenged myself. Most schools in my experience are very similar to one anouther where they differ seems to be in centers of excellence. For example school X may have a GREAT AI lab (yahoo!) where as school Y might be solid in Computer Graphics research. Look at what the schools you are interested in offer as far as areas of specialization I think thats important. Also teachers! Research the Faculty find out who's on staff and if they have done any recent work or if they are just, for lack of a better word, coasting. This is easy to do as most Comp Sci departments have their faculty listings on line.
Also campus life is important go to a University where you think it has more to offer in .... other areas besides Comp Sci
I don't get out from behind a computer that often but its nice to have the option.
I think thats it for me.
Ciao