frizensami / nus-timetable-optimizer

Codebase for the NUS Timetable Optimizer, a tool to help students at the National University of Singapore optimize their timetables to their liking.
https://nus-optimizer.com
MIT License
19 stars 4 forks source link

[FEATREQ] Add a toggle to ignore lectures when considering free days #36

Open frizensami opened 3 years ago

frizensami commented 3 years ago

Is your feature request related to a problem? Please describe. Some people consider days with lectures "Free days" since they can be webcast, or they'll just read the notes. That makes the current free days algo too restrictive.

Describe the solution you'd like Add toggle that ignores anything coded with LEC (actually, idk if it's just LEC, so this might become very complicated!) from the free day calculation

vegetablestabber commented 1 month ago

Hi there, Sriram!

  1. Do you think you could also include lectures with venues such as 'E-learning'? Or if venue is an issue, I can imagine a toggle for lectures named 'Optional to be in-person', which is toggled off by default.
  2. Your free days filter is great, but maybe another constraint could be 'Optional in-person classes to be ignored for free days' so users have the option to toggle it on and off. Maybe it doesn't have to be a full-on constraint, so it can be another toggle like the 'Make the timetable as compact as possible...' toggle? Not sure if that's a constraint because of how it looks visually from the other constraints.

Also, I really find this app really helpful in course planning, so thanks for this god-tier project. 🫡

frizensami commented 1 month ago

Hey, good point! When I did this I hadn't considered E-lectures. Could you give me an example timetable (e.g., some modules with E-learning that might conflict with other slots) that I can test with?

Also i'm glad to hear you're using it!

frizensami commented 1 month ago

I guess also I should just enable the toggle so that even if the lecture is marked as physical, that you can choose to webcast it etc

frizensami commented 1 month ago

Also, I'm going to be busy for the next few weeks with my thesis, so if you have a chance to submit a PR, that's also very welcome. If not i'll be making it a high priority fix :)

vegetablestabber commented 1 month ago

Hey, good point! When I did this I hadn't considered E-lectures. Could you give me an example timetable (e.g., some modules with E-learning that might conflict with other slots) that I can test with?

Here's an example. I'm not following this timetable but I hope it suits your purposes.

Also, I'm going to be busy for the next few weeks with my thesis, so if you have a chance to submit a PR, that's also very welcome. If not i'll be making it a high priority fix :)

I'd love to contribute but I'm not sure I can at this juncture because I'm wrapping up my internship and I have other responsibilities at school. I'll definitely look through when I get the time though, thanks!

frizensami commented 1 month ago

Here's an example. I'm not following this timetable but I hope it suits your purposes.

Thank you! I'll give it a shot once i have some time. Again, glad that this was helpful in some way.