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

  • Rearchitecting Dragon Architect (Aaron Bauer)
  • Understanding Attention, Information Gathering, and Expertise in Starcraft 2 (Aaron Bauer)
  • Decoding tech support: Expertise identification and trust negotiation of help-seekers and help-givers (Amy Csizmar Dalal)
  • Modeling Microbiome Evolution (Anya Vostinar)

Descriptions of the projects are below:


Rearchitecting Dragon Architect (Aaron Bauer)

2 students, June 28–August 20 (8 weeks)

In the United States and around the world, there are increasing efforts to include computer science through primary and secondary education. For example, code.org and the Computer Science Teachers Association promote computer science curricula from kindergarten on up. Many challenges persist, including lack of educators with computational training or background, an already overfull school year, little consensus on what students should learn or the best ways to teach it..

Educational games have a potentially significant role to play in the increasing efforts to expand access to computer science education. They can provide technical content, reducing the burden on educators. Furthermore, game environments can provide an educational setting possessing many attributes known to support better learning outcomes, such as varied practice, immediate feedback, intrinsically motivating goals, and an engaging social context. Existing games designed to teach computational ideas generally consist of either open-ended exploration with little direct guidance or a linear series of puzzles with lots of direct guidance, but little exploration. Educational research indicates, however, that the most effective approach may be a hybrid of these two approaches.

I have an ongoing research project to develop just such a hybrid game. The game, called Dragon Architect, has players write code using a drag-and-drop interface to control a dragon in a Minecraft-like cube world. Unfortunately, Dragon Architect is becoming more difficult to improve and maintain due to its disorganized and out-of-date codebase. Web development has come a long way in the six years since the project began, and the game’s code is sorely in need of an upgrade. The task this summer is to overhaul and modernize the Dragon Architect code and put it on a sustainable path for further development and research experiments. This will include:

  • Reengineering Dragon Architect to use a modern web framework (React) and toolchain (typescript/webpack)
  • Making the code more modular with fewer monolithic JavaScript files
  • Clearly documenting the components of the system and their relationships
  • Deploying Dragon Architect via Docker

To be prepared for this project you will have taken CS 201 and 257. Any experience with web development, JavaScript, and HTML will be highly relevant. CS 251 will also be relevant, as the game implements its own programming language.


Understanding Attention, Information Gathering, and Expertise in Starcraft 2 (Aaron Bauer)

2 students, June 28–August 20 (8 weeks)

When it comes to solving challenging problems in real time, humans must navigate a complex series of tradeoffs. Examples include searching out new information vs refining an existing solution, finding an optimal solution vs reaching a solution quickly, and making small adjustments vs making major changes when new obstacles present themselves. 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’s ability to navigate these tradeoffs whether through training, just-in-time advice, or intelligent tools.

One such digital environment that challenges users in this way is the competitive online strategy game Starcraft 2. In it, 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 balance investing in economic expansion and building up the necessary military. 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 build upon previous analysis of Starcraft 2 to develop a detailed understanding of the relationship between how players allocate their attention, how players gather information about their opponent, and player expertise. People playing Starcraft 2 online are stratified into ranks, ranging from novice to professional players competing for prize money. We will use publicly available data on players’ in-game actions to analyze these behaviors and demonstrate how they relate to player skill. This may include:

  • Refining and extending existing analysis of information gathering behavior
  • Developing new visualizations of player behavior in Starcraft 2
  • Designing and implementing detectors for various in-game events or behaviors (e.g., detecting when new bases are built or battles happen)
  • Conducting statistical analysis and/or training machine learning models based on observed 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 visualization. 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..


Decoding tech support: Expertise identification and trust negotiation of help-seekers and help-givers (Amy Csizmar Dalal)

2 students, June 14-August 6 (8 weeks)

In an ideal world, our devices and computer networks would always “just work”. But we don’t live in an ideal world, and when our technology breaks or misbehaves, it’s usually up to us to diagnose the problem and/or seek help. What strategies does a typical person use to seek assistance? Specifically, how do they articulate the problem and parse possible offered solutions?

Help-givers take many forms: family and friends, posters in online tech support forums, and tech support professionals. My research group is most interested in these latter two. How do help-givers parse requests for help to determine the expertise level of the help-seeker? What language cues do they use? How do they moderate their use of terminology to meet help-seekers’ expertise levels? How do they establish the trust of the help-seeker?

This summer we’ll continue our quest to answer these questions. Using a dataset of ten years’ worth of Carleton Help Desk tickets and responses, and possibly interview transcripts, we’ll use natural language processing and a variety of other techniques to do the following:

  1. Develop a definition of technical expertise levels for both help-seekers and help-givers, based on the terminology they tend to use.
  2. Explore how help-seekers and help-givers negotiate trust in a completely online environment.
  3. Explore how help-seekers validate the expertise of a help-giver, and validate the reliability and applicability of online advice

The only requirement for this project is that you’ve successfully completed CS 201 by the end of Spring Term 2021. If you have any background in psychology, cognitive science, machine learning, or natural language processing this is useful but not required to succeed on this project.


Investigating Communication and Modeling Microbiome Evolution (Anya Vostinar)

2-3 students, June 21-Aug 13 (8 weeks)

A microbiome is a community of microbes that may or may not exist in close association with a host. The human gut microbiome is an example that you may have heard of. Within this community, there are bacteria and a type of virus that infect bacteria, called bacteriophage. Evidence is growing that the make-up and dynamics of this community can significantly impact how the host (i.e. human) functions. Better understanding of how this community might change over time could help us build individual treatment plans for patients as well as contributing to our understanding of ecological and evolutionary dynamics as a whole.

This summer, students in my group will be part of an ongoing initiative to develop agent-based modeling software that is validated by real-world microbial data and will be able to form predictions for specific microbial systems as well as tools to investigate general trends in eco-evolutionary dynamics. 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 on the project that students may likely work on include:

  1. Implement and analyze the effect of symbionts (phage) on the competition between host species (bacteria)
  2. Implement and analyze the effect of lysogeny, a behavior where the phage/symbiont cooperates mutualistically with the host/bacterium
  3. Expand the GUI that accompanies Symbulation (the software project) to show these or other behaviors

Students working on these tasks may gain experience working with large open-source software, computer clusters, designing computational experiments, and understanding biological data.

I expect to hire 2-3 students for this project. Students who are accepted will work from June 21-Aug 13 during the summer of 2021. Ideally, students should be available to participate in an independent study during the spring of 2021 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 2021. Students who have taken Evolutionary Computing and Artificial Life are also strongly encouraged to apply. No specific biology background is required, just an interest in applying computational techniques to important biological problems.