Below you will find a list of faculty that will be conducting research during the Summer of 2020 and are looking for research students.
- Understanding Problem Solving Behavior in Starcraft 2 (Aaron Bauer)
- Exploratory Research in Operating Systems (Aaron Bauer)
- Language and Interfaces for Home Network Management (Amy Csizmar Dalal)
- Investigating Communication and Governance in Online Collaborative Communities (Sneha Narayan)
- Algorithmic Methods for Analyzing Tumor Evolutionary Trees (Layla Oesper)
Descriptions of the projects are below:
Understanding Problem Solving Behavior in Starcraft 2 (Aaron Bauer)
1 student, June 29–August 28 (9 weeks)
Open-ended, creative problem solving is critical to virtually every domain of human endeavor from education, to policy making, to scientific research. As the speed and sophistication of digital technology has increased, more and more of these problem-solving tasks are digitally mediated, perhaps incorporating digital tools or taking place entirely within a digital environment. These digital problem-solving systems offer an exciting opportunity for computers to improve human problem solving whether through training, just-in-time advice, or intelligent tools.
For a computer to provide this kind of support, however, it will require a deep domain-specific understanding of the problem-solving process. In my research, I focus on developing techniques for building this understanding in complex, open-ended domains. The kinds of questions I try and answer include what distinguishes an expert from a novice? and what problem-solving strategies are associated with success? For this summer research project, you will apply this kind of analysis to the real-time strategy game Starcraft 2.
In Starcraft 2, players compete to conquer each other by harvesting resources and using them to build armies. The game places simultaneous and often conflicting demands on a player’s attention and resources. Players must navigate a tradeoff between investing in economic expansion and building up the necessary military. All these decisions are made in real time with incomplete information of the adversary. These challenges and complexities make Starcraft 2 an exciting domain for studying human problem solving.
The primary goal for this summer project is to identify—in gameplay data—one or more tradeoffs players are managing and show how the management of these impacts performance (i.e., winning or losing). Previous research on Starcraft has focused on mechanical skills or simple features, so identifying this kind of strategic behavior would be a meaningful contribution. Working towards this goal may include:
- Acquiring additional publically available gameplay data from online repositories
- Extending machine-learning techniques for identifying behavior to the Starcraft 2 domain
- Developing new visualizations of problem solving in Starcraft 2
- Designing new features to capture important aspects of player behavior
To be prepared for this project you will have taken CS 201 and CS 202. Other useful but non-required coursework includes statistics, computational models of cognition, AI or data mining. I will expect you to do a 1-credit independent study with me in the spring to start reading relevant background material and learn about the data you’ll be working with.
Exploratory Research in Operating Systems (Aaron Bauer)
1 student, June 29–August 28 (9 weeks)
The role of computing in society continues to rapidly expand, leading to a greater variety of applications running on a greater variety of devices serving a greater variety of needs. This in turn gives rise to a vast array of new challenges, including scalability, power management, distributed computation, security, and reliability, to name a few. A significant part of this burden falls on the operating system, the software layer that manages and abstracts the messiness of the underlying computer system. User applications rely on the operating system to provide efficient interfaces and consistent behavior.
I am deeply intrigued by these challenges, and I am looking for a student to help me launch a brand new research project in the area of operating systems. Not only will the project be new, but operating systems is well outside my existing set of research projects. This project will be fundamentally exploratory in nature. In a sense, this provides an opportunity for the full research experience, complete with many unknowns, and many potential discoveries and mistakes along the way.
Our exploration will consist of two main components:
- Educating ourselves about the cutting edge of modern operating systems research by taking a deep dive into the relevant research literature. The primary purpose of this literature survey will be to narrow our focus on a specific set of problems—to ask what is flawed about current approaches and what a better solution might look like. In addition to being necessary preparation for the second component, this will be excellent preparation for future research in general. Reading and synthesizing a body of research literature is a critical skill for a researcher in any field.
- Replicating a recent result from the literature. This is the primary goal for this summer’s work. Successful replication will help us master the details of a particular research question and be a key step on the path toward our own novel results. The target for this replication will be guided by our literature survey.
In preparation for this project, you will need to take CS 332: Operating Systems with me spring term (which has CS 208 as a prerequisite).
Language and interfaces for home network management (Amy Csizmar Dalal)
2 students, June 15-July 31 (7 weeks)
Our homes have become major technology hubs, hosting complex computer networks with a diverse set of devices. These devices entertain us, enable us to work remotely, track our health, and monitor our environment. When everything works as expected, it’s great. But what happens when things go wrong? How does a normal, non-technical person figure out what’s not working in their home network? How do they identify the problem? How do they seek help? How do they ultimately solve the issue, especially when “reboot the device” doesn’t work? And how do they set everything up to work optimally in the first place?
And, ultimately, do existing network setup and troubleshooting tools “work” for the typical consumer? What about tech support scripts and forums? Are these designed with the typical consumer in mind? Or do they assume a Masters-level knowledge of computer networking?
The goal of this project is to design setup and maintenance tools for home computer networks that match the existing mental models of homeowners, to make this process less taxing and frustrating for the home residents.
Over the past couple of years, my research students and I have studied the language and terminology used in tech support situations, whether that’s seeking help online or soliciting help from that “smart friend”. This summer, I plan to extend this work in a couple of areas:
- Perform a wider analysis of language usage and understanding in tech support scenarios. We will analyze the conversations in a trouble ticket system (from 10 years’ worth of data!), and possibly interview and/or survey tech support professionals.
- Prototyping new tools and interfaces for home network maintenance. Based on our previous findings about effective and less effective language, we’ll mock up potential improvements on existing tools’ interfaces, as well as imagine and mock up new tools to facilitate network maintenance. We’ll also design and conduct usability studies on these interfaces throughout the project.
The only requirement for this project is that you’ve successfully completed CS 201 by the end of Spring Term 2020. If you have any background in psychology, cognitive science, or statistics, this is definitely useful, but not required to succeed on this project
Investigating Communication and Governance in Online Collaborative Communities (Sneha Narayan)
2 students, June 22- August 14 (8 weeks)
The availability of technological infrastructure to support collaborative work has played a crucial role in the success of large-scale collective projects such as Wikipedia, fan wikis, and free software development. These community-driven efforts have been of significant interest to computer scientists and social scientists alike, as the architecture of these platforms enable large groups of people to work together to contribute to important shared resources. My research centers around understanding how design shapes user behavior in volunteer communities, and how the online and distributed nature of these communities impacts the kinds of opportunities and challenges they encounter.
This summer, I’ll be focusing on two strands of research in this area.
- What happens when you completely revamp the way users communicate with each other on a population of wikis?
- Social computing research is often concerned with understanding the connection between the design of technological platforms, and the user behavior that occurs on them. A few years ago, a prominent wiki platform overhauled and significantly streamlined the system that users on thousands of wikis used to communicate with each other. This provides us an opportunity to investigate how making interpersonal communication easier impacts the kinds of collaborative activities that occur on wikis.
- I’ve already done some initial work on this dataset, but I hope to expand this research over the summer. Some questions I’m interested in pursuing are: how might such an overhaul affect how new users are participating on these wikis? Does easier communication affect what kinds of interactions people have on these wikis? What implications would those findings have on how we design technological changes in active online communities?
- How do volunteer-run communities like Wikipedia engage in self-governance and manage conflict?
- Governance and moderation has long been a subject of interest to both researchers and users of Wikipedia. Imagine you’re a user making an edit to Wikipedia, when a different user stops by, decides they don’t like what you’re doing, and starts harassing you. In platforms like Facebook and Twitter, you might have the ability to report the user, but in volunteer-run communities like Wikipedia and many sub-reddits, community management and moderation is handled largely by experienced users.
- Wikipedia has a complex system of policies and rules to determine how to sanction users that break the rules. However, simply the existence of policies is not sufficient to prevent or manage conflict; these policies have to be interpreted and applied to specific cases, much in the same way that lawyers and judges interpret and apply the law. On Wikipedia, the group of users that are in charge of this process are known as the Arbitration Committee, or ArbCom.
- ArbCom has generated hundreds of pages of discussion and deliberation online in response to many notable cases of conflict, vandalism, and harassment that have appeared before them. Using a combination of computational techniques and qualitative analysis, I’d like to characterize common themes and frameworks that underpin the way ArbCom discusses, interprets and rules on controversial instances of conflict among users on Wikipedia.
These projects will likely involve the use of multiple research methods, both computational and qualitative in nature. The minimum background for these projects is CS201; however, experience with statistics, natural language processing, or qualitative research methods would be a plus (but not required). Ideally, students who sign on to work with me will participate in a 1-credit independent study with me in Spring 2020 to start reading relevant background material and learn about the research contexts you’ll be working in.
Algorithmic Methods for Analyzing Tumor Evolutionary Trees (Layla Oesper)
2-3 students, June 15 – August 7 (8 weeks)
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, there is still a very challenging task.
This summer students in my group will be part of an ongoing initiative to develop algorithmic methods for analyzing these tumor evolutionary histories (represented as trees) and better understanding what the space of these histories looks like. The exact details of what students will be working on will depend on their interests, background and how the project progresses prior to the start of summer. Aspects of the project that students may likely work on include:
- Extend and modify existing distance measures designed for tumor evolutionary trees.
- Develop new distance measures for tumor evolutionary trees that relax certain mathematical assumptions about the trees.
- Perform mathematical and computational analysis of the space of tumor evolutionary trees.
Students working on these tasks may gain experience working with large datasets, using large multi-core machines, designing computational experiments and will become familiar with some aspects of DNA sequencing data and analysis.
I expect to hire 2-3 students for this project. Students who are accepted will work from June 15 – August 7 during the summer of 2020. Ideally, students should be available to participate in an independent study during the spring of 2020 to read papers, familiarize themselves with related tools/concepts, and have discussions to begin planning the project.
Applicants should have completed at a minimum CS 201 by the end of Spring term 2020. Students who have taken Computational Biology, Bioinformatics or Algorithms are also strongly encouraged to apply. No specific biology background is required, just an interest in applying computational techniques to important biological problems.