You can learn (or incidentally, not learn) CS at most decent colleges. What I think is a lot more interesting about college is everything else that you'll learn there along the way and learning to get along and have fun with other smart people.<p>When I was college shopping, I was choosing between a liberal arts school and a top-tier engineering school. I visited the engineering school and realized that while they had an amazing computer science program, the social outlook was rather drab. Only 20% girls, in the middle of nowhere, the people that I talked to didn't really seem to like it, but all assured me "that it was really a great college."<p>Then I visited the liberal arts school. That was definitely the right choice. As it were, I had some great professors that really took an interest in my research and my life. I learned a lot about literature and philosophy and psychology and history and hung out with folks that weren't just gear heads. My world grew wider, not just deeper.<p>Now, many years later I realize that after the first two years or so of CS I knew enough to be able to understand and find hard problems. But if I'd not been forced to take that massive block of core classes, I might have never realized that psychology is really interesting, that there are a lot of parallels between the way that architechts and programmers think or that you can meet a lot of cute girls if you hang out in the music department.<p>So, why is that important?<p>Well, when I was submitting my proposal for my senior research, I was stressed out because it didn't fit neatly into a specific department. It was on the line between CS, physics and biology. My advisor said something that's stuck with me to this day:<p>"The interesting problems of the coming decades of computer science lie at the intersection between computer science and other fields."<p>Getting a solid grasp on computer science in my opinion is critically important, but it's also pretty ubiquitous. (Though, sadly, it's pretty universally mediocre. A lot depends on your personal uptake.) What seems a lot more important to me is finding a place where you can cross-pollinate with other disciplines, meet a lot of different and interesting people and, well, enjoy yourself. The skills required for that seem to escape nerds much more often than the ability to sling code, and are essential in business interactions. A lot of people get caught up in getting into the dozen hardest to get into schools, but most colleges will have more people smarter than you than's names you can remember, and it's not that hard to find them.