Summer Undergraduate Research Opportunities

Undergrad poster presentation

Not sure what to do this summer? Interested in summer research? Want to stay in Durham over the summer? Enjoy computer science and want to explore in more depth?

If you answered yes to any of the above questions, you should check out some projects Computer Science faculty are working on and are seeking help for! Read their blurbs about each project below.

Application materials to be submitted on the application form:

  • Resume
  • Transcript (unofficial copy is fine)
  • Contact Information for one faculty reference (no letters desired!)
  • Explanation (per project chosen) about how you can contribute to the project

Application deadline: Monday, April 16 EOD. Applications will continue to be accepted after the deadline until all openings are filled.

Apply Here

Projects available for Summer 2018

Robert Duvall
Research area: Educational and Open Source Software
I am working on a project to improve understanding of the design of a program using a variety of visualizations. I would like help to evaluate a variety of open source tools and plug them into an overall dashboard to help understand existing software projects.
Robert Duvall
Alvin Lebeck
Research area: Systems and Architecture
I have two projects for US citizens only (due to funding restrictions), both projects will have the students working alongside my PhD students and are related to software systems for data centers. Both projects focus on how to efficiently utilize emerging hardware in data centers to improve the services offered for cloud computing platforms. One looks at distributed systems and programming paradigms to support services like key value stores or data bases by exploiting more tightly coupled systems and emerging non-volatile memory. The other project addresses issues in efficiently sharing resources, particularly GPUs in data centers and how applications can adapt to resources available. Requirements: Strong systems skills required (architecture & OS), programming is primarily in C or C++.
Alvin Lebeck
Ashwin Machanavajjhala
Research area: Privacy and Machine Learning

Cameras are pervasive and multiplying. All modern PCs and smartphones have cameras, as do most gaming consoles and televisions. Furthermore, emerging wearable computers, household robots, autonomous transportation, AI-assisted hospitals and Internet-of-things devices provide a glimpse of the not-too-distant future: continuous recording by crowds of sensor-rich devices. This proliferation of cameras has created a growing sense that the most confidential details of a person's life are perpetually at risk of leaking.

We are hiring undergraduates to build algorithms for ensuring your privacy in the face of data collected by mobile apps through cameras. Students will learn techniques like deep learning and differential privacy.

Proficiency in programming (preferably Python) is required and familiarity with deep learning (and libraries like Tensorflow) is a plus. Must have taken at least one 200 level CS course (e.g., 230 or 216), and having taken algorithms, databases or machine learning courses is preferred.
Ashwin Machanavajjhala
Kamesh Munagala
Research area: Algorithms

Looking for one undergrad to work on fairness in public decision making, such as participatory budgeting. We have preliminary theoretical results under submission, and the goal is to extend these results to related domains such as machine learning applications, or show better theoretical guarantees. The candidate should have done well in CPS330 and should preferably have taken CPS532 already.
Kamesh Munagala

Susan Rodger
Research area: Computer Science Education

JFLAP - education tool for experimenting with CS Concepts

We're looking for undergraduates to join the JFLAP project! JFLAP is educational software that focuses on interactive algorithm visualizations and animations to aid in the understanding of algorithms. JFLAP covers a large number of topics related to finite state machines, grammars, parsing, Turing machines, compilers, l-systems, etc. For this project, you would first learn a topic, determine how to visualize and interact with the topic and then implement the interactive algorithm visualization JFLAP is currently written in Java and Swing. The past three summers we have been creating parts of JFLAP in HTML5 to run on tablets and other devices. See the JFLAP page for more info on JFLAP.

JFLAP has evolved over the past 20 years, and was a finalist in the Needs Premier award for Educational Engineering Software. Over 35 students have worked on JFLAP with the majority of them Duke undergraduates. This project is a chance for you to add new algorithms to a large software product that is used in courses around the world.

Students should have taken at least CompSci 201 or equivalent. CompSci 308 would be helpful but not required. As part of this project you would learn the background material. For example, you would learn an algorithm that you would then animate. As part of the animation process, you would then learn the background needed (such as HTML5) to implement the animation.


Susan Rodger

Kristin Stephens-Martinez and Jeff Forbes
Research areas: Data Science, Education
How can we make office hours better? To answer that question we need to first figure out what is currently going on. This project focuses on understanding what is currently going on by analyzing existing office hour app data like MyDigitalHand. This project's tasks include: preparing data for analysis, processing data to draw graphs and run it through models, and summarizing findings.


Kristin Stephens-MartinezJeff Forbes


Found something that piqued your interest?

Apply Here