Below you will find a list of faculty that will be conducting research during the Summer of 2025 and are looking for research students:
- Investigating Socially-Responsible Teaching Techniques for Software Design (Jean Salac)
- Leveraging symbiotic co-evolution for improved problem solving (Anya Vostinar)
- Developing an Autonomous Underwater Vehicle (Chelsey Edge)
- Modeling Access Patterns for an NVIDIA GPU (Tanya Amert)
- Approaches to Moderation in Semi-Public Online Communities (Sneha Narayan)
Descriptions of the projects are below:
Investigating Socially-Responsible Teaching Techniques for Software Design (Jean Salac)
2 students, 6-7 weeks (Mon June 23 to Fri Aug 1 or Fri Aug 8). Cannot be combined with SLAI.
Computing technologies have revolutionized our lives, introducing not only extensive benefits but also pervasive risks to our communities, societies, and futures. Yet, when learning CS, technical concepts and skills are frequently abstracted away from their real-world implications, both the positive and negative.
At my previous institution, I worked with research students to investigate techniques that teach basic programming skills together with ethical reasoning in Intro CS, leading to a top journal publication. This summer, we will explore the effectiveness of related techniques that integrate ethical reasoning into the teaching of technical software design skills. We will use a combination of quantitative and qualitative methods, statistics, and program analysis in this exploration.
Required:
- CS257 Software Design completed by the end of Spring 2025
Helpful but NOT Required:
- 1-2 classes in statistics or education studies. Statistics class doesn’t have to be from Math & Statistics. Classes in other departments that have a statistical emphasis, e.g. PSYC 200 or POSC 230, are also helpful.
- Interest in exploring the intersections of computer science, education, and ethics
- Experience in teaching (e.g. prefect, course staff, etc) or tutoring of any sort
Ideally, students working on this project would be available to participate in a 1-credit independent study or reading group during the Spring 2025 term to learn about related literature and methodology, as well as plan for the summer.
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.
Many types of symbiotic co-evolution are observed in nature; these relationships are classified by properties such as their position along a parasitism-mutualism spectrum and the specific mechanism by which the symbiont impacts their host’s survival and reproductive success. However, we lack a unified theoretical framework for understanding how these varied relationships promote or hamper the discovery of solutions to complex problems, whether computational (such as in EAs) or biological (such as in directed microbial evolution).
This summer, students will work with the Symbulation research platform to finish implementing and testing the impact of parasites and mutualists that specifically impact the overall health of host digital organisms. 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 CS 361 or a 1 credit independent study in the spring to prepare for the summer work. Students should have completed CS 201 at a minimum and courses such as CS 257 and CS 208 are helpful but not required. No biological coursework is required, though it is also beneficial.
Developing an Autonomous Underwater Vehicle (Chelsey Edge)
2 students, up to 8 weeks, dates yet to be determined, may be combined with SLAI
Prerequisites: CS 201 completed by the end of Spring Term.
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 developing and assembling 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 building the physical robot, we will need 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 and exterior design and assembly: the AUV must be water-tight and all physical space needed for computers, sensors, and power must be accounted for. All computing systems, thrusters, sensors, etc. must be powered and be able to collect and pass data as needed.
- Computing system: the ‘brains’ of the AUV and includes configuring computing devices 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.
- Perception: cameras and computer-vision techniques help the AUV perceive the environment.
- Human Robot Interaction (HRI): methods for a person to be able to give and receive information from the AUV.
- Control: move the AUV through use of a gaming controller and/or information gained through perception or HRI.
- Other areas not excluded!
Students working on this project will be exposed to a wide array of computer science and engineering topics, however no prior experience is required. At a minimum, applicants should have taken CS 201, especially if you would like to work with the computing system. Experience in the Maker Space or similar is desired, but not 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.
If interested, students working on this project could be involved in a 1-credit independent study during the Spring 2025 term when we plan to begin design and assembly of the AUV.
Modeling Access Patterns for an NVIDIA GPU (Tanya Amert)
2 students, up to 8 weeks, start date approximately June 23rd, may be combined with SLAI
Prerequisites: complete CS 201 by the end of the spring term
Nice to have: CS 208 or 251 or otherwise comfortable with C/C++
Although originally designed to accelerate graphics applications (e.g., video games), graphics processing units (GPUs) have become powerful general-purpose parallel-processing devices. Common applications still lie in graphics-related domains, however, including Computer Vision (CV) applications for autonomous vehicles. In such safety-critical contexts, predictability is paramount. However, GPUs have evolved in a performance-focused world.
To enable understanding of access patterns in GPU-using applications (and facilitate analysis regarding limiting access to a GPU to a single process at a time), we need a model of how such applications use GPUs. For example, to process a single image from a video, how many individual GPU computations are launched? Are these computations clustered, or evenly spread out? Are the results copied back from the GPU to the CPU only at the end, or intermittently?
This summer, I hope to explore these questions with students. We will survey a broad category of GPU-using applications across CV applications, including both deep learning applications and others, and build a model of GPU accesses.
The future goals of this work include submission to a real-time systems conference, potentially as early as fall 2025. Students involved in this project would be helping design experiments, formulate the model, apply it to additional evaluation, and write up results, as time and interests allow.
Ideally, students working on this project will be available to participate in a 1-credit independent reading group during the Spring 2025 term to read papers, learn about using NVIDIA GPUs, and have early conversations planning for the summer.
Approaches to Moderation in Semi-Public Online Communities (Sneha Narayan)
2 students, Start date: June 30th (or later), Duration: 8 weeks. Cannot be combined with SLAI.
You may have already heard about the notion that social media platforms perform content moderation of some variety. Large platforms like TikTok and Instagram often have a suite of automated processes that check for illegal/disallowed content, which might be supported or verified by teams of paid moderators. On the other hand, platforms like Reddit and Wikipedia do moderation by giving power users from the community special permissions or privileges to do this work on a volunteer basis. Both these models for moderation have been pretty well studied by social computing researchers.
Increasingly however, more online communities are moving into private or semi-public virtual spaces, such as Discord servers or Slack workspaces. These platforms do have moderator roles that are taken on by members of these spaces, but the (more) closed nature of these spaces lend themselves to different moderation concerns compared to posts on Reddit or Instagram. Additionally, users on these platforms are usually engaged in more synchronous conversation with one another (and in Discord’s case, conversation through audio as well as text) which require approaches to moderation that go beyond approving or taking down specific posts. Finally, there is a wide ecosystem of apps, bots, and other moderation tools that can be integrated into these platforms. Each community makes different decisions about which tools to use, how to customize them, and how to integrate them in the moderator’s workflow. There is a ton of interesting variation in how these tools are used to create different kinds of online cultures. Surfacing themes in how communities and moderators interact with these tools can help moderators of fledgling communities make better decisions about what tools to adopt, and also help developers identify what kinds of tools should be built to support moderation work.
In order to investigate approaches to moderation in these semi-public virtual spaces, the first phase of the project will involve recruiting and interviewing moderators of active Slack workspaces and Discord servers of a variety of sizes. Some questions we’ll hone in on in these interviews would include:
- What kinds of tools do moderators use in these spaces? How are tools adopted/changed as communities grow in size? What sorts of rules do they express or enforce?
- What does the moderation workflow look like for an individual moderator? What kinds of interventions require active attention from the moderator, and what kinds of actions are entirely automated?
- In what way(s) are moderator tools and workspace customizations used to shape the norms and culture of the online community?
- Are there situations where moderation tools are insufficient, or have unintended effects?
This project is going to be a primarily qualitative, interview-based study of moderators of active Discord servers/Slack workspaces. Students who took HCI or Social Computing would likely be a good fit for this project, but this experience is not strictly required to apply for the position. I’m especially interested in working with students who are excited about doing interdisciplinary research; you would potentially be engaging with academic literature from communication, sociology, and political science in addition to computer science. If you’ve used qualitative research methods before in a non-CS class, or if you yourself are very active in (or are the moderator of) an online community on any platform, please indicate that on your application.