I finished my undergrad about five years ago (Go Purdue!). As I look back at my education and try to pinpoint the key decisions, a couple things stick out:

  1. Get involved in extracurricular clubs. I was a member of StudentDev (a Microsoft student club associated with devhood.com) and it has helped me in very unexpected ways throughout the years. It's amazing how I run into those same people both inside and outside of Microsoft. Unfortunately I think that site is dead now, but there are plenty of others. These are great ways to form a network. Once you graduate these people will spread out through the industry. Even if they aren't your best friends, you'll have some common ground if you need to open a dialog.
  2. Enter programming contests. You don't have to look very far to find one on campus or on the internet. Enter one or two or fifty. They give you great experience, and you might even win prizes. I entered one at Purdue and one during my Masters at Drexel. Both of those not only made great lines on the resume, but I've met people years later who remembered my work in those competitions.

When I interview college students, "passion for technology" is at or near the top of my list. Students who are involved in clubs, programming contests, or hobby projects get bonus points when I'm tallying up the scores.