nusmodifications / nusmods

🏫 Official course planning platform for National University of Singapore.
https://nusmods.com
MIT License
588 stars 319 forks source link

Warn users who are planning modules with lecture clashes #1990

Open chrisjwelly opened 5 years ago

chrisjwelly commented 5 years ago

Is your feature request related to a problem? Please describe.

For most cases, students are not allowed to take two modules with clashing lecture slots by NUS. When they are planning, having this feature can help students realise that their lecture slots actually clash.

Describe the solution you'd like

Currently, NUSMods display a warning if two modules share the final exam timing clash. It would be nice to have something similar shown if two modules have clashes in lecture timing (especially if that slot is the only slot that both modules have)

Describe alternatives you've considered

It may visually help users realise that the slots clash if that particular slot is decolourised (using a special colour to bring attention to that particular slot)

Additional context

I'm not sure if NUS actually allows students to take modules with clashing lecture slots concurrently. Currently, a possible example is taking CS3243 and CS2107 in AY19/20 Sem 2: Both these modules only have 1 lecture slot and they clash.

And as described above, a possible decolourising of the slot may look something like this:

Another thing which can be of concern is that it may be visually very distracting in the early phase of planning (just when the modules are being added) to see all the warnings if this feature is implemented

ZhangYiJiang commented 5 years ago

Thanks for the suggestion. NUS does not allow students to choose modules with clashing lecture slots, and the system (at least CORS, not sure about ModReg) does check for this. Students could appeal though (Hermione Granger not excepting), and there are cases like GEH1053 where the film screening lecture session is optional. We can reuse the same algorithm used for module layout, but need to take note of week count.

There is the generalized version of checking whether all possible combination clash, ie. the module cannot be taken at all, instead of just checking if the current combination is invalid, which would be useful for the module finder pages, although there might be performance issues here for large modules like GER1000.

ZhangYiJiang commented 5 years ago

We don't have a lot of bandwidths right now, so this is not prioritized, but contributions are always welcome :)