Chapter 5 System Design
5.6 Algorithmic Design for the Timetable
The algorithm tries to assign lessons to periods and a teacher to a particular class at a given time while satisfying a set of constraints in order to produce a feasible timetable. Table 5.1 below shows the number of lessons for each subject per week to be distributed in the time slots of the school days. There are five school days starting from Monday to Friday and in each of these days there are seven periods for each class.
Table 5.1 Number of lessons for each subject
Subjects No. of lessons per week
Amharic 3
A class of students is given a room which is fixed for the class throughout the academic year. To each class, a subject teacher is assigned for each of the ten subjects
Let C = {c1, c2,…, cm}, S = {s1, s2, …, s10} and T = {t1, t2, …, tn} be the set of all classes, subjects and teachers respectively. A teacher teaches only one type of subject from the ten subjects while a subject can be taught by many teachers. Table 5.2 illustrates some examples of assignment of teachers to subjects and classes.
Table 5.2 An example of the relationship among classes, subjects and teachers
Class Subject Teacher
c1 s1 t1
The subject-teacher code sjtk uniquely identifies the subject teacher assigned to the class. For example sjtk could be E5, to identify an English teacher or it could be M3, to identify a Mathematics teacher and so on.
Assigning a teacher to more than one class at the same period leads to violation of one of the hard constraints and hence the timetable will not be feasible. Table 5.3 shows an example of time slot assignment to a lesson.
Table 5.3 An example of time slot assignment
The maximum and minimum loads assigned to a teacher are 30 and 6 periods respectively. The Teacher and TeacherCode tables in the database design as shown in Figure 5.6 contain the
following fields to help scheduling:
Teacher’s Name
Subject Code that the teacher teaches
Grade level (Grade 9 or Grade 10)
Class
Teacher’s code
The database consists of other additional tables containing important scheduling information.
The timetabler selects a teacher from the teachers table and reads the subject that the teacher teaches, number of lessons of the subject, and all the classes which have been assigned to the teacher. The load of the teacher is calculated which can not be greater than the maximum load.
The system parses the Teacher table row by row until all the teachers are visited or to the end of the rows.
Taking a subject-teacher code of the teacher retrieved, the system selects one of the days (Monday, Tuesday, …, Friday) randomly based on the number of lessons of the subject per week, searches a free slot on the selected day for each class assigned to the teacher, checks if the teacher has been assigned to another class in the same period. If appropriate free slot has been found then
the lesson is assigned to the slot. If appropriate slot has not been found then moving previously assigned lesson to a free slot or swapping two or more lessons has been done. If all the slots in the selected day are filled and swapping couldn’t solve the problem, another day is selected. The process continues until the load of the teacher becomes zero. The algorithmic design of the timetable is shown in Algorithm 5.1.
Algorithm 5.1
Loop until all the teachers in the database are visited Select a teacher from the Teacher table
Retrieve the Subject-Teacher code, Grade-Level, Number of lessons of the subject and all the classes assigned to the teacher
If appropriate slot is not found swap previously assigned classes Assign lesson to the slot
Chapter 6 Implementation
In this chapter, the tools used in developing the prototype and the developed system are described.
6.1 Programming Tool
The system has two different applications using the same database. These are the Windows application which is sometimes known as thick-client application and Web application which is known as thin-client application. The Windows application is developed using C#, which is one of the development languages in .NET and is object oriented. The Web application is developed using Active Server Pages (ASP .NET 2.0).
6.2 The SMS Prototype
Here, the implemented system is described. How the user interacts with the system and some of the results of interaction with the system along with the screen shots are described.
When a user starts the application, a login screen is displayed as shown in Figure 6.1 to authenticate the user. If the user has typed the correct user id and password to the login screen, the system displays a splash screen for 3 seconds as shown in Figure 6.2 and then a window containing the main menus of the system as shown in Figure 6.3. The main window displays menus and sub menus based on the role of the user that has logged in.
Figure 6.1 Login Screen
Figure 6.2 Splash Screen
Figure 6.3 Main Menu
The roles for the Windows application are Record Officer, System Administrator and Principal. If the record officer has logged in then the main window displays menus and sub menus to register student along with parental information as shown in Figure 6.4. The system also displays menus and sub menus to record marks, generate report cards and Transcripts.
Figure 6.4 Screen shot of student registration form
After the student has been registered, the system facilitates to register the student’s parent and emergency persons by providing another window as shown in figure 6.5. Note that parental and emergency person information is highly required by the school for handling the student in his/her stay at the school, for example in the case of taking disciplinary measures for the case that the student has committed some crimes. So such information as the name, address of the parent or emergency person can be easily retrieved.
Figure 6.5 Parental and Emergency Person Data Entry and Retrieval Form
The other role of the record officer is to record marks and generate transcript and report cards.
These are routine tasks which take much of the times of the user, but once the marks are recorded the tasks are simplified. When the user wants to generate report cards or transcripts, he/she selects the corresponding sub menu from the “Reports” menu and a form is displayed to facilitate generation of the reports. A screen shot of a report card is shown in Figure 6.6 and the transcript report has a similar format.
Figure 6.6 Screen shot of Report Card
If the user has logged in as a principal to produce timetable then a form as shown in Figure 6.7 is displayed. When the user clicks on “Generate Timetable” button the scheduler selects a subject-teacher from the database, retrieves all the classes assigned to the subject-teacher, calculates the load of the teacher which cannot be greater than the maximum load and selects one of the days randomly based on the number of lessons of the subject, searches a free appropriate time slot and assigns the slot to the lesson. The scheduler repeats the process until the load of the teacher becomes zero and all the teachers in the database are visited.
The system produces a feasible timetable satisfying the constraints as shown in Figure 6.7. Due to screen size we have limited the table to be displayed for print into a page per class/section as shown in figure 6.8 which could be given to each class. The system also facilitates a timetable to be generated and printed for each teacher as shown in figure 6.9.
Figure 6.7 Screen shot that shows automatic generation of the timetable
Figure 6.8 Timetable for class/section 10-2 Students.
Figure 6.9 Timetable for a teacher (an Amharic teacher Code AM1).
The web application is deployed on the central server in the schools intranet and the clients in the intranet with any browser can access the (home page) school’s site. The user logs in by providing his/her user Id and password and then the system displays information based on the role of the logged in user. The roles are homeroom teacher to record attendance, parent and officials to see the status of students and view reports. When the homeroom teacher logged in to record attendance the form shown in figure 6.10 is displayed. This helps the teacher to record absentees and to view the number of dates that a student has been absent. When a student logged in to view his/her status or parent logged in to view the status of his/her child the form shown in figure 6.11 is displayed.
Figure 6.10 Screen shot of attendance recording page
Figure 6.11 Screen shot showing the page displayed for a parent
Chapter 7
Conclusion and Recommendations
7.1 Conclusion
In this project, we developed an automated school management system that facilitates the various activities taking place at schools.
The system developed in the project consists of windows and web applications. These are two different applications on the same database. The windows application takes most of the activities such as offline student registering, transcript and report card generation and producing the timetable. The web application facilitates attendance recording by the homeroom teachers and to view reports, to view status of students by students, teachers and parents.
Our solution of the timetabling problem is very simple. Data structures are used to implement the timetable designed. The scheduler selects a subject-teacher from the database, retrieves all the classes assigned to the teacher, calculates the load of the teacher which cannot be greater than the maximum load and selects one of the days randomly based on the number of lessons of the subject, searches a free appropriate time slot and assigns the slot to the lesson. The scheduler repeats the process until the load of the teacher becomes zero and all the teachers in the database are visited. Finally the result generated is stored in a database.
The prototype has been tested with data from Kokebe Tsebah Secondary School. It has been shown that the system effectively registers students along with parental information, easily retrieves information about a student and generates the required reports such as transcript, report card and timetable. In addition to generating a feasible master timetable it produces a timetable for each teacher. Further more it has been shown that the web application of the system helps attendance recording by the homeroom teacher and parents can view the status of their children using the Internet or Intranet of the school.
7.2 Recommendations
To enhance the efficiency of the system, in the following we have listed some recommendations and future works.
As education is central to development there should be a good facility to make stakeholders participate in school improvement programs and decision making. Parents and Education Bureaus from Kebele and Kifle-ketema are among the stake holders. To facilitate easy information access to such bodies the web application could be further enhanced by incorporating additional reports required by Kebele and Kifle-ketema Education Bureaus. Such facilities will increase participants in decision making at educational activities and students achievement.
We also believe that timetables should be flexible. In real world situations there are preferences.
A restriction of the sort that every teacher should have some specific free periods or some part of days off requires an efficient search technique. Efficiency of the timetable could be further enhanced by improving the search technique so that such constraints as preferences could be taken into consideration.
References
[1]. E. Burke and W. Erben. Practice and Theory of Automated Timetabling, Third International Conference, Germany, Springer Private Limited, August 2000
[2]. J. G. Hedberg et. al. (1992). Educational information systems: Problems of the small educational organisation. Australian Journal of Educational Technology, 8(2), 132-160.
http://www.ascilite.org.au/ajet/ajet8/hedberg.html
[3]. M. Marte. Models and Algorithms for School Timetabling, A Constraint-Programming Approach, Ph.D dissertation, an der Fakult¨at f¨ur Mathematik, Informatik und Statistik der Ludwig-Maximilians-Universit ¨at M¨unchen, July, 2002
[4] R.J. Willemen. School Timetable Construction: Algorithms and Complexity, Thesis, Faculty of Mathematics and Computer Science, Technische Universiteit Eindhoven, 2002.
[5]. S. Petrovic and E. Burke. University Timetabling, School of Computer Science and Information Technology, University of Nottingham, 2002, pp. 1-4
[6] T. Willis and B. Newsome. Beginning Visual Basic 2005, Wiley Publishing, Inc., 2006.