-
Notifications
You must be signed in to change notification settings - Fork 15
Description
We treat all crosslisted courses as basically equivalent; e.g. CS 2112 and ENGRD 2112 both count for fulfilling a requirement that requires CS 2112 (you can try it for the CS major). Some of our limited self-checks (self-checks that provide a dropdown of accepted courses) are based on a class being X000 level or above. This can lead to some weird situations where a 1000 level class can count (and is suggested as an option for fulfilling) a requirement that requires a 3000 level class. Consider PE 1184.

It is cross-listed with PMA 3210, so we claim that it will count for the shown requirement. I think that this can be sort of misleading, because I would assume that the class would have to be taken as PMA 3210 in order for it to count, and as a result, I would assume you wouldn't get PE credit for it. I think we should still consider these classes to be equivalent to avoid a huge refactoring, but display a warning when the wrong cross-listed course is taken. From a technical standpoint, this could be difficult because cross listed courses have the exact same crseId, and this value is used in decorated-requirements.json. This might require too big of a refactor, so as much as I dislike doing checks in requirement-frontend-computation.ts, maybe we could do it that way since PEs (often crosslisted with arts or ROTC) honestly seem to be the most common occurrence of this problem?