Should you study CS at a liberal arts college or a large university?
Many of the prospective students with whom I speak are trying to
figure out where they want to study. For better or for worse, most
of them phrase the question as
Am I better off studying computer
science at a small college like Grinnell or at a large university?
Since this is a question I get frequently, it seems worthwhile tying
together the various answers I’ve provided over the years.
Believe it or not, but the core areas of CS study should be the same at most institutions, whether liberal arts colleges or large universities. Both large institutions and small institutions share a set of curricular recommendations from the Association of Computing Machinery and the IEEE Computer Society , and do their best to meet those recommendations. Students need to study algorithms and data structures, learn some programming and software engineering, understand the underlying theory of the discipline, and develop some knowledge of systems areas. They should do so at any good college or university.
So, what’s different?
In general, a liberal arts college is more likely to give you smaller
classes with direct connection to your professors. (Our largest class is
38, and most are 24 or under; many large institutions have a few hundred
students in the introductory course and between fifty and one hundred
in the mid- and upper-level courses.) At a small liberal arts college,
you are likely to get to know your faculty well, and they are as likely
to get to know you well. I know that my students feel free to stop by my
office and chat about a wide variety of things, not just course material
or academic planning, but also cool ideas or projects that they have
been exploring and want to think more about, or just to talk casually
about whatever comes up. (I will admit that there are times I am less
tolerant of casual chat, particularly when my
to do list has gotten
too long, or other students are waiting for more focused appointments.
But I do like the open-ended chats when I have time for them.)
At a large university, you may have the opportunity to take a wider variety of elective classes. You may also have the opportunity to take graduate-level classes. Those can be important opportunities. You may also have the opportunity to contribute to large projects. And that’s really exciting.
But I think the more important thing about a liberal arts college is that you will likely have more freedom to study things outside of computer science. I will tell you that evidence from our graduates suggests that they communicate better with other people than students who went to large universities - they write better, listen better, present material in a way that others can understand better.
And research is still an option at our institutions. Faculty at strong liberal arts colleges, like Grinnell, also have active research programs and will often involve undergraduates in their research. I think the odds of being on a faculty research project are higher at a small college, but I have not done a careful study to show that. I can say that about 20 CS students are staying to do research at Grinnell this summer , and that strikes me as a lot for a school of our size.
I’ll admit that I don’t think you should choose a school based on its CS program (even though I think Grinnell’s is awesome). Rather, you should decide whether the overall curriculum at the institution meets your needs and whether the faculty and your peers will challenge you appropriately. You should decide whether the other students are people you would want to learn and work with. If you don’t have a challenging environment and the appropriate set of peers, little else matters. Start there, and then look at the CS program.
Paul Graham, an essayist and computer scientist I greatly admire, wrote in 2005 that he would discourage students from going to a liberal arts college if they were interested in graduate school.
So if you want to get into grad school in the sciences, you need to go to college somewhere with real research professors. Otherwise you’ll seem a risky bet to admissions committees, no matter how good you are. Which implies a surprising but apparently inevitable consequence: little liberal arts colleges are doomed. 
I think things have changed in the past decade. First, many faculty at liberal arts colleges (at least the top liberal arts colleges) are known in their research communities. Second, it’s increasingly hard for undergraduates at large universities to get to know their professors, which decreases the chance for a good letter of recommendations. Third, one of the most important issues for getting into grad school is not just your recommendation letters, it’s the projects you’ve done. And small colleges can give you options for projects. (Of course, large universities can also give you the option for projects, and even if the university doesn’t, you and some friends can do things on your own. At some schools, you’ll probably end up with a startup.)
So, I don’t think things are as bad as Graham says, particularly not now when few students are going on to graduate school because of the awesome tug of industry. Our students who want to get Ph.D.’s have generally done fine, and I hear the same from my colleagues at peer institutions.
My colleague, Janet Davis, reminds me that a disproportionate number of STEM Ph.D.’s come from small liberal arts colleges. A recent report from the National Science Foundation  ranks Grinnell 7th per capita among schools from which science and engineering Ph.D.’s received their bachelors degrees. Also in the top ten institutions are Harvey Mudd, Reed, Swarthmore, and Carleton.
Note that this section is not intended to claim that you should make a Ph.D. your goal, as some readers assumed. Rather, if you think you want to go on for a Ph.D., there’s no reason not to choose a small liberal arts college.
As I wrote this essay (or rewrote this essay, to be more precise), I
found that I had to excise many Grinnell-specific parts of my answers,
and it was more difficult than I expected. It appears that I have trouble
writing about these issues without mentioning our awesome students, the
individually advised curriculum, and the somewhat different approach that
Grinnell CS takes to undergraduate education. I will eventually write
Why study at Grinnell,
Why study CS, and
Why study CS
at Grinnell. Perhaps I’ll even remember to link them from this essay
when I do so.
Yes, I know that there are options other than (top) liberal arts colleges and large universities. But that’s how the question is usually phrased, and so that’s how I’m addressing it. Mid-size universities, community colleges, and other kinds of institutions of higher education have their own advantages and disadvantages. I will say that I don’t generally trust bootcamps, since they focus on technical skills for now, rather than general knowledge for the long term. But hey, that’s probably yet another essay.
 The Joint Task Force on Computing Curricula Association for Computing Machinery (ACM) and IEEE Computer Society. Computer Science Curricula 2013 Curriculum Guidelines for Undergraduate Degree Programs in Computer Science. December 20, 2013. https://www.acm.org/education/CS2013-final-report.pdf
 We had about twenty in summer 2016. We had about thirty in summer 2017. We’ll also have close to thirty in summer 2018. It all depends on how many faculty are around to take research students and how many research students they can accommodate.
 National Science Foundation. Baccalaureate Origins of U.S.-trained S&E Doctorate Recipients, Table 4: Top 50 U.S. baccalaureate-origin institutions of 2002–11 S&E doctorate recipients, by institutional-yield ratio, institutional control, and 2010 Carnegie classification. April 2013. http://www.nsf.gov/statistics/infbrief/nsf13323/#tab4.
Version 1.2.1 released 2016-04-25.
VErsion 1.3.0 released 2018-03-30.