Project Topics

Engineering Projects

Time Table Generator

Published on Jan 19, 2017


This project introduces a practical timetabling algorithm capable of taking care of both strong and weak constraints effectively, used in an automated timetabling system. So that each teacher and student can view their timetable once they are finalized for a given semester but they can‘t edit them. Timetable Generation System generates timetable for each class and teacher, in keeping with the availability calendar of teachers, availability and capacity of physical resources (such as classrooms, laboratories and computer room) and rules applicable at different classes, semesters, teachers and subjects level.

Even though most college administrative work has been computerized, the lecture timetable scheduling is still mostly done manually due to its inherent difficulties.

The manual lecture-timetable scheduling demands considerable time and efforts. The lecture-timetable scheduling is a Constraint satisfaction problem in which we find a solution that satisfies the given set of constraints. A college timetable is a temporal arrangement of a set of lectures and classrooms in which all given constraints are satisfied. Creating such timetables manually is complex and time-consuming process. By automating this process with computer assisted timetable generator can save a lot of precious time of administrators who are involved in creating and managing course timetables.


A schedule or a timetable, as a basic time-management tool, consists of a list of times at which possible tasks, events, or actions are intended to take place, or of a sequence of events in the chronological order in which such things are intended to take place. The process of creating a schedule - deciding how to order these tasks and how to commit resources between the varieties of possible tasks - is called scheduling, and a person responsible for making a particular schedule may be called a scheduler. Making and following schedules is an ancient human activity.

Some scenarios associate "this kind of planning" with learning "life skills". Schedules are necessary, or at least useful, in situations where individuals need to know what time they must be at a specific location to receive a specific service, and where people need to accomplish a set of goals within a set time period.Schedules can usefully span both short periods, such as a daily or weekly schedule, and long-term planning with respect to periods of several months or years. They are often made using a calendar, where the person making the schedule can note the dates and times at which various events are planned to occur. Schedules that do not set forth specific times for events to occur may instead list algorithmically an expected order in which events either can or must take place.In some situations, schedules can be uncertain, such as where the conduct of daily life relies on environmental factors outside of human control. People who are vacationing or otherwise seeking to reduce stress and achieve relaxation may intentionally avoid having a schedule for a certain period of time.

Project Management Scheduling

A schedule may also involve the completion of a project with which the public has no interaction public prior to its completion. In project management, a formal schedule will often be created as an initial step in carrying out a specific project, such as the construction of a building, development of a product, or launch of a program. Establishing a project management schedule involves listing milestones, activities, and deliverables with intended start and finish dates, of which the scheduling of employees may be an element. A production process schedule is used for the planning of the production or the operation, while a resource schedule aids in the logistical planning for sharing resources among several entities.


The Time Table Problem

During the time table generation process, numerous aspects have to be taken into consideration. Almost a week of work of an experienced person is needed to produce a timetable for even a moderately sized institution and the result is often not reasonable i.e. It does not meet all the requirements. What is more, when the preconditions change, the whole work becomes unusable, and has to be restarted from scratch. The informal definition of timetable can be stated as ―Timetabling is the allocation, subject to constraints, of given resources to objects being placed in space time, in such a way as to satisfy as nearly as possible a set of desirable objectives ―. These problems are subject to many constraints that are usually divided into two categories: "hard" and "soft‖.

Time Table Constraints

1) Hard constraints: -

Hard constraints have to be taken into consideration very strictly, because the timetables that violate just one of these are unusable. The finite ―resources‖ belong to this group. The constraint that one person cannot be in two places at once or that there is a maximum number of people that can be accommodated in a particular room.[Burke and Newall(2002)] Many systems designed to treat mainly the hard constraints have been proposed, some noteworthy of them are constraint based reasoning to timetable generation [Banks(1998)] , hybrid approach based on heuristic [Abdullah & Hamden (2008)],based on ordering heuristics [Rehman et al.] ,based on genetic algorithms [Colorni et al(1990)] etc.

2) Soft Constraints: -

The timetable that violates these constraints is still usable, but it is not convenient for either students or teachers, and it also makes more difficult to understand the lessons. The constraints under this category are teacher‘s soft availability, capability of teacher to handle two or more consecutive lessons, to name a few.


Testing is a process, which reveals errors in the program. It is the major quality measure employed during software development. During testing, the program is executed with a set of test cases and the output of the program for the test cases is evaluated to determine if the program is performing as it is expected to perform. The objectives of testing are: To see that when correct inputs are fed to the system the outputs are correct, to verify that the controls incorporated in the same system as intended. Testing is a process of executing a program with the intent of finding an error. A good test case is one that has a high probability of finding an as yet undiscovered error


XAMPP Installation Process

Time Table Generator

XAMPP is an easy to install Apache distribution containing MySQL, PHP and Perl. There are packages for Windows, Mac, and Linux. This article will walk you through the steps to install XAMPP on your computer. Note: These are the Windows installation instructions – see the Apache Friends website for the Mac and Linux installation instructions.

1. Download the installer file for the latest version of XAMPP, and save the file to your computer.

2. Next, you need to open the folder where you saved the file, and double-click the installer file. You will be prompted to select the language you wish to use in XAMPP. Click the arrow in the dropdown box, select your language in the list, then click OK to continue the installation process.

3. For Windows 7 users, you will see a window pop up, warning you about User Account Control (UAC) being active on your system. Click OK to continue the installation. Next you will see the Welcome To The XAMPP Setup Wizard screen. Click Next to continue the installation.

The Installation Complete screen will now appear. Click Finish to begin using XAMPP. After clicking Finish in the previous screen, you will be asked if you want to open the XAMPP Control Panel. Click Yes

Depending on your security settings, Windows 7 users will probably have a small window open, asking if you want to allowxampp-control.exe to make modifications to your computer. Click Yes to allow Apache or MySQL to start.


A Software requirements specification (SRS), is a complete description of the behavior of a system to be developed and may include a set of use cases that describe interactions the users will have with the software. In addition it also contains non-functional requirements. Non-functional requirements impose constraints on the design or implementation (such as performance, engineering requirements, quality standards, or design constraints). The software requirements specification document enlists all necessary requirements that are required for the project development.

To derive the requirements we need to have clear and thorough understanding of the products to be developed. This is prepared after detailed communications with the project team and customer. Role of SRS The purpose of the document is to collect and analyze all assorted ideas that have come up to define the system, its requirements with respect to consumers. Also, we shall predict and sort out how we hope this product will be used in order to gain a better understanding of the project, outline concepts that may be developed later, and document ideas that are being considered, but may be discarded as the product develops.


Separate timetable for the individual class, faculty and labs are generated automatically by this system. Various slot combinations can be acquired so that another timetable is generated as of need. The project reduces time consumption and he pain in framing the timetable manually.The project is developed in such a way that, no slot clashes occur providing features to tailor the timetable as of wish. Additional features that is included in the project is that faculty replacement is also made possible by listing out the available faculty who are eligible to be assigned as temporary faculty until a replacement faculty is assigned The future enhancement that can be developed from the project is to generate the master timetable for the departments and to the entire college. This enhancement can be achieved my making further modifications keeping the approach and techniques used for this project.


1. See Hojjat Adeli, Asim Karim, Construction Scheduling, Cost Optimization and Management (2003), p. 54.

2. Jump up to:a b c d Ofer Zwikael, John Smyrk, Project Management for the Creation of Organisational Value (2011), p. 196: "The process is called scheduling, the output from which is a timetable of some form".

Related Projects