The scheduler incorporates results from time management studies as well as research on student learning patterns. It generates a "smart" schedule that contrasts with other applications by providing a personalized and optimized time distribution.
The structure of our application consists of a web-based user interface, built with HTML5, CSS, Javascript, and JQuery; and a server-side implementation, built with Java, JSP, and RESTful. Users that are logged into the system will be able to add and edit events that will then be used to create a calendar. Behind the scenes, we parse and divide the events into statically allocated and dynamically allocated events. Once a user is done adding his/her events the information is sent to our server to be processed. The scheduling process occurs on our server-side Java implementation where a priority queue assigns order of precedence to the events and assigns them to a self-balancing tree. Currently, the application is entering its pre-alpha stage and awaiting feedback. In conclusion, we believe Smart Scheduler will positively impact student performance.