Open mastwood opened 5 years ago
Hey @mastwood, thanks for the detailed explanation! I haven't yet implemented the "Notes" section of the majors, but I'll prioritize Mathematical Physics when I get to it.
Cross-listings also have not been implemented yet. I'll create an issue for that.
Regarding the edge case, that is definitely a solution. However, since this edge case is pretty rare, I probably won't get around to it anytime soon.
The mathematical physics course calendar provides some options for customizing your schedule which are not taken into account on the "view majors" tab.
For example: I'm in mathematical physics. I opted to take BIOL130 instead of CHEM123 in my second term, since I already had BIOL130L credit from IB. On my "view major" tab, it tells me that I still need to take CHEM123. In addition: the option to take BIOL/EARTH courses instead of CHEM courses is not taken into account on the website at all yet.
As well, one can take PMATH352 instead of AMATH332, AMATH271 instead of PHYS263, or AMATH251 instead of AMATH250. There are more extreme examples which can arise from antirequisites (either due to custom scheduling or program changes).
I see that watsmymajor allows you to set up alternate courses in some cases. For example: PMATH334/AMATH373 is already considered one course. I think this is a great start as it can take care of many of the examples listed above.
For the CHEM123/BIOL130 option it would be ideal to have a "choose two of" option for the lectures, and "choose one of EARTH121L/BIOL130L/CHEM120L" for the labs.
Here's an interesting edge case with another possible solution: Let's say someone comes to university with a substantial background in pure mathematics. They override into PMATH451 in their 1A term, thereby bypassing all calculus requirements for their program in addition to many others. In this case, all courses on the prerequisite chain should be ticked off. But what if they only learned the proofs, and want to learn how to do the computations? Then they might want to take MATH138 anyways.
For this reason, I suggest that all requirements which have been filled out by override (eg; the student puts PMATH451 in their 1A term on the "my courses" tab) be ticked off by a yellow checkmark rather than a green checkmark, while requirements filled out by antirequisite remain ticked off by a green checkmark.