Skip to content

Conversation

@ParzivalPerhaps
Copy link
Contributor

Description

Addressing #172, adds an aliases column to the course_view materialized view that finds courses with matching descriptions (which seems to be the most effective way to find courses under different names) and collects their course IDs as a string array.

It applies to all course requests, in the case of no aliases it returns an empty array, otherwise, it returns a list of course IDs.

Disclaimer

There is an existing same_as column which does not seem to work consistently or provide a robust solution, so it seemed more straightforward to create a new column. We can leave it as is to avoid potentially breaking changes, but I'd recommend deprecating it.

Related Issue

#172

Motivation and Context

This is useful information for PeterPortal/AntAlmanac to annotate course entries since UCI enjoys renaming and relabeling courses for some reason.

How Has This Been Tested?

In a locally run environment.

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

  • My code involves a change to the database schema.
  • My code requires a change to the documentation.

Copy link
Member

@laggycomputer laggycomputer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This heuristic makes basic sense but I'd like more proof that this is necessary. You mention WebSoc same_as is insufficient, but it captures not only correspondence between courses but their individual sections as well. It captures the three examples from the feedback ticket along with the correspondence between HISTORY 15C and SOCSCI 78A not originally in the ticket.

  • Going forward, what should we call this relation? It's been referred to as "same as" (because WebSoc displays this), "cross-listed courses" (a more colloquial term), and you're now calling them "aliases" (alternate casual term?).
  • Why do we need a new heuristic? Are there examples of this correspondence which are not captured by the "same as" relation scraped from WebSoc, requiring us to impute this data ourselves?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add some indication of cross-listed courses

4 participants