Does college prepare you well for a job in the field of computer science or are there areas that you won't learn about until you are out of school?
So... yes and no. A Uni CS degree gives you some good theoretical foundation, and depending on the school it may give you some practical experience. You'll learn some programming, but most of it will be somewhat bad habits.
The vast majority of what you need to know on the job, you learn on the job. In Uni you learn how to learn that stuff though, so it's quite helpful.
That said, employers are expecting this, so new grads aren't typically expected to know things you'd have learned on the job, vs in Uni. Interviews are geared towards this too, focusing on Uni studied things more often than not.
An internship will likely prepare you for a career better than most Uni classes. Also depending on your Uni, there may be specific courses that help prepare better - you can ask around and figure out which ones are better.
Good question. I'd say that both of those are true; that college will help prepare you and that you will only learn certain things through experience of doing the work. College is a good start to get you pointed in the right direction and learn the fundamentals, but once you get into a job there are always going to be challenges that keep you on your toes, but this is part of the fun. If you could learn everything you wanted to learn in life in only the four short years of college, you would probably be bored after a few years of work. I know I would be.
If you enjoy learning, a job can be a very rewarding place to learn to skills and technologies that you might not get a chance to play with or learn at a college. Not all companies use the same technologies, so even the experience you get at one company might not apply directly at another company. Though, the skill of learning and being adaptable will always be useful to you as you move between jobs.
You won't be able to learn everything in a single lifetime, but that's part of the awe and wonder that make real life experience so much fun.