Inspiration
Our inspiration for this project is the struggle that students experience every semester. We spent countless hours on researching the best class combination and this best class to take for certain career goals. However, the most time consuming part of the scheduling process is researching for the best professor for each class. Depending on the professor you choose your experience for the class can vary from a living hell to inspiring experience that will assist you in your future endeavors.
What it does
Our application seeks to streamline the planning/researching process. Users will enter a subject and course number, and the application will use natural language processing to perform sentiment analysis on the reviews of professors who teach that specific course and output back to the user its impression of each professor teaching the class to give the user a simplified research experience.
How we built it
The application is built using react.js for the frontend, a ratemyprofessor api and the Penn State's directory for the professor information, and Microsoft Azure's text analytics for the natural language processing of the professor reviews.
Challenges we ran into
- Picking an API: microsoft azure vs google cloud
- We had to figure out which platform offered a better API for our sentiment analysis needs
- webscraping
- webscaping from the PSU EECS directory proved to be more difficult than we expected
What we learned
- For sentiment analysis there's no fundamental differences in terms of functionality, Azure is the logical choice in this case due to it's slightly better ease of use and support as Microsoft is one of the sponsor for this event.
- We learned how to create a Python Flask backend
- We learned how to use react hooks in page navigation and transferring data between pages
- We learned how to use the Microsoft Azure text analytics API to perform sentiment analysis and NLP on data from rateMyProfessor
What's next for CourseGossip
The next big step for our project is to implement a webscraping engine. Since our goal is to draw information relating to courses and professors, we will need to develop a complex system to automate the research process, that would otherwise be done manually by students. We would use Python webscraping libraries such as selenium and beautiful soup to browse the web and collect the correct data we would use when a course is being searched for.
Currently we only showcased our "Professors who taught this class," but in the future we would implement other categories relating to the course to give students a more wholistic view of what the course entails.
Log in or sign up for Devpost to join the conversation.