Student-Faculty Research in Computer Science at Grinnell (Fall 2016 Edition)
I’ve had some prospective students ask about student-faculty research opportunities at Grinnell. Our student-faculty-research landscape is changing with a new
research for all initiative, so I expect that I will need to write a new version of this essay in a year. In addition, the particulars of each faculty member’s research agenda and approaches also change from year to year. So I’ll probably write a new version every year.
Grinnell has excellent support for student-faculty research, most significantly through the Mentored Advanced Project (MAP) program and a few variants thereof . The MAP program allows students to stay and work with faculty in the summer and receive both credit and compensation (roughly $3400 for 10 weeks of work ). Computer Science takes good advantage of these resources. This past summer, I think we had twenty five students working with faculty in the department for part or whole of the summer. I had eight full-time Grinnell students (two students between their first and second years, four students between their second and third years, and two students between their third and fourth years), two full-time students from other institutions, and one half-summer student. Peter-Michael Osera had six students (I think), mostly between their second and third years. Charlie Curtsinger also had six students. John Stone had two students as assistant system administrators, which, while not research in the traditional sense, gave students a valuable experience. My students have submitted two papers  which are currently under review, Charlie’s students had papers accepted and will be presenting this fall (in Amsterdam, I think), and Peter-Michael’s plan to submit papers. While we don’t have twenty-five students every summer (in fact, I think we only had four last summer), as I look toward the future I think it likely that we will support at least a dozen each summer, provided Grinnell continues to make appropriate resources available.
The computer science faculty do a variety of kinds of research. Charlie is primarily interested in systems issues. He had one team of students looking at how to analyze the power consumption of individual parts of programs so that one could optimize a program to use less energy. His other team of students was exploring how the layout of data in memory affects the running time of a program. Peter-Michael is interested in issues of program generation and verification. In the past, he had built a system that
automatically generates a function given a few sample inputs and outputs from that function. One group of students looked at both improving the system and designing a user interface that allows a user to provide feedback as the system builds the function. A second group of students was exploring an interactive interface to help people prove programs correct. I’m exploring issues in CS education, particularly in how we diversify the group of people doing computing. My students worked together to design and offer a code camp for middle schoolers. Along the way, they did a fairly large scale study on models of code camps across the country and a comparison between academic and commercial models of code camps. Mr. Stone had one student writing a secure backup system (one that is even secure from system administrators) and another exploring how to upgrade our Web site from Drupal 6 to Drupal 8 (more complicated than you might expect, not least because we have custom modules).
Faculty beyond the computer science department also involve CS students in their research. The College has a fairly large
digital liberal arts initiative, and our students have helped with some of those projects. I appreciate that those projects really do help people think differently about the value of computing and about approaches to understanding texts. A few of our Math/Stats faculty do work that readily involves computer science students. And one or more of our Physics faculty have students program as part of their research and so are happy to hire CS majors who also know some physics.
In the paragraphs above, I focused primarily on summer research. Some CS faculty also take research students during the year, and some faculty from other departments want CS students as research assistants (or as research programmers) throughout the year. Our academic-year projects can also have tangible outcomes. For examples, I know that Mr. Walker is taking students to a conference in a week or two to present research they did with him last spring. Needs and approaches vary from semester to semester. Some students work for credit. Some work for compensation. This fall is pretty busy, so I don’t think any of the CS faculty have research students . I’ve already talked to one about a project for spring.
I will note that in most cases, CS faculty supervise student-faculty research that falls within their broader research agenda. That is, most of us propose a framework and let students design within that framework. Few of us will supervise a completely student-designed MAP because it requires significantly more effort on our part, often for significantly less benefit.
However, most students find more than enough freedom working within our broader research agendas. And, as we heard at a recent internship discussion, most of our students leverage their summer Grinnell CS experiences into internships and more.
 We also have Mentored Introductory Projects (MIPs/299s), targeted at students finishing their first year, and summer
 I don’t think $3,200 is enough. Students doing REUs get money and housing (and, sometimes, support for transportation). But Grinnell students do get credit and, if their papers are accepted, support for travel to conferences. So, maybe it is.
 I originally wrote
my students have submitted two students, which made Michelle laugh much too hard.
 Toby Baratta tells me that she’s doing a MAP with Charlie Curtsinger this semester, so I’m clearly wrong.
Version 1.0.2 of 2016-09-18.