CougarGrades.io Developer updates

📊 Fall 2019 grades

Fall 2019 data was received from the University of Houston and will begin processing on Wednesday, January 22, 2020.

Upgrading the database requires a period of downtime where the database is wiped and recreated from scratch. This process usually takes about 10 hours. Accessing the site during this period could cause some unexpected or empty results when searching for courses or instructors. To prevent interruption during add/drop week, the upgrade will be started once course registration has closed.

As mentioned in the 0.4.1 update post, this database upgrade will also implement a bug fix where the instructor’s departments field was incomplete and only represented one department.

Source data

🔧 0.4.2 Update

This update fixes some issues with the site and more.

@cougargrades/web

  • Added support for native Dark Mode
  • Hopefully, eliminated some confusion between “UH GPA” and “Prof GPA” on Instructor page tables

🔧 0.4.1 Update

This update fixes some issues with the site and more.

@cougargrades/web

  • [a286e70] Removed Moment.js as a dependency due to bloat
  • [1a71d0b] Added an Instructor button on the homepage
  • [9177321] Removed some demonstrational prefilled areas on the Courses page
  • [25f018a] Fixed a performance issue where instructor courses and section data weren’t fetched asynchronously

@cougargrades/importer

  • [5c4995e] Fixed an issue where the instructor’s departments field was incomplete and only represented one department. This fix requires a database upgrade to be reflected on the site. To prevent downtime during add/drop season, this fix will be processed after January 21, 2020.

🎉 0.4.0 Update: Instructor search is now available

At long last, the Instructor search is here.

Interested in taking a course but none of the instructors that are offerred have a history of teaching that course before? Well, now you can learn more about their background within the university and see how they’ve done in other courses.

This feature has been in the works for a long time, and I’m proud with how it’s come along. In past blog posts, I’ve talked briefly about some of the behind-the-scenes work made along the way, such as with the database upgrades necessary to make the front-end possible.

Pictured below is an example of an Instructor search result. The labels above the professor’s name is both the GPA and the standard deviation respectively for the professor in question. The colors of the labels, inspired by AggieScheduler, are indicative of the score. An A average is blue, a B average is green, a C average is yellow, and a D average is orange.

Preventing arbitrary thresholds in the color indication

To prevent the standard deviation thresholds from being biased or misleading, I created a frequency distribution and decided to use the probability mass function to estimate when the cut-off should be. The results were pretty informative.

For the standardDeviation values of all instructors (latest data: Summer 2019)

  • min: 0.0007071067811864697
  • mean: 0.28632900784232573
  • median: 0.24911322128640845
  • max: 1.6836212460051696
  • 25% likely to have stddev under 0.149
  • 50% likely to have stddev under 0.286
  • 75% likely to have stddev under 0.425

Thank you

Thank you for all the support and I hope you enjoy the new update. 💕

Austin Jackson

📦 New data: Instructor indexing of names

As a result of some updates being written to make searching for instructors by name possible, a database upgrade will be necessary.

This means that some functionality on the site will be limited for a couple hours starting Thursday, January 9, 2020 at midnight. Services will resume automatically when this upload has completed.

Technical mumbo

The updates being made are inspired by Ken Tan’s technique for text search in Google Firestore. After deleting Firestore collections used in production and uploading a new dataset created with the importer tool, future features to the site can be deployed and tested in-place without any delay.