At Cornell, many of us know the struggle of being in a crowd of hundreds in a vast lecture hall, while a professor attempts to impart knowledge onto each and every one of us. Unfortunately, the success rates for such ventures can vary, and sometimes you're tempted to raise your hand and ask for clarification, but the eyes of 600 pairs of judging eyes pierce through your soul, and you fight that urge, telling yourself you'll find the answer in the textbook, a quick google search, or in a later lecture.
What it does
Students are able to ask questions related to the lecture via the webapp which is accessible from both mobile and laptop. Questions can also be "upvoted" if a student has the same question. Submitted questions that are similar to ones previously submitted are automatically grouped together and the original question gets "upvoted". The most "upvoted" questions are visible in order of relevance in a question feed. The professor can view the question feed, determine what are sources of confusion for the students, and answer them accordingly. The lecture notes are also visible, and are analyzed for keywords to determine question similarity and give suggestions for questions students can ask.
How we built it
Lecture Notes and Slides are analyzed to obtain keywords through Google Cloud Platform's Natural Language Processing API, which also will correct any grammar errors for any questions, to ensure clarity. We embed a PDF onto our webpage, and then used VueJS, HTML, and CSS for the design of the website. The backend is written in python. We hosted on AWS.
Challenges we ran into
It was difficult to make various design choices, as we wanted to have a simplistic platform that displayed a solid amount of information. Therefore, we couldn't have too much or too little on the page. Additionally, we had to learn how to use socketIO to allow for the local hosting of a website that which others can access. This was used for debugging and demonstration purposes.
Accomplishments that we're proud of
Our team collaborated in a swift and efficient manner. Our back-end and front-end engineers worked closely together and made sure that both sides understood each other. We are also proud of the fact that we used Google Cloud Platform in our implementation. It was out first time working with such a Platform and figuring it out was both exciting and rewarding.
What we learned
We mainly learned more about VueJS, SocketIO, and integrating APIs from Google Cloud Platform into our hacks.
What's next for PrimeQuery
We will continue to implement further features for the website.