Some shorter questions and answers about Grinnell’s CS program
These questions are gathered from email received directly from students or forwarded from our Office of Admissions or elsewhere. I’ve provided personal, unofficial answers. I expect that I will add additional questions and answers as they arrive. See the end of the page for a history of updates.
Are Grinnell’s computer science classes more theoretical or practical?
Our classes have a mix of theory and practice. We firmly believe that understanding the underlying theory helps you adapt better as technologies change, and we hear the same from our alums. At the same time, most of our students best understand concepts when they build things. So we incorporate both theory and practice in most classes. Some, like CSC 301 (Algorithm Analysis) and CSC 341 (Automata, Formal Language, and Computational Complexity) skew more toward the theoretical. Others, like CSC 321 (Software Design Principles and Practices) and CSC 322 (Team-Based Software Development for Community Organizations) skew more toward the practical.
Other than internships or research, are there any practical experiences that CS students undergo?
I’m not sure what you considerpractical experiences. In our upper-level software design course (CSC 322), students develop a piece of software for a local nonprofit. In our data structures and algorithms course (CSC 207), students do a variety of medium-sized projects. Other classes involve a combination of theory and practice. Students also do a reasonable amount outside the curriculum. We have a group of students who run a moderate-sized Mobile Application Development shop on campus, and a number of our students participate in (and, on occasion, run) hack-a-thons.
How accessible are the professors?
My sense is that our faculty are very accessible. I hear the same from our students, including in their graduation interviews, when they are most willing to praise and criticize. Most of us keep our doors open when we are in the office and are happy to talk with students about a wide variety of issues: our courses, broader ideas in CS, curricular planning, life after Grinnell, other issues of common interest, and so on and so forth.
Are there research opportunities available?
Certainly. We had about two dozen students working with faculty on research projects in summer 2016 and we have slightly more scheduled for summer 2017, as well as a few CS students working on a statistical computing project with faculty in Statistics. But more of our students go off to internships. More information on our research opportunities are available on a separate page.
I am really interested in Artificial Intelligence and Robotics. How is Grinnell equipped in terms of facilities and future research prospects in this field?
We currently have one faculty member active in Artificial Intelligence, with a focus on computer vision. Our facilities seem appropriate. We don’t do much with robotics, other than the Scribbler robots in our second course. I don’t anticipate that changing in the near future.
Can you tell me the graduate school placement or the jobs the Computer Science graduates have held?
I will admit that I don’t know our placement rate for either jobs or graduate school. Students who want to go to graduate school get in, and get funded, but I don’t know that they always get their first choice. Students who make a serious effort at getting jobs usually get jobs, but a few have trouble. As of December 2016, I think half of the class of 2017 has already accepted offers (Microsoft, Expedia, Amazon, Google or Nest, some consulting firms, a few boutique software firms, and others I forget). Epic is one of the most popular employers.
Do recruiters often visit Grinnell College and have the students held internships at well-known places like Google, Microsoft,etc?
We do not get many recruiters visiting Grinnell; we are small, and far from most firms. Nonetheless, our students have been able to obtain internships at well-known places. I think we send about two to Google each summer, about two to Microsoft, about two to Amazon, and about two to Goldman Sachs. There seems to be a pretty good pipeline to these places. Microsoft, in particular, always asks their interns to suggest other Grinnell students, and I think Google and Amazon do something similar. The rest of our students go to a variety of other places or to research experiences.
What programming languages are mainly used across the length of your CS curriculum?
We have a multi-paradigm introductory sequence, with students learning Scheme in the first course (CSC 151), C in the second course (CSC 161), and Java in the third course (CSC 207). Scheme provides a very different model of computing than most students have seen, and it’s a model that is showing increasing application. We use C in the second course because it helps students understand the underlying arrangement of memory and because many modern languages have derive their syntax from C. We use Java in the third course so that students can work with an object-oriented language and have the experience of working with a typed language designed for larger-scale projects. Other classes either continue the use of these languages or introduce new ones, as appropriate. We use Ruby on Rails for our software design courses (CSC 321 and CSC 322) because it supports agile methodologies well. We sometimes use ML in our Discrete Structures Course (MAT/CSC 208). There is, of course, some assembly in Computer Architecture (CSC 211). We do find that once they’ve gone through the introductory sequence, most students can teach themselves any other language.
Do students primarily work on their own laptops or on college workstations?
In the intro sequence, we encourage students to work on College workstations. That helps build community in the department and ensures that help is close at hand. We also want them to get used to working in a Linux environment. After that squence, we tend to let students work on their own laptops or on departmental workstations, whichever they prefer.
What other information can you provide?
I’ve written a variety of short pieces on computer science at Grinnell and on Grinnell in general. The department Web site also has some useful information, including a description of our curriculum. I’d recommend that you take a look at those. If you still have questions, feel free to email me at email@example.com.
The first version of this FAQ appeared on 22 December 2016.
I updated some answers and added more questions and answers on 19 April 2017.
Version 1.1 of 2017-04-19.