Invent Your Own Challenge

Pose your own challenge, and create a solution of your own choosing! Reminder: Solutions in this category are wonderful, but they are not eligible for global judging or awards from NASA.

MnSCU Rate My Professor ToolTip

Summary

Enhance your semester plan by registering with the right professor. Instantly fetch and view instructor data from RateMyProfessor.com within your MnSCU e-Services course offerings page.

How We Addressed This Challenge

Selecting an instructor that works best for your learning style is a critical choice. Our project helps students make better registration decisions by providing instant access to data from RateMyProfessor.com. By installing our Google Chrome extension, you can instantly fetch and view instructor scores and feedback without needing to leave your MnSCU e-Services web page. Using this extension, students can save time and make a better plan for their school semester.

How We Developed This Project

Before this hackathon, we realized that students value other students' feedback and find ratings on RateMyProfessors.com useful when registering for classes. To allow students to more easily see feedback, we created an extension to work in MN state schools' registration pages.

The previous version before this hackathon was a functional prototype. During this weekend we managed to add a lot of additions to make it more useful. Namely, instead of only displaying summary data and a most recent review, it shows all the cumulative statistics (which we had to calculate as the data endpoint didn't have summary data) and every single review, sorted by popularity, in a scrollable tooltip.

The extension is primarily Javascript, with some JQuery, a tooltip Javascript library, and some CSS. The directory structure of a background/content/manifest is based off of the chrome dev extension requirements. 

During this hackathon we used Notion as our workflow tool to divide up and tackle tasks, communicated over Discord, and pushed from our shared github (the “spaceapp” branch). Given the serious time constraints, we set limits on the amount of time each one of us would attempt to accomplish a task individually (based on importance) before reevaluating together. During reevaluation we did a short code review, discussed the challenge, and decided if we would switch tasks, work collaboratively on the feature at hand, or put the feature off for more important ones that could more easily be accomplished. 

We tracked our work items in Notion, accomplishing all of the below:


  • Preventing the tooltip from closing on scroll away from original rating cell.
  • Adding Summary stats to tooltip (attendance required, most used tags etc.)
  • Include all student reviews in the tooltip for a professor whom had info on RMP.com
  • Made the tooltip scrollable and resize dynamically
  • Improve functionality so that every available teacher can be looked up by handling name repeats or extraneous text in the registration pages
  • Added support for (almost) all MN state system schools
  • General refactoring (of the school lookup) to increase clarity in code for future additions
  • Groundwork for future features and refactoring including: adding arrow to tooltip, adding link to tooltip, and caching results for improved performance

One challenge we weren’t able to overcome was adding a link to a professor’s individual RateMyProfessor.com inside the tooltip (it is in the added column itself). It turned out that a previous hack caught up with us which disallowed custom additions to the tooltip. It was very hard to come up with an estimation for how long fixing this problem would take, so we decided to move on. In addition, we were unable to implement an idea to cache the data returned from RateMyProfessor due to the challenge’s time constraints. We found that the time pressure of the hackathon deadline forced us to prioritize low hanging fruit and getting workable (instead of pretty/clever) code, which was a good exercise. Coding for so long and with some clear goals and (personal) expectations was tiring, stressful, but ultimately highly gratifying.

How We Used Space Agency Data in This Project

NA

Project Demo

Video Link:

https://drive.google.com/file/d/1pRb9c5E7AKK7DfpWD0xn-CH_XaCxJDWR/view

Screenshot:

Data & Resources