Teaching and Researching Programming Languages at a Liberal Arts College

During my tenure as a student and professor, I have been to many talks offering career advice to graduate students. Most of these talks focus on careers in research universities and industrial research labs, and leave out discussion of institutions, such as liberal arts colleges, that are primarily concerned with undergraduate education. This is unfortunate because many liberal arts colleges are highly selective institutions that offer exciting careers that mix research and teaching, albeit in a different way than careers in research universities.

One way to reduce the information deficit about liberal arts colleges is to report on the experiences of those who work at one. This is what we do in the present post. Specifically, I interview Steve Freund, who is a professor of computer science at Williams College, ranked by US News as the top liberal arts college in America. Steve is a highly successful PL researcher, known for his significant contributions to the analysis of concurrent programs. As a result, he is in a great position to give PL Enthusiast readers a view into what it’s like to be a teacher and researcher at a liberal arts institution.

Tell us a bit about your background and your research.

I am currently a Professor of Computer Science at Williams College. Williams is a small, selective liberal arts college of about 2,200 undergraduates in Western Massachusetts.

freundI began my academic career as an undergraduate at Stanford University. Those were quite formative years, both in terms of my research trajectory and my eventual career path. I spent many quarters as a section leader for the introductory computer science courses, which exposed me to the challenges and satisfactions of teaching early on and also motivated me to work with Eric Roberts on a programming environment designed specifically for introductory students.  That project in turn led to my interest in programming languages, which I continued to study at Stanford as a graduate student with John Mitchell.

After defending my thesis, I spent several years as a Research Scientist at the DEC (and then Compaq) Systems Research Center in Palo Alto before moving to Williams in 2002. Since that time I have focused primarily on software reliability and program analyses to enforce various correctness properties for concurrent programs, including, for example, race freedom, atomicity, and cooperability. I draw on static, dynamic, and hybrid techniques, and my work typically involves both the theoretical study of new analyses as well as their implementation and validation.

In teaching at Williams, you are different from most other top-tier researchers in our field, who tend to work out of research universities or industry labs. At the same time, your education was entirely at a research university (Stanford). What made you decide to go to Williams?

Liberal arts colleges were not even on my radar when I finished my PhD.  I knew they existed but didn’t really appreciate what they are all about.  I did have a sense of what life would be like at a research university — especially since both my father and brother are professors at research universities — but research universities didn’t feel like the right environment for me.  That led me to join SRC, where I was already working as a consultant and where I knew I’d continue to have a great time collaborating with many excellent colleagues at the lab.

While my time at SRC was quite productive in many ways, it wasn’t long before I began to miss being in an academic environment. One day it occurred to me to call Kim Bruce and ask him about teaching at a college like Williams, where he had been for many years.  After chatting with him, I began to think that such a school may offer a career balance closer to what I wanted, namely the ability to not only pursue my own research but also to teach and work closely with undergraduates, which is the part of teaching that I felt most excited about.  Williams was hiring that year, and things worked out as well as I could have hoped.  In many ways I have Kim to thank for demonstrating the full potential of a career at a liberal arts college and for encouraging me to pursue it.

How, in your experience, does working a liberal arts college like Williams compare with working at a research university?

The core mission of a liberal arts college is to educate undergraduates in the broadest sense possible and with a particular emphasis on critical thinking, communication, and reasoning skills.  We don’t have a graduate program and, with eight faculty, my department is quite a small department by research university standards (but among the largest for liberal arts colleges!).

It shouldn’t be surprising that I spend a lot of time teaching and working with undergraduates, and we place a heavy emphasis on direct interactions between students and faculty and providing personalized learning opportunities. However, research does play a central role in what I do.  Beyond enabling me to advance to the state-of-the-art, conducting research helps me maintain perspective on the field, stay engaged with the material I teach, and train the next generation of researchers.

Since I have no graduate students, I do need to be careful to follow a research agenda that’s feasible within my time and resource constraints, but so far that hasn’t been a real issue. I should say that maintaining external collaborations has been really important to me since moving to Williams. Since I’m the only PL person in town, my collaborations prevent me from feeling too isolated from the larger research community.

I like being in a small department and at a relatively small institution.  We are able to foster a very welcoming and vibrant academic community, and I enjoy my daily interactions with faculty and students from across the entire college.  Our size does, however, necessitate everyone pitching in to maintain our program and community, so I do end up taking on many service activities around the department and college.

What are the expectations at Williams about balance between teaching and research?

At Williams I’m able to maintain a fairly healthy balance between teaching and research, with roughly equal amounts of time and energy spent on each over the course of the year.  My research time is concentrated during the summer months and over breaks since teaching’s daily activities and deadlines end up consuming most of my attention when classes are in session. However, even during the busiest semesters I can usually carve out enough time for research that I don’t completely lose momentum, though it does take discipline and attention to time management.

Sabbaticals are also key, both to recharge my batteries for teaching and also to immerse myself in research and long-term planning to an extent that’s hard to attain even over the summers.

In terms of research output and expectations, my goal is to produce the highest quality research possible, but obviously not at the same rate as colleagues at research universities where priorities may be different and where graduate students can assist in the work.  Publishing perhaps one or two nice results a year is how I like to think in terms of long-term productivity.  In my experience, that matches the personal expectations faculty have at liberal arts colleges like Williams, as well as the college’s expectations for advancement/tenure.  Excellence in both teaching and research is highly valued, and both play significant roles in hiring and promotion decisions at Williams.  That is true at many liberal arts colleges, but the relative importance of research and teaching does vary a lot from school to school.

What about external funding?

Funding through external grants is not as necessary as at many research universities, but it can definitely make life a bit easier by providing support for travel, equipment, research students, etc.  So I do spend some time writing proposals and managing grants, but this is a fairly small fraction of my work when compared to faculty running larger research programs at universities.

I should also note that being at a liberal arts college does not preclude me from applying for funding from the NSF or other sources, and indeed there are a number of funding opportunities specifically for faculty at liberal arts colleges.  At Williams, many other faculty also seek funding opportunities, but that is not universal or necessarily required.

What classes do you teach?

About half of the classes I teach are at the introductory level, typically either the first-semester programming course or the second course on data structures.  Teaching introductory classes and their lab sessions keeps me pretty busy, but these classes are also a lot of fun, and I really enjoy working with students just starting out in our discipline.

I also teach an upper-level class on programming languages most years, as well as a tutorial on compiler design.  Tutorials at Williams are modeled after those at Oxford and are one of our signature educational elements.  They are small classes of ten students and have no lecture or seminar component. Students explore the material independently and then meet with me in pairs for an hour or two each week.  In those meetings, the two students work through problems they were stuck on, explore alternative approaches, and discuss the topics in a larger context.  (And since my tutorial is on compilers, they build a large compiler over the semester as well.) Tutorials are the sort of “high touch” teaching experience that I think distinguishes Williams from other types of institutions.  I’m also starting to think about a new software methods and engineering course for students early in our major as well.

Do you involve undergraduates in your research?

Yes, providing research opportunities and preparing students to carry out original research is very important to me.

All of the faculty in my department typically work with one or more students over the summer as part of a sciences-wide undergraduate research program.  My summer projects are often relatively self-contained pieces of whatever problems I’m thinking about.  Those summer experiences often lead to year-long honors theses, which are much more substantial and open-ended projects entirely of the student’s own design.

Motivated and talented undergraduates can make great contributions to the type of research I conduct, and it’s gratifying to see many of my research students choose to continue their studies in PhD programs, but I think the research experiences I’m able to provide substantially benefit students regardless of whether they are bound for graduate school or some other endeavor.

What advice do you have for graduate students who may wish follow a career path similar to yours?

First, cast a wide net and look broadly at what opportunities are out there.  Talk to people at various types of colleges and universities, and ask them about how they ended up where they are and how they spend their time.  There is no single “right” way to have a career in computer science or in academia, and you may end up very excited by options you didn’t know existed.

Also, if you think you might like teaching and working with students, try it out.  Volunteer to give a lecture or two for a class you’re TAing, offer to mentor an undergraduate interested in your area, etc.  If those things pique your interest, try to find an opportunity to teach an entire course or take on other larger mentoring responsibilities.  We don’t necessarily expect job candidates to already be exceptional teachers, but we do expect them to show potential and to have an enthusiasm for and a history of being engaged in teaching.  These sorts of experiences help you demonstrate that when it comes time to write your teaching statement, and they will also guide you to a more informed decision about what comes next, regardless of what it may be.

I still remember several people telling me I’d be “throwing away my career” if I took a job at Williams.  Others considering liberal arts colleges have told me of hearing similarly dire warnings.  If you do hear that sentiment, recognize that people have different priorities and measures of success for their careers.  For some, liberal arts colleges are indeed not a good fit.  For others, however, they can offer exactly the set of challenges, opportunities, impacts, and satisfactions you may be looking for.

1 Comment

Filed under Education, Interviews, Research

One Response to Teaching and Researching Programming Languages at a Liberal Arts College

  1. As someone entering the world of SLACs soon, I highly recommend to people thinking about pursuing this career path to attend a SIGCSE (http://www.sigcse.org/events/symposia) conference to network with people from liberal arts institutions. I found it invaluable to see what the liberal arts mindset was like as well as scope out the current job market.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.