TLDR
- Talk to current CS students and recent CS alumni of the colleges you're interested in. Be aware that they will be biased toward speaking highly of their school, so ask for more advice about specific classes that they thought did or did not benefit them greatly
- A class about language syntax is a gigantic waste of your time and tuition
- CS degrees are about getting foundational knowledge not easily self-taught
- Attend every single one of your Linear Algebra lectures
Also (added because of Panda Pajama's comment), take history and art and music and literature classes.
Foreword to a lengthy answer
The honest truth is that no CS curriculum can prepare you for game development, but every single course in a respectable CS curriculum will benefit you in some way if you are interested in contributing to the process of game development as a game programmer. That's what my answer caters to.
How useful my answer is to you will change as you go through school and work on more of your own game projects and understand better what roles you want to fill. You will probably leave school as a fairly different person from the one you entered as. Your desire to work on games may not change, but how you see yourself going about doing that likely will.
A lengthy answer
I'm going to have to disagree with Josiah Hester and recommend that you not take a C++ course, because it is very likely that the course will be either too out-of-date (using bad inheritance) or too up-to-date (too much standard library), and almost certainly inadequate for working with C++ on the level that you'd be expected to at a game company. You can only get to that level by working with the language on your own time with your own projects, which is time you'd have to spend on top of a C++ class anyway. Save your classroom time for concepts that aren't as easily (or in this case, optimally) self-taught.
Take instead a class that requires that you use C (not C++) to implement low level OS features like a shell, a memory allocator, or a scheduler. "Operating Systems" is the typical name for the upper level version of this course (intro courses may be called Systems or Architecture or something similar).
In fact, don't take any classes named after a specific language. And avoid colleges that have a list of programming languages as their course sequence. If you happen to learn a language while learning about some other topic (hard to learn systems/architecture without learning assembly and C), that's great. But a class about language syntax is a gigantic waste of your time and tuition.
Don't take any class called "Web Programming" unless it's a fun elective type thing and you're looking to fill credits with something that is new material but isn't essential to get into your brain. Same goes for anything about trendy platforms, like "iPhone Programming." Just go watch the Stanford videos on iTunes and make an app on your own. It'll look more impressive if you're applying to be an iOS game programmer somewhere.
University classes can't possibly keep up with what's current in industry, so you have to use them for what they're good for: foundational knowledge not easily self-taught.
If at all possible, your best source of information on the usefulness of any given course will be current students and recent alumni.
Sampling of standard courses you should expect to take
- Data Structures
- Algorithms
- Operating Systems
- Discrete Math
- Linear Algebra
Useful higher-level elective classes
(Note, don't take all of these, you might go crazy. Let your developing interests guide you.)
- Artificial Intelligence (teaches you academic AI, which isn't directly useful for games, but being exposed to it is helpful)
- Sometimes a course in Graphics can be helpful, research the professors that teach it
- Machine Learning
- Heuristics
- Compilers
- Networks and distributed systems (again, less practical game programming knowledge, but the value is in the little things you learn along the way)
- Some deep thinking class on math and computation, usually named something like Theory of Computation, Numerical Computing, or Numerical Analysis
Be wary of classes that are purely about making a project, as game studios will be more interested in projects you worked on outside of class, and will specifically ask you (it was specifically asked of me), "This game project on your resume, did you make that in class or in your spare time?"
This isn't an absolute thing of course, but keep this in the back of your mind as you choose classes. If the professor is really good and you'd really like to allocate part of your semester toward dedicated work on a project, then you've already convinced yourself you should take it.
Note again that the classes I've listed aren't "Making a Flash Game 101." I've beaten this dead horse many times in this answer, but classes like that just aren't worth the cost of a college degree. Even if you get a free ride via scholarship or other means, it will have been a waste of that scholarship/means.
Maybe this is a super US-centric or spoiled attitude about things, but think of it like this: You are the customer at your university. Ensure you receive a product of a certain quality, and do all that is necessary in order to ensure its safe delivery.