Grinnell College Department of Computer Science

Welcome to the Department of Computer Science at Grinnell College. This site contains information primarily of interest to current students and faculty. Prospective students may find additional useful information in the CS sections of the Grinnell College website and the College Catalog.

The CS Department maintains a mailing list for current students. We routinely send announcements for department social and academic events to this list, as well as occasional job postings, reminders about upcoming deadlines, and other information likely of interest to students who are currently taking CS courses. To join the mailing list please complete the CS Students Membership Form (Grinnell login required).

We are Hiring!

The Computer Science Department is hiring a visiting faculty member to start in Fall 2023. Applications received by Feburary 10, 2023 will receive full consideration.

News and Events

  • CS Extras: Summer Research Opportunities in Computer Science at Grinnell

    Computer Science Faculty
    Thursday, February 2, 2023, Snacks in the CS Commons at 4pm; Talk from 4:15pm–5:15pm in Noyce 3821

    Four members of the Grinnell College faculty will describe the research projects that they plan to conduct in the summer of 2023 and the opportunities for students who will have taken one or more courses in computer science to participate in that research.

    The presentation will also include a description of the procedure for applying and an overview of the policies and prospects for receiving credit for summer research as a Mentored Advanced Project (MAP/499) or Directed Research (299).

    Our speakers will include Professors Fernanda Eliott, Eric Autry, Peter-Michael Osera, and Charlie Curtsinger.

    You can learn more and find links to apply on the research opportunities page.

  • CS Extras: Compression vs. Enrichment of Spatio-Temporal Data

    Professor Goce Trajcevski, Iowa State University (Electrical and Computer Engineering)
    Thursday, November 17, 2022, Snacks in the CS Commons at 4pm; Talk from 4:15pm–5:15pm in Noyce 3821

    The efficient management and querying of location-in-time data has been a subject of intensive academic and industrial research for almost two decades. Its importance in numerous application domains of high societal relevance has been further amplified by the recent advances in IoT and the emergence of Web 2.0, which enabled a generation of unprecedented volumes of heterogeneous evolving and location+time aware data. Along with it, came the “natural” dichotomy: (i) on the one hand, there is the ever-present quest for compression: compact representation yields savings in both storage as well as communication bandwidth consumption; (ii) on the other hand, the space and time components are now frequently “enriched” with (values of) thematic or semantic attributes. These are useful in querying, tracking, classification and prediction of important aspects such as popularity of Points of Interest (PoIs), occurrence of chemical reaction, etc. Often times, these two seemingly opposing objectives are merged due to the application demands: e.g., predicting the geo-spatial spreading of diseases, information diffusion and alignment in social networks, real-time marketing, …

    In this spirit, the talk will consist of three parts. The first part will present an overview of the issues and solutions for compressing mobile data in MOD (Moving Objects Databases) and STD (Spatio-Temporal Databases) settings. In the second part of the talk, we will address the notion of various generalizations and augmentations. The last part of the talk will focus on case studies in which the fusion of the two aspects is necessary for efficient and effective retrieval, mining, etc.

  • CS Extras: Characterizing and understanding critical failures in modern high-performance computing systems

    Professor Guanpeng Li, University of Iowa
    Thursday, November 10, 2022, 4–5pm in Noyce 3821

    Hardware errors are projected to drastically increase in modern computer systems due to shrinking feature sizes and increasing manufacturing variations. The impact of hardware faults on programs can be catastrophic, and can lead to substantial financial and societal consequences. Error propagation is often the leading cause of catastrophic system failures, and hence must be mitigated. Traditional hardware-only techniques to avoid error propagation are energy hungry, and hence not suitable for commodity systems. Researchers have proposed selective software-based protection techniques to prevent error propagation at lower costs. However, these techniques use expensive fault injection simulations to determine which parts of a program must be protected. Fault injection artificially introduces a fault to program execution and observes failures (if any) upon the completion of the program execution. Thousands of such trials need to be performed in order to achieve statistical significance. It is time-consuming as even a single program execution of a common application may take long time. Consequently, practitioners are loathe to integrate resilience techniques into the development process. In this talk, I propose both empirical and analytical approaches in identifying and mitigating error propagation without expensive fault injections. The key observation underlying my research is that only a small fraction of program states are responsible for almost all error propagation in programs, and the propagation falls into identifiable patterns which can be abstracted into probabilistic events. As a result, my proposed techniques are nearly as close as fault injection approaches in measuring failure rates of programs, significantly accelerating the resilience estimation process from previously days to merely a few minutes for the same program. Hence, the technique can be integrated into the software development cycle easily, allowing developers to build low-cost fault-tolerant applications in an extremely efficient manner.

You can find older news items in the news archive.