nusmodifications / nusmodifications/nusmods
Timetable Optimiser: Addition of building name for each venue
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 689
- Forks
- 364
- Avg merge
- 7h 5m
- Merged PRs (30d)
- 14
Description
Addition of Building names to improve Timetable Optimiser
Context
The optimiser works by merging slots for a module(eg., CS1101S) and lesson type(eg., Tutorial) together if they are happening on the same exact day and time and BUILDING.
Problem
Currently, for timetable optimiser we are manually finding building name by taking the first few characters from the venue name before the first hyphen. eg., COM3-01-19 has COM3 as the building name. This works for most venue locations fortunately.
However, some venues like LT11, LT12, LT13 are all considered different buildings in this current model. This will unnecessarily increase the search space, thereby increasing runtime for the optimiser.
Solution
This can be solved by changing the timetable optimiser to look at the accurate building name for each venue. This is a piece of information that we do not have but can potentially crowd-source and add to https://github.nusmods.com/venues
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Review the timetable optimiser and the venue data at https://github.nusmods.com/venues to determine how accurate building names can be represented and consumed. Confirm the building mapping for venues such as LT11, LT12, and LT13, then verify that venues in the same building are merged without losing timetable correctness or increasing the optimiser's search space.
Written by the indexing model from the issue text.
Assessment
- Domain
- data, performance
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100