If you're in the US, I'd suggest going to a smaller school for undergrad where they will take care of you. If you go to a big school like Berkeley, Ohio State, or any of the big 10 really, you'll be screwed out of a decent education because you're just a number. I speak from experience. For grad school the big schools are much better because they're focused on research and graduate students, so you'll get what you need. But for undergrad, I'd stay away from the big schools. Also, choose a school in a place you like. Location is really a huge factor. You have to know yourself for this--if you don't like big cities, stay away from schools there no matter what their education offers. If you don't like tiny towns, stay away from them. if you hate the east coast, don't go there. It's more important than you would think.