Below you will find a list of faculty that will be conducting research during the Summer of 2026 and are looking for research students:

Descriptions of the projects are below:


Leveraging symbiotic co-evolution for improved problem solving (Anya Vostinar)

2 students, up to 8 weeks, dates TBD, compatible with SLAI

Evolution by natural selection can be used as a general-purpose search algorithm to solve many complex computational problems. To solve a problem, evolutionary algorithms (EAs) refine a population of candidate solutions through repeated cycles of evaluating solution quality, selecting promising solutions, and mutating selected solutions. Most EAs use simple, ‘single-species’ populations. However, throughout history, life has actually been co-evolving in close symbiotic relationships, for example, between hosts and endosymbiotic microorganisms (organisms that live inside of the host) such as the human gut microbiome. Symbiotic co-evolution has already proven capable of producing more sophisticated solutions than single-species evolution and exhibiting more effective search properties in many contexts. Therefore, it can be viewed as a valuable variation of, and potentially even improvement on, the basic algorithm of evolution.

Environmental conditions can further complicate the co-evolutionary dynamics between hosts and their symbionts, such as the spatial landscape, seasonal changes, and the possibility of multiple symbionts infecting the same host. Previous work has shown each of these impacting evolutionary outcomes, however we lack a unified theory as to how they will interact with different types of symbionts.

This summer, students will work with the Symbulation research platform to finish implementing and testing the impact of parasites and mutualists under varying environmental conditions. My students will work virtually with undergraduate and graduate students in the labs of Dr. Alexander Lalejini at Grand Valley State University and Dr. Emily Dolson at Michigan State University. The results could be included as part of a paper to submit to an international conference or journal and there is funding for my students to travel to present their work or to meet with the Michigan students in person.

Ideally, students should be able to enroll in a 1 credit independent study in the spring to prepare for the summer work. Students should have completed CS 200/201 at a minimum and courses such as CS 257, CS 251, and CS 208 are helpful but not required. No biological coursework is required, though it is also beneficial.


Continuing Development of an AUV (Chelsey Edge)

2 students, up to 8 weeks, dates yet to be determined, may be combined with SLAI

Robotic underwater vehicles are increasingly being used to improve safety and efficiency in a variety of underwater fields including construction and maintenance, environmental and biological research, archeology, and more. Currently, the cost and purpose-built designs for Autonomous Underwater Vehicles (AUVs) can limit their utility and often prevent their use as ‘collaborative robots’ by divers who are experts in their field. One way we can promote the use of AUVs is to help lower the cost barrier with AUVs designed to work with non-roboticists or computer scientists.

This summer, we will be continuing to develop and assemble an AUV to provide a research platform for both future use here at Carleton College and the broader community by contributing to an open-source project, namely the LoCO-AUV (https://loco-auv.github.io). In addition to finishing the physical robot, we will continue to configure the onboard computing devices to interact with sensors and other hardware components. With the intent to produce and test a water-ready robot, students will have the opportunity to explore a variety of the following areas:

  • Interior design and assembly: Focus on power system assembly and physically connecting all computing systems, thrusters, sensors, etc.
  • Computing system: Finalizing the ‘brains’ of the AUV and includes testing and updating computing devices and software to work with the thrusters and sensors. Related topics include exploring the Robot Operating System (https://ros.org) and Docker (https://www.docker.com) and importing and updating current computational models for AUVs.
  • Control: This includes coding a control package on a microcontroller to connect to the thruster system, which allows the robot to move. We can then move the AUV through use of a gaming controller and/or information gained through perception or HRI.
  • Human Robot Interaction (HRI): methods for a person to be able to give and receive information from the AUV. This includes updating and integrating previous systems like hand gesture and “AR Tag” recognition for control and more. This will be a later step, following all the previous.
  • Other areas not excluded!

Students working on this project will be exposed to a wide array of computer science and engineering topics and should be prepared to work on both hardware and software, however no prior experience is required. At a minimum, applicants should have taken CS 201. Experience in the Maker Space, microcontrollers, and/or skills like soldering are highly recommended, but may not be necessary. As we plan to test the AUV, applicants should feel comfortable about being in a pool or open body of water where they can’t touch the bottom.

Ideally, students working on this project would be available to participate in a 1-credit directed research during the Spring 2026 term to learn about what we have completed so far and gain familiarity with the robot and Robot Operating System. We will also start working with the AUV.

Prerequisites: CS 200 or CS 201 completed by the end of Spring Term.


Clustering and Sampling Tumor Evolutionary Trees (Layla Oesper)

2 Students, 6 Weeks, Mon June 15 – Fri Jul 24 (Cannot be combined with SLAI)

Cancer is a disease resulting from the accumulation of genomic alterations that occur during an individual’s lifetime and cause the uncontrolled growth of a collection of cells into a tumor. These mutations occur as part of an evolutionary process that may have begun decades before a patient’s diagnosis. Better understanding about the history of a tumor’s evolution over time may yield important insight into how and why tumors develop as well as which mutations drive their growth. While recent algorithmic progress has led to improved inference of tumor evolutionary histories as a type of rooted tree (called a clonal tree), this is still a very challenging task.

Two summers ago my research students designed algorithms to enumerate all possible clonal trees under different sets of biological assumptions. They then used these algorithms to create some large datasets of trees. This summer students will be spending time exploring these large sets of trees. In particular, we will be looking at ways to cluster these trees and categorize the type of evolution that underlies the clusters. We’ll also look at ways to effectively sample from the space of these trees. As such, this project will be a mix of implementation and theory.

Students interested in working on this project should be available to participate in a 1-credit independent reading group during the Spring 2026 term to read papers, learn appropriate background, and have early conversations planning for the summer.

Expected Background:

  • CS252 (Algorithms) completed by the end of Spring 2026
  • No specific biology background is required, just an interest in applying computational techniques to important biological problems.

Exploring connections between multiplicity sources (Anna Meyer)

2 students, start date June 15 or June 22, up to 8 weeks. Cannot be combined with SLAI.

Machine learning (ML) is often used in high-stakes settings: for instance, a bank may deploy a ML model to decide which loan applications to award based on the estimated likelihood that the loan will be repaid. There is momentum to adopt ML in these settings for a variety of reasons, including cost savings, consistency, and a perception that a ML model can make a data-driven, mathematically-objective decision. However, there may be multiple ML models that perform equally well on a given task (e.g., each yield a 90% loan repayment rate), yet disagree on whether a specific individual gets a loan. There are a variety of sources of this predictive multiplicity, including the training dataset and underspecification in the modeling process. Multiplicity can also arise in different parts of the modeling pipeline, for instance, in explaining model decisions. 

People have studied the different sources and manifestations of multiplicity separately (as dataset multiplicity, model multiplicity, and explanation multiplicity), but no one has systematically looked at the intersections between them. 

My project for this summer aims to study at these intersections, and answer questions like:

  • Are data points that are unstable under dataset multiplicity also more likely to be unstable under model multiplicity?
  • How do different dataset multiplicity definitions impact the overall levels of model multiplicity?
  • In what settings can we expect to see more explanation multiplicity than predictive multiplicity?
  • How do different dataset properties (e.g., number of features) impact the above questions? 

This will be an empirical, hands-on project. You should plan to write a lot of code (probably in Python), and to spend significant amounts of time planning the code you write (we’ll be training many models, so have to be smart about how things are implemented to make the computations fast and feasible). There may also be an opportunity to explore theoretical connections between different types of multiplicity if this is of interest to the researchers. 

Ideally, students will be able to participate in a 1-credit independent study in Spring term. 

Prerequisites: Data Structures (either CS 200 or CS 201). Experience programming in Python is helpful, but not strictly required.


Peering into the Black Box: Cross-Disciplinary Instructional Techniques for Computational Prototyping & Exploration (Jean Salac)

2 students, 6 weeks (June 29-Aug 7). Cannot be combined with SLAI.

Computing technologies have revolutionized our lives, introducing not only extensive benefits but also amplified risks to our communities, societies, and futures. Yet, when learning computer science, technical concepts and skills are frequently abstracted away from their everyday applications, along with the complex impacts that emerge from those applications.

At my previous institution, I worked with research students to investigate how instructional techniques drawn from both CS and Philosophy can facilitate the development of both tinkering and critical thinking skills in students with limited CS background. This summer, I will work with students to explore the effectiveness of related techniques that incorporate philosophy teaching perspectives into the teaching of technical prototyping skills. We will use a combination of quantitative and qualitative methods, statistics, and program analysis in this investigation. 

Required:

  • CS200/CS201 Data Structures completed by Spring 2026

Helpful but NOT Required:

  • 1-2 classes in statistics (e.g. STAT 120, PSYC 200, PSYC 201, SOAN, 239, or STAT 250)
  • Digital Arts & Humanities minor
  • 1-2 classes in philosophy
  • CS 344 Human-Computer Interaction

Ideally, students working on this project would be available to participate in a 1-credit independent study or reading group during the Spring 2026 term to learn about related literature and methodology, as well as plan for the summer.