10 Computer Science Virtual Research Project Ideas for High Schoolers

NewsJin Chow

Computer Science is quickly becoming one of the most popular academic majors in US colleges. At Stanford University, CS has risen to take the number 1 spot in terms of most popular concentration, followed by economics, engineering, and biology. If you’re a high school student itching to try your hand at an independent research project in computer science this summer, what can you do? First, it might be helpful to identify the areas within computer science that speak to you.

Here’s a list of 10 virtual research project ideas that you can pursue in the comfort of your own home:

1) Proving that a homework management system is safe

Level: Beginner

You have probably uploaded your homework for a class to a site like Blackboard or Canvas. But we don't know much about what happens to your homework or grades when they are uploaded. In this project, we'll implement a simple homework management system and try to show that your homework and grades can't be seen or changed by anyone/by your teacher, and investigate some of the security and design policies needed to ensure that.

Idea by mentor Priya

2) Formula 1 Data Analytics

Level: Beginner

Are you a fan of Formula 1? Do you binge watch Drive to Survive? Formula 1 is one of the most watched sports in the world! Extreme engineering, nail-biting precision, and excellent team dynamics are key to the participation and success of any team. The moment anyone decides to go rogue, the whole team is impacted - and may even be disqualified! Some of the major teams in play include Ferrari, Mercedes, Redbull, McLaren, Haas, Alpine, Alfa Romeu, Alpha Tauri, Aston Martin. For those of you who enjoy working with data, have a little bit of data science and CS skills under your belt, an interesting project might be to analyze an F1 data set and look at patterns in attributes like drivers, race times, season data, pitstop status, and many more!

Idea by mentor Thomas

3) There is an app for that!

Level: Intermediate

If you have been tinkering with app design and coding for a while and have an idea for just what the world needs next in the app world, this might just be the perfect project for you! Learn to design, code, and create an app from start to finish and share it with your friends and family! If you want, you can even publish it onto the app store (for a small fee) and see what kind of traction you get! You can use MIT's App Inventor or Code.org's App Lab as resources as you embark on your app development journey!

Idea by mentor Abigail

4) Designing a Game from Scratch

Level: Intermediate

For students who are interested in game development and have some prior experience, designing your own game is a great passion project! You get to make up, design, and execute your very own game. You can decide to make a 2-D game where you fight monsters or zombies, or any other kind of 3-D game. While this project doesn't require a ton of background, it will require a lot of work, but you'll definitely have fun.

Idea by mentor Sahil

5) Designing your own autocorrect algorithm: an introduction to algorithms and machine learning

Level: Intermediate

This is a project with two focal ideas - one in computer science and one in machine learning. The first idea is called dynamic programming and is one of the traditional ways in computer science to implement an autocorrect algorithm. Depending on your level, you can design it from scratch or just focus on the algorithm. After that, one option is to then use machine learning in order to create different, personalized, and more accurate versions of autocorrect for individuals. The goal of this project is for you to get comfortable with a complex class of algorithms that are typically only learned in the later undergrad years!

Idea by mentor Ryan

6) Build a music/movie recommender!

Level: Intermediate

Have you ever been impressed with how websites like Netflix, Spotify, and Pandora seem to know what you enjoy? Doing a project where you build your own recommender is a great way to explore the various methods of content recommendation! There are lots of things you will have to explore and learn about, including Content filtering, Collaborative filtering, User/product embedding methods , Graph-based techniques and more! The goal of this project is for you to experiment with various types of recommenders and build your own for a product or media of your own choosing.

Idea by mentor Eli

7) Machine Learning in Your Area of Interest

Level: Intermediate

Calling all machine learning enthusiasts to do this project! What are some areas that you’ve been interested in and that might have some public datasets available? You can use sites like Kaggle or various aggregator sites to start looking at what piques your interest! Once you’ve identified an area of interest and a dataset that you want to work with, you would define outcomes you’d like to predict and hypotheses you’d like to test. Then, it’s time to create machine learning models to see how accurately we can predict these outcomes! One example for students who are interested in biology might be the following: say you’re interested in predicting cancer risk and want to work with the SEER (Surveillance, Epidemiology, and End Results Program) dataset. You would identify your specific set of questions you’d like to test and then start to create models!

Idea by mentor Shaan

8) Natural Language Processing

Level: Advanced

Do you already have a good foundation in computer science? Did you recently develop a fascination for NLP (natural language processing)? Well, this project might be the right one for you! In 2018, Google released BERT, a neural language model which helped NLP practitioners outperform previous state of the art benchmarks in language tasks (e.g. question answering, sentiment analysis, machine translation) across the board. You can do a project where you will learn how deep learning researchers approach quantitative problems in classifying and analyzing language. You will develop an understanding of the concept of "contextual word embeddings" and the motivation for BERT. Last but not least, learn how to apply BERT to a language task of your choosing! One example to get your creative juices flowing is quantifying gender bias in news articles or tweets.

Idea by mentor Anav

9) Detecting bots on Twitter

Level: Advanced

Bots are everywhere now! With fake news and bot detection becoming ever more important as a social and political issue, you might want to try your hand at a computer science bot detection project. You can do a project where you measure and quantify how easily it is to detect tweets that have been written by bots. You can start by going through the following four steps: 1) Collect some data, some possibly labeled already as "fake". 2) Observe and analyze statistical properties of "real" vs. "fake" Tweets. 3) Write a program (an example might be a Naive Bayes classifier) to label new, incoming tweets as either “real” or “fake”. 4) Evaluate how good the program is using a sensible metric.

Idea by mentor Clayton

10) Guiding Young Musicians with Machine Learning

Level: Advanced

If you’ve ever learned an instrument, you know how much help you need with tone quality, embouchure, managing hand placement, pitch correction, among many other things! This is a project where you will use your camera and microphone to explore ways to use machine learning and artificial intelligence to identify areas of improvement and suggest corrections. If you’ve been looking for ways to combine your interest in computer science and music, this is a great place to get started!

Idea by mentor Ross

And there you have it! Keep in mind, if applying for a computer science project with Polygence, you are expected to have completed AP Computer Science A (or its equivalent).

Excited to do one of these 10 virtual research project ideas in computer science? Register to get matched with a mentor here!