I'm getting close to the end of my Computer Engineering degree here at UW-Madison, so I can hopefully offer some relevant advice.
1) The Arduino is a decent starting point, but not entirely necessary (if your program is at all like mine, you won't even get into hardware-level programming until your third year. If you really want to learn stuff on that level, join some extracirricular like a robot team or some such to really learn electronics)
2) The sparkfun inventor's kit for Arduino is a good starting point that I would recommend for teaching yourself basic electronics and Arduino programming.
Beyond that, I would also get into Linux, as that is useful for dealing with low-level stuff.