I would also recommend you have a look at Delft University of Technology (www.tudelft.nl) in the Netherlands. As you'd expect from the Dutch, nearly everyone speaks fluent English, and this is particularly true in the academic community.
Last year, I spent two semesters studying abroad in Eindhoven Technical University (better suited for Electrical Engineering, my MSc), where I had all subjects taught in English, and everyone mentioned how TU Delft was a great university for studying Computer Science. Plus, I find the Netherlands to be a great country in terms of freedom ('Live and let live' is their motto, iirc), and it's also a great central hub to fly all around Europe.
And I wholeheartedly agree with what many are saying here: go and study abroad, but focus on getting to know the World, not just more CS. The experiences you'll have abroad will be far more valuable to you, your life, your way of thinking.
I have it right here in my desk as I am implementing a TCP Reno simulator in MATLAB (for learning purposes). I agree, it reads like a classic: concise and thorough.
With this one in the shelf I can even pretend to be a true network researcher
I don't see how Android can be fairly compared with the iPhone given that the iPhone is already into it's second iteration and Android has just been released.
You can compare it to iPhone v.1 and it still falls behind. Its opensource nature undoubtedly has great potential, for the things iPhone doesn't do. But have a look at the side-by-side comparisons of basic tasks like browsing (in one of them you can see severe choppiness while scrolling Engadget's website, iirc) and you'll see what I mean.
Or shall we have HTC be the scapegoat for providing a thick, underpowered, multitouch-unable device?
Many people are unenthusiastic about their work.