Published on Sep 03, 2023
A college timetable is a temporal arrangement of a set of classes and classrooms in which all given constraints are satisfied. Timetabling has long been known to belong to the class of problems called NP hard. This project introduces a practical timetabling algorithm capable of taking care of both strong and weak constraints effectively, used in an automated timetabling system.
Rich Internet applications (RIA) are web applications that have the features and functionality of traditional desktop applications. RIAs typically transfer the processing necessary for the user interface to the web client but keep the bulk of the data (i.e., maintaining the state of the program, the data etc) back on the application server.
We have used the Google Web Toolkit, which is RIA framework, for the same purpose. Our project reduces the overhead on server of rendering client’s UI components and makes room for processing time of Timetable Generator Algorithm.
Our Timetabling Algorithm is main component of our project which produces the HTML based weekly timetable sheet as the output. Our project takes various inputs from the user such as Teacher List, Course List, Semester List, Room List, Day List and Timeslot as well as various rules, facts and constraints using web based forms, which are stored in XML based knowledge base.
This knowledge base serves as input to our Timetable Generator Algorithm residing on server machine. Both GWT Client Side UI code and our algorithm are written in JAVA, which makes our project platform independent. Further benefits of choosing these frameworks are explained in later part of report with practically acceptable results.
The algorithm which we have built totally uses our knowledge of theory subjects including programming methodology, data structure and designing and analysis of algorithms. The previous efforts which we have spent on learning these subjects at that time helped us during designing and building of our whole project, especially in our timetabling algorithm. After completion of testing of our timetable generator algorithm, we moved towards designing of Front End.
Our prime aim was to build the Rich Internet Application (RIA). Why we have chosen RIA architecture is explained in details in next section along with our survey for various RIA architectures. Once the survey was over we choose the Google’s Web Toolkit (GWT) for building RIA. This decision is taken during our Requirement and Analysis phase and details GWT is explained in that section
Rich Internet applications (RIA) are web applications that have the features and functionalities of traditional desktop applications. RIAs typically transfer the processing necessary for the user interface to the web client but keep the bulk of the data (i.e., maintaining the state of the program, the data etc) back on the application server.
RIAs typically:
• run in a web browser, or do not require software installation
• run locally in a secure environment called a sandbox