First Hand Advice
As a graduate student at Rutgers University (relatively highly rated CS department), I think I can contribute to this.
I didn't own a portable until after I finished my undergrad CS degree and got to graduate school. My first semester, I purchased a MacBook. I now have a Mac Pro at home and a new MacBook Pro to carry around.
So I have two stories, my undergrad school, and Rutgers.
While I was an undergrad, I was still a Windows user at home (as were most of my peers). After my first semester, the CS department put their Unix systems online, and I ended up being of charge of administering them. I pretty much lived in Solaris and Linux, and started liking being on Windows less and less. The school was a "Java school," where most CS concepts were taught in Java, so it really didn't matter what you used at home. Windows, Mac, Linux, Solaris, anything worked.
When I got to Rutgers however, I found that the entire department was Unix oriented (Linux, actually). Rutgers CS was founded in 69, and I think they have had a Unix system culture forever. As I said, when I got there, I bought a Mac and never looked back. I can easily share stuff with the Linux workstation on my desk. Most code compiles just as readily on Linux and Mac (and for the stuff that doesn't (some synchronization code, etc.) you can either run Linux in a VM or ssh to a Linux box).
In the end, it all depends on your school. If you are in the type of school that Windows for everything, it might make more sense to run Windows to avoid hassle. At a Unix school, stay as far away as possible. As a Teaching Assistant, I cringe when students submit C code that was written and tested on Windows, because it is highly unlikely that it will work on Unix without further modifications. Mac is going to be much, much closer in most cases.
Sorry for the long winded response, but I hope I've helped.
-Bill