Here are some ideas to get you started…

Build a project with a cool toy:

  • a cluster of Raspberry PIs
  • a programmable drone or vehicle (we have a Deep Racer)
  • IoT sensors
  • AR/VR headset or tablet with lidar sensor
  • The CS department has a small budget to purchase new equipment; contact the instructors to propose something creative

Or check out ChatGPT’s suggestions.

Or expand on one of the ideas below:

Autogenerated Stories

Dynamically create children’s books on a user specified topic with their child as the heroine. Combine generative AI tools to create the text, images, and audio narration. Or instead of children’s books, focus on comic books, music videos, choose your own adventure/TTRPG, or some other form of media.

Distraction Free Commuting Productivity/Entertainment

Create an application to make my hour long commute more productive or fun. The application should be designed for someone driving a car so it must be entirely audio based and be designed to limit distractions while still giving the driver something entertaining/useful to do.

Natural Language Processing Chatbot

Build an advanced chatbot using natural language processing algorithms. The algorithm should understand and respond to user queries accurately. Implement the chatbot in a messaging application, considering user interface design and integration with backend services.

Healthcare Data Analytics Platform

Develop an algorithm for analyzing medical data to predict disease outcomes or suggest personalized treatments. Implement a web-based application that securely processes and visualizes patient data, taking into consideration data privacy and security measures.

Traffic Optimization System:

Design an algorithm to optimize traffic flow in a city based on real-time data from various sources. Develop a software solution that integrates with traffic lights, cameras, and other infrastructure to implement the algorithm and manage traffic patterns.

Financial Portfolio Management Tool:

Create an algorithm that optimizes investment portfolio allocations based on risk tolerance and market trends. Build a web or mobile application that allows users to manage their portfolios, leveraging the algorithmic insights.

Energy Consumption Monitoring System:

Design an algorithm to analyze energy consumption patterns in a building. Implement the algorithm in a system that collects and visualizes energy usage data, aiding in energy efficiency improvements.

Research Projects

Cognitive State Recognition using EEG Signals:

Faculty contact for details: Prof Xiaodong Qu

Explore machine learning techniques to accurately classify cognitive states (e.g., attention, relaxation, focus) using EEG signals. Investigate the impact of different features and classification algorithms on recognition accuracy.

Emotion Recognition using Neural Signals:

Faculty contact for details: Prof Xiaodong Qu

Develop a system that recognizes emotional states (e.g., happiness, sadness, anger) using neural signals. Evaluate the algorithm’s accuracy and responsiveness in capturing emotional changes.

EEG Analysis using Transformer and Attention Mechanisms:

Faculty contact for details: Prof Xiaodong Qu

Design and implement a research project that explores the application of transformer-based architectures and attention mechanisms to EEG data for tasks such as cognitive state recognition, emotion detection, or brain connectivity analysis.

Path-Aware Microservice Security

Faculty contact for details: Prof Tim Wood

Design and implement a security framework for microservice applications deployed in Docker containers. The framework should intercept requests traversing microservice components and make authorization decisions or detect anomalies based on the path the requests have taken.

ML Based Management of Serverless Functions

Faculty contact for details: Prof Tim Wood

Sledge is a serverless computing framework being developed at GW for low latency computation. This project will extend Sledge with an ML model to predict the processing time for each request and use this to guide resource management decisions such as scheduling and load balancing.

Project ideas from 2021-2022

These ideas may still be available.

Mixed Reality UI for First Responders (AR/VR)

Faculty contact for details: Dr Hurriyet Ok

Design and implement holograms for incident command perspective and heads-up displays (HUD) for first responders using VR headset with eye tracking feature and video passthrough AR capabilities. The project will require the use of AR/VR equipment (headsets or Glass), provided by the department. It expands on some of the solutions provided by the NIST Chariot Challenge by expanding the UI design using eye tracking capable headsets, video passthrough etc.

High Performance Remote Procedure Calls

Faculty contact for details: Prof Tim Wood

Every time you submit a search request on Google, it is transformed into 100s to 1000s of queries sent to many different servers for processing. These requests are performed using Remote Procedure Calls (RPC), which allow one piece of software to easily invoke functionality in another. This project will design and implement a RPC protocol focused on low latency processing of requests, and will be built to work with the OpenNetVM project created by students in Prof. Tim Wood’s lab. You will learn about the design of networking protocols, get practice with writing high performance C code, and learn about shared memory communication.

CS Experimenter’s Notebook

Faculty contact for details: Prof Tim Wood

Computer Science researchers often need to run experiments to test the performance of different algorithms or pieces of software. This project will design a web-based tool to help researchers design experiments, run tests, gather data, and analyze/visualize results. The primary challenge with this project is designing a system which is flexible to support many different types of experiments – an OS designer might want to run experiments to evaluate the impact of different schedulers, while a ML researcher may need to evaluate the impact of different neural network parameters on multiple data sets. How can you design a tool that can easily run these diverse workloads and gather the data in a consistent way so that it can be easily analyzed and reproduced?

PeopleFinder: Embedded IoT platform for finding missing persons

Faculty contact for details: Profs Bulusu and Narahari

Crowd source the problem of finding missing persons (from amber alerts, missing persons database, etc.) by deploying low-cost platform agnostic IoT devices across geographically distributed locations. This project will design a single-box solution that can be deployed in various physical settings. For example: in cars to monitor amber alerts; in shopping malls to recognize missing/wanted persons; in hospitals, etc. The single box device would consist of an embedded platform (such as RaspberryPi) with cameras, running lightweight ML libraries, and connected to other edge devices and to a central server (to receive amber alerts and missing person info, and to send detection signal containing GPS location, time and a “Possible Identification”, etc.). Each IoT device can communicate with other devices (peer to peer network) to collaboratively track the object (amber alert car, missing person image, etc.).