The Spark of Inspiration
It all started when Viraj Zaveri, Skanda Vasishta, Tanish Mendki, and I noticed a common headache among students: the struggle to pick professors when signing up for classes. While platforms like Rate My Professor offer some guidance, the uncertainty about which professor might be easier persisted. That's when the idea struck us – why not create a system that gives professors a "difficulty rating" based on both reviews and historical grade distributions?
Crafting the Solution
Our solution involved a combination of sentiment analysis on Rate My Professor reviews and insights from historical grade distributions. The backbone of our sentiment analysis was Google Cloud's NLP API, which we used to analyze text data scraped from Rate My Professor pages. The result? Sentiment scores ranging from -1 to 1, providing a holistic view of each professor's standing (negative values meaning generally unfavorable reviews and vice versa).
Navigating Data Sources We delved into two primary data sources:
Rate My Professor Reviews: Scrapped and subjected to sentiment analysis. Daily Nexus Grade Dataset: Mined for historical grade distributions, injecting a layer of statistical objectivity into our rating system.
Technical Ingenuity Our technical journey involved:
Google Cloud NLP API: Leveraging this powerful tool for sentiment analysis. Python Script Magic: Parsing and filtering raw CSV datasets from Daily Nexus, transforming them into JSON format. Graph Data Taming: Overcoming challenges in scraping all professors for computer science by tapping into graph data.
Unveiling the Product
Our creation boasted a user-friendly interface with features like a welcome screen, home screen, search functionality, class details, and professor ranking. It was a culmination of our efforts to simplify the decision-making process for fellow students.
Looking to the Future As we bask in the success of our initial release, the road ahead beckons us to:
Database Integration: Incorporate all classes and data using MongoDB for comprehensive analysis. UI Marvels: Enhance the user interface, making navigation smoother with engaging graphics. NLP Evolution: Explore advanced NLP models considering factors like age, sex, background, and grade distributions.
Reflections on Challenges Our journey was not without hurdles. One standout challenge was scraping all professors for computer science at once due to pagination issues. Our resolution? Tapping into graph data, a testament to our team's ingenuity and determination.
In conclusion, this project has been a journey of innovation, problem-solving, and the shared goal of making academic choices easier for students.
Built With
- css
- expo.io
- google-cloud-nlp-api
- html
- javascript
- mongodb
- react
- react-native
Log in or sign up for Devpost to join the conversation.