Professor Fodor from Stony Brook University has an office hour line that is like the largest priority queue in the world. We agreed upon the use of a greedy algorithm that would help scheduling, so we aim to make a web application to improve this problem.

What it does

It allows users to display their free time with a description. Other users can schedule to join a particular time interval. The user can view recommended schedule that maximized the number of visitor in the free time. The scheduler will group visitors by objective to calculate the weight of each interval, then use the greedy algorithm to maximize each weighted time interval.

How we built it

We used the most comfortable technology Java to build this. Slow(using Google App Engine), but reliable.

Challenges we ran into

We made some mistakes in decision. For example, we started with Python, but poor documentation and poor IDE support led to the use of Java. Another decision was to use Google App Engine's Datastore instead of trying the AWS MariaDB, because we are more familiar to SQL than Datastore.

Accomplishments that we're proud of

We actually deployed an app even with all those poor decisions. We just had trouble connecting the frontend and back-end.

What we learned

We learned the importance of decision, especially in a fast pace development. Switching technology in the mid-way really hurt.

What's next for Room Filler - Solution to Office Hour Madness

Potential improvements:

  • Better web page design.
  • Use AWS to improve speed.
  • Fix some situations where the same user keep scheduling to increase the weight of a certain topic.
  • Make the schedule interaction to be double clicking the table instead of doing form submission.

Built With

Share this project: