Queue-Pairing

As students, we have often found that virtual office hours are not as effective as they should be. Teachers and TAs are either unable to look directly at their students' work, or implement breakout rooms to provide personalized help. Our website, PeerFinder, will drastically reduce the amount of time they are able to spend helping each student along with dramatically cutting down on collaborative efforts that take place in in-person office hours.

Due to this, we were inspired to build this tool to help students gain the opportunity to get their doubts clarified or their questions answered while waiting in the office hours queue by their peers who have already completed these problems.

How We Built It

We created a website using html, css, and bootstrap js. In our pair matching algorithm, we look at a problem that a student has completed and a problem that they would like help with. If there is an odd number of students, the students who have completed a problem and joined the queue earlier are prioritized for pair matching over the other students. If everyone has solved a problem, then the students who joined the queue earlier are prioritized for pair matching. If there is an even number of students, everyone is able to be peer matched. The matching algorithm first pairs students based on the problem they require help with, checking for matches against those that other students have completed this problem. After matching as many students as possible in this way, the algorithm will randomly match the other students. In this way, it will provide them the ability to begin talking through the problem with a peer while waiting for a TA. As a future feature, we will be implementing authentication using Google Cloud. We have already begun development on this as can be seen in our Github repository.

Challenges We Faced

Some challenges we faced include learning about Google Cloud from scratch, learning how to incorporate a domain with google, learning how to launch a Google Cloud app, integrating the different parts of our project via Flask, choosing and getting acquainted with the best fitting framework to implement, and gaining access to the user data from our form.

Please check out our YouTube link for our Demo and our Google Slides link for our Pitch!

Built With

Share this project:

Updates