Inspiration
Sitting in front of a laptop, scrolling through thousands of courses, trying to determine what section to take, and when, is never fun. What's even less fun is switching back and forth from the University Data Commons website and RateMyProfessor, trying to find the best professor to take according to other students. So we sat down and thought, what if, instead of painstakingly scrolling through data, there was a way to view all the most important pieces of information all at once?
What it does
That is exactly what VisiCourse does. VisiCourse uses API calls to RateMyProfessor.com and a CSV file full of class information to gather data, and uses multiple Python statistical packages to run linear regressions and generate scatterplots for the gathered data.
How we built it
We began by brainstorming what kind of technologies we would use to run the necessary statistical analyses on our dataset. We decided to use a combination of Pandas, ScikitLearn, and Plotly, after getting our CSV files, and our scraped data from RateMyProfessor using an API. We then ran our API call to get all Computer Science class data from RateMyProfessor, and ran tests on it using our CSV file containing University Commons data. We then gathered our data points, and using Plotly, plotted an interactive, 3-dimensional scatterplot. We then began building our front-end using flask, html, and css. We wanted to make sure that the user experience was smooth, so our plot is entirely interactive.
Challenges we ran into
One of the main challenges we ran into was keeping the plot interactive throughout the process of getting the data from the back-end to the front-end. Another big challenge was running our tests on such a large data set, since we had to clean large portions of data.
Accomplishments that we're proud of
We are proud of the design of the plot, we think that it turned out really well, especially seeing how much users can interact with not just the graph as a whole, but also individual points to view the important data.
What we learned
We learned a lot about cleaning large data sets, and running meaningful statistical tests on data. Our front-end difficulties also taught us a lot about html, css, and flask, and we think that this experience will be very valuable to us going into the future.
Log in or sign up for Devpost to join the conversation.