We apply for Best Freshmen Hack.


Students are usually quite busy at the beginning of each semester. It's tedious for them to plan and arrange classes manually. Sometimes, it results in back-to-back classes and overloading one day, especially the chosen classes have a lot of options available.

What it does

Students just need to type in which modules they want to enroll in. They are allowed to put their personal perferences as well. The system will then parse information from NUSMods API and generate the top 5 optimal schedules based on advanced heuristic function and pruning which minimizes back-to-back classes and overloading. It can then generate the visualization of the schedule by using NUSMods.

Challenges we ran into

  1. Visualization and UI
  2. Hard to deal with modules properties
  3. Find an efficient algorithm to find the optimum solution

Accomplishments that we're proud of

  1. Visualize the schedule on NUSMods
  2. Generate a much better schedule than us (tested with our own modules)
  3. Enable students to indicate their personal preference

What we learned

  1. Be considerable and think carefully before programming
  2. Collaborative coding using GitHub

What's next for BR-SmartMods

  1. Build a nicer UI for the system
  2. Add more options for personal preference
  3. Make it accessible from all kinds of devices
  4. Recommended tutorial group balloting rank
  5. Take venues into consideration
  6. Help faculties in module preallocation

Built With

Share this project: