Never, EVER go to grad school the way I did - just noticing that your four years are up, and seeing where you have to apply next, so you can keep on proving how smart you are.
Going to grad school straight out of college is almost always a mistake in any field, and it is especially a mistake in CS. Spend a couple years as a working programmer first, ideally at a small company.
One, it may change your mind - this should be embraced, not feared. And two, if you do go to grad school, you will find you have much more perspective and depth than your fellow grad students.
Since there is no such thing as CS, every field is different. Some just decrement the "C". Others are perfectly healthy.
Without question the soundest field in CS is graphics. I wish to God I had gone into graphics. Digital image synthesis is actually applied math, of course, and any area of applied math that actually has a real application will serve you well.
Unfortunately, pseudoapplied math is very common and quite worthless. So be sure to look fairly deeply into any claims of applicability. A genuine applied field, such as graphics, will have a steady flow of innovations (and innovators) into actual industrial practice. If you don't see this, something, somewhere, is wrong. Trust the nose.
Also, when you apply, don't just select schools by reputation, as if you were applying to college. Pick the actual group you want to work with, and don't be shy about contacting professors.