Swarthmore College Department of Computer Science

about the cs department

We currently offer a wide variety of courses on a regular basis. Many of our upper level courses are offered in alternate years. Depending on student-faculty interest and availability of faculty resources, we offer additional courses on an irregular basis. There are also courses of special interest to CS students offered by the departments of Engineering, Mathematics, Linguistics, and Psychology.

Our Computer Science department is close knit and robust. You can get an excellent background for graduate school or meaningful employment. You cannot take 20 courses in CS here but you can take 15 outstanding courses in the most fundamental areas of CS. Our students who want to go to graduate school get into highly competitive graduate programs. Those who want employment have found many offers with both small companies and large well-known companies.

photo: Lisa Meeden teaching in main lab

Our dynamic program resides in a setting of other excellent liberal arts departments and a small but outstanding engineering department.

The study of computer science in a liberal arts environment helps students hone their skills in problem solving, abstraction, careful and critical thinking, management of complexity, and clear and concise communication of ideas. These are important, general skills useful in every discipline and useful for life. Furthermore, the computer itself is an important general tool, used in almost every discipline.

Although our program is regarded by some as moderately theoretical, our students have competed, and been quite successful at the national level, in research competitions and programming contests. In the last several years, Swarthmore College has placed first in several categories in the SENSEVAL computational semantics competitions (Swarthmore was the only undergraduate group to compete in this competition). Similarly, in recent years Swarthmore has won robot contests at the annual American Association of Artificial Intelligence conference. Several times in the past 20 years our students have qualified for the International Finals of the Association for Computing Machinery programming contest. This requires being in the top 50 of about 1,000 teams that compete in regional contests around the world. Our students also have won awards for undergraduate research papers and our faculty have won awards for educational software development.

As our Program has grown, so has the number of students who are pursuing honors. A fundamental piece of the honors major is a two-credit thesis which is done in close consultation with a faculty member. Typically, an honors major will spend the summer between junior and senior years on campus doing research and will then spend the fall semester of the senior year writing the thesis. A number of joint faculty-student papers have resulted from these research collaborations.

About 40 students graduate each year with a CS major and another 10 with a CS minor.

Many of our students ultimately attend graduate school, after working in industry for several years. Others choose medicine, law, teaching, or a job in industry.

photo: students in main lab

Most of our students who want to go to graduate school in computer science get admitted to schools that are ranked in the top 15. We have had students accepted at the best graduate schools in our field: Stanford, MIT, CMU, Berkeley, University of Texas, University of Wisconsin, Cornell, and University of Washington, to name a few. A special report by the National Science Foundation, "Baccalaureate Origins of Science and Engineering Doctorate Recipients (1997-2006)" (NSF 08-311) shows that Swarthmore is one of the top five schools from which Science and Engineering doctorate recipients received their bachelor's degrees.

The Computer Science Program currently consists of 7 tenure track faculty. Lisa Meeden joined the Program in 1994 with a research focus of artificial intelligence and cognitive science. Tia Newhall was hired in 1999. She studies cluster computing and distributed systems. Richard Wicentowski started in fall of 2002. His research area is natural language processing. Andrew Danner joined our department in fall of 2008. He studies computational geometry with applications to Geographic Information Systems. Ameet Soni started in 2012. His research interests include machine learning and computational biology. Kevin Webb joined in 2013. He studies networks and distributed systems. Joshua Brody was hired in 2014. His research examines communication complexity, and unconditional lower bounds. Charles Kelemen started the Program in 1985 and specializes in theory of computation. He retired in 2011.

In addition, some of the Engineering faculty teach courses that are cross-listed in our department.