The Process Of Time Table Construction Computer Science Essay Example
The Process Of Time Table Construction Computer Science Essay Example

The Process Of Time Table Construction Computer Science Essay Example

Available Only on StudyHippo
  • Pages: 13 (3535 words)
  • Published: August 2, 2018
  • Type: Research Paper
View Entire Sample
Text preview

Designing a timetable for a specific university can be daunting because of the vast selection of courses and subjects available.

The main reason for the complexity in time-table scheduling is the possibility of deadlock caused by multiple constraints that must be met. Resolving this problem involves a considerable amount of logical thinking, which can be quite time-consuming. Moreover, accurately identifying and resolving inconsistencies can lead to serious consequences. Initially, time-table scheduling was done manually.

Automated exam time-table generation has emerged as a solution to the problems of troublesome, error-prone, and time-consuming manual scheduling. The flexibility offered to students in the selection of modules and courses at the University has improved, but it has complicated the task of creating a time-table. However, the development of software that can take into account all constraints and cross-faculty modules has been immensely helpful. Therefore, the scientific society has devoted significant attention to automat

...

ed time-table generation for the past four decades. Early approaches utilized operational methodologies such as network flow techniques, reduction to graph coloring, integer programming, direct heuristics, and more.

The latest technology incorporates advanced techniques such as expert systems, artificial intelligence, logic programming using languages like Prolog, constraint logic programming, and generic evolutionary algorithms. However, there is currently no universally accepted language for creating timetables. Several attempts have been made to develop one but remain unfinished. This software achieves a constraint satisfaction rate of 99%. Additionally, the user-friendly interface allows users to select cohorts and modules from drop-down menus instead of manually entering their names.

Constraint Satisfaction Definition

Originally introduced in the field of artificial intelligence, constraint satisfaction refers to...

This text discusses a problem-solving language and programming language that is utilized for solving

View entire sample
Join StudyHippo to see entire essay

specific problems with constraints. It involves assigning values to variables while adhering to certain conditions. The language is represented by variables (Xi) and constraints (Ci), where each constraint specifies a subset of variables and allowable combinations. Several significant constraints for this project include the following:

  • Students in different cohorts but studying the same module must have exams on the same day.
  • Exams for modules from the same cohort cannot be scheduled on the same day.
  • A soft constraint exists, stating that exams from the same cohort should not be held on the same day.

These constraints must be satisfied before implementing the software. The techniques employed to meet these constraints depend on their specific nature. Constraints with a finite domain can be resolved using search strategies such as backtracking or local search.

Constraint propagation is a technique used to solve or determine the solvability of problems. However, it can be incomplete at times. To simplify the process, these methods are combined with search strategies. There are numerous constraint programming libraries that can be utilized in this project. As we are developing on Java platform, Choco, an appropriate library that integrates easily with Java programming, operates as an event-based propagating system with backtrack structures. Further details about Choco will be covered in subsequent sections of the report.

Brute Force Technique

The brute force technique is a trial and error process that involves attempting all possible inputs to achieve a desired outcome. If an input produces the desired result, it is considered correct. The process continues with the next input until

the correct result is attained. An example of this technique can be seen in the knapsack problem, where weights are added to a bag in order to maximize profit.

The knapsack problem is about maximizing profit while minimizing weight. There are four materials available: gold, silver, platinum, and bronze. Each material has its own profit value (1000, 10, 2000, and 5) and weight (2, 3, 4, and 5). The thief wants to maximize profit with a bag that can only hold a capacity of 5. To achieve this goal, the thief employs the brute force technique.

Firstly, the thief fills the bag with gold (weight 2). Then they add silver (weight 3) until the bag reaches full capacity. This combination results in a profit of 1010.

Next, the thief tries a different combination by selecting platinum (weight 4). With only one slot remaining in the bag, they include a portion of gold (weight 1) to fill it completely. This combination yields a profit of
2500.

In order to yield the maximum profit, different combinations are tested. The objective of this project is to develop a software tool that can create exam timetables for universities or schools. The tool should be user-friendly and meet all the constraints involved in the manual process. The process involves analyzing the manual procedure currently followed in schools and universities and using that analysis to develop the software tool. All possible constraints that need to be fulfilled by the system should be identified and analyzed to aid in the development of the software. The use of constraint satisfaction tools like choco is essential to gain a better understanding of the process. The final product should

be easy for users to navigate. In the AUTOMATED EXAM TIME TABLE product, users will need to input the cohort and module names. To reduce the likelihood of incorrect typing, a dropdown list will be provided for users to select from instead of manually typing the names.The developed product must meet certain constraints, such as ensuring that two exams from the same year and semester are not scheduled on the same day. Additionally, every student should have their exams scheduled on alternate days. Our product aims to satisfy all major constraints of this kind. The motivation behind this is that a lot of people are interested in playing chess.

By playing chess, we enhance our ability to concentrate. We have a concept of developing a code to facilitate playing chess. In this game, one player is automated, while the other player controls their moves manually. To ensure the game adheres to specific rules, like the elephant only making straight moves and the soldier only moving one step forward, we must design our code accordingl. Our program serves as a substitute for when a player's partner is unavailable. This player can utilize a graphical user interface to select their moves against another player who uses our code.

The use of artificial intelligence has inspired the creation of automated examination time tabling software with various features such as preventing overlapping for the same student, notifying changes in the exam schedule, allowing data saving and access, proper allocation of examination halls and staff, and providing a platform for students to raise concerns about exams. Users also have the flexibility to add relevant modules to the software. The key technique used

is Java programming language which offers features like multithreading, platform independence, simplicity, robustness, object-oriented design, portability, and high performance levels.

The Java programming language is well-known for its simplicity and ease of comprehension. It also excels in managing exceptions. Important aspects of Java programming include database connectivity, GUI, and IO packages.

Choco: Constraint Satisfaction Programming Using Java

Choco is a Java library focused on constraint satisfaction primarily. It utilizes events and backtracking capabilities.

Constraint satisfaction programming is a versatile tool that can be applied to various tasks, including teaching and researching. With this approach, we can create a flawless exam time table.

Utilizing Oracle Database for Organizing and Retrieving Data

In essence, a database consists of entities, while data refers to a set of comparable raw information.

The data representation is accomplished using views or tables, with a view acting as a replica of a table. Oracle database is primarily used for storing and retrieving data. This means that the data is saved in a specific location and can be easily accessed later if necessary. These three fundamental techniques are vital in creating an exam timetable at a university because they facilitate accurate and efficient timetable development.

System Requirements

The system requirements for developing an exam timetable include both software and hardware.

Software Requirements

The selection of the operating system is crucial as it can affect many aspects. For developing an exam timetable, the most suitable operating system is WINDOWS XP. Additionally, Oracle 10g relational database management system is also necessary.

For developing the JAVA code, the most suitable software requirement is My

Eclipse Tool. The preferred version for constraint satisfaction programming is CHOCO 2.1.0. These are the minimum and most important software requirements for developing an exam time table.

Hardware Requirements

The required processor is Pentium 111 with 800MHz. In order to have Oracle database 10g and the Java code developing tool running at the same time, 1GB RAM is required.

System Analysis

Existing System

The minimum hardware requirement for developing an exam time table is a 20GB HDD. These are the most crucial hardware requirements.
Initially, the university employed basic methods and algorithms to manage timetables. A team of individuals negotiated and determined the timetable. Each student's schedule had to be created individually before finalizing the overall schedule.

The Timetable must be sent by the Examination department of the institution to all university departments and affiliated colleges at least 45 days beforehand, but there are some problems with its preparation. Each department's students will have subjects related to their courses, although certain branches may share common subjects.

The timetable designer must have a clear understanding of the examination date and time. It is important to schedule the same subject for different departments on the same day and time. This eliminates the need to create different sets of question papers and ensures comparable complexity. Some departments may complete a subject earlier, while certain students may have failed that subject. Failed students are given an opportunity to take supplementary examinations in the following semester.

It is important to have a flexible timetable adjustment to ensure that no student misses any exams. There may be situations where the regular

examination for the current semester and the supplementary examination for the previous semester coincide in both date and time. For regular students, there should be at least one day gap between exams for proper preparation time. Additionally, when scheduling exams, it is necessary to consider the availability of invigilators. Staff members who do not have any class commitments at that time should be utilized, and a specific schedule should be prepared for each staff member.

The initial exam is based on the subject selected by the majority of students. This is because if the subject chosen by most students is scheduled last, there would be complications in verifying answer scripts. Hence, addressing all these problems becomes difficult and it requires the timetable designer to be mindful of them. Overcoming all these challenges may take several months for an individual.

Proposed System

The proposed system for managing timetables is an important solution for the mentioned issues. It plays a key role in reducing potential risks associated with the process. By inputting constraints, the schedule takes these into account when being generated. The software provides flexibility for users to enter start and end dates of exams. Furthermore, the database includes students' names and departments, which can be accessed as required.

The examination result is automatically stored in the database for the next semester’s timetable preparation. The proposed system is significantly faster and more efficient.

Discussion on Software Tools

Constraint Satisfaction

Our project has numerous constraints that need to be imposed and satisfied. "CONSTRAINT SATISFACTION" refers to the process of finding a solution to a set of constraints that impose conditions for variable satisfaction. In simpler terms, a solution

is a set of variables that satisfy all constraints. This can also be defined as the outcome of constraint satisfaction.

A CONSTRAINT SATISFACTION PROBLEM(CSP) is determined by a set of variables with specific domains and constraints involving sets of variables.

The variables in a Constraint Satisfaction Problem (CSP) are restricted by constraints that determine the values they can have. A CSP performs two tasks simultaneously: finding a solution and assigning values to each defined variable. Depending on the objective function involving the variables, one may aim to find a single solution, all possible solutions, or an optimal solution. A general constraint problem includes a set of variables (A), a finite domain set for each variable (D), and a set of constraints (C) that limit the possible values of the variables.

To solve these constraints, a constraint satisfaction tool is required, which can be integrated with programming languages such as C, C++, JAVA, etc. This tool essentially functions as a constraint satisfaction library.

In our project, we utilize Choco - one of the available Java libraries for constraint satisfaction. Choco is recognized for its event-based propagation mechanism and backtracking structures that enhance its effectiveness.

This text discusses the differences between modeling and solving a problem using Choco, an open source software implemented in Java. Choco is widely used for constraint programming and constraint satisfaction.

The general features of Choco are as follows:
- Choco provides a problem modeler that can handle various variable types, including integer variables, real variables that hold an interval of floats, and expressions using variables with operators like +, -, /, *.
- Choco's modeler supports 70 constraints, including arithmetical constraints (integers or real) such as equal, not equal,

greater or equal, less or equal, and refined constraints (Boolean operations between constraints).
- It can also verify relations for a set of variables by defining sets of tuples in table constraints.

Choco also provides a Constraint Programming Solver, which offers different implementations for various domains (enumerated, bounded, integer variables) and utilizes several algorithms for constraint propagation (parameterized cumulative, full and bound all different, state-of-the-art AC algorithms for table constraints).

Choco's design emphasizes clear separation between modeling and solving. The modeling phase involves expressing the problem and defining variables and relations.The text below describes the verification process for variable constraints and how the API helps to make problem statements user friendly. In the solving phase, Constraint Programming is used along with specific memory management and tree-based search. For this tool, the choco constraint java library is utilized.

By incorporating the choco java library into our java programming, we have developed the necessary exam timetabling tool.

  • Java offers several advantages that enhance security and provide numerous benefits:
  • Java is designed to simplify coding and debugging processes, utilizing automatic memory allocation and garbage collection concepts.
  • As an object-oriented programming language, Java allows for seamless collaboration among objects, making code reusable.
  • Java is capable of running on various platforms, making it platform independent.

Our project prioritizes security, and Java effectively enhances today's web with its reliable security capabilities. Hence, we utilize Java programming for our project.

But we require an Integrated Development Environment (IDE) for Java application development. Numerous IDEs are accessible. For this project, "EXAM

TIMETABLING with CONSTRAINT SATISFACTION," we utilize the MyEclipse IDE.

MyEclipse IDE

MyEclipse is a commercially available Java EE and AJAX IDE.

GENUITEC is responsible for creating and maintaining this platform, which is based on eclipse. It combines both proprietary and open solutions within the development environment. MyEclipse utilizes open standard technologies to offer a development environment for J2EE, XML, UML, and databases.

MyEclipse is an open source IDE that allows you to add external jars. It helps you save valuable time in the debugging environment as it makes editing and debugging easier. MyEclipse offers two versions - a professional edition and a standard edition.

The standard edition enhances the basic Eclipse Java Developer version with various tools and additional features.

System Design

The development process for the University's Automated Exam Timetabling tool utilizes Choco 2.1.0, which is implemented using Java Programming. The various tasks involved in developing this application are:

  • Designing Graphical User Interface (GUI)
  • Data Calculations
  • Timetable
  • Choco tool for Constraint Satisfaction

Step 1: Designing Graphical User Interface (GUI)

This step solely focuses on creating the Graphical User Interface, which includes buttons, tables, dropdown lists, and other controls arranged in a proper order for display.

Look and feel will be implemented in this process.

Step 2: Data Calculations

Data Calculations part consists of code which results the final output for the Schedule of Exam Timetable. Here we implement the code with logic that works like selection of exams to be held in alternative days. Here we consider all exams of particular course and prepares a logic for Exam Timetable that includes Supplementary and Regular Exams.

Step 3: Timetable

Timetable process involves in the creation of a schedule that sets the examinations are allocated into venues with limited capacities within an examination

period.

This includes the following methods. We cannot schedule a session where one student cannot take two examinations in the same session. The venue’s capacity should not exceed the total number of candidates writing the exam in a schedule.

Step 4: ChocoSolver

ChocoSolver is a java library for constraint programming and constraint satisfaction. Choco will define all the variables of time tabling problem that include the

  • Constraint Definitions
  • Candidate Information
  • Venue Information
  • Examination information
  • Exam Session particulars.

User has to enter constraints and changes to the exams related to the particular exam or venue.

Defining the Constraints: This program will enable users to define all necessary constraints for exams, including separate durations for each examination. It also ensures that the examination time and venue for a particular batch are assigned to a specific date.

Venue Partitioning: This process takes into account the number of faculties and venues available.

Invigilators are assigned to specific venues for examinations. A user interface is available for organizing and managing the partitions of venues for different faculties. When partitioning a venue, the Choco Solver takes into account the following points: the number of students in a venue should not exceed its capacity, a sufficient number of invigilators should be allocated to each examination hall, and invigilators should be provided with an attendance sheet to verify whether a candidate has attended or not.

Problems Identified and Proposed Solutions

The task of scheduling an exam time table is arduous and time-consuming due

to numerous constraints that must be met. For instance, there must be a minimum of one day gap between two exams to allow students time for revision. Moreover, exams on the same day should not clash with each other. Additionally, this project addresses the challenges of room allocation, staff allocation, and invigilator allocation. By solving these problems, the project saves a substantial amount of time and enables a more user-friendly scheduling of the exam time table.

Proposed System

Within this project, users have the flexibility to include any module in any cohort by utilizing dropdown menus.

In this application, users have the opportunity to select the starting date of examinations. There may be times when multiple cohorts share the same module. In these instances, we will create a new timetable for the module on the same day to save time and reduce the number of invigilators needed. Additionally, some students may have supplementary exams.

The supplementary exam and regular exam should not occur on the same day or consecutive days. A separate schedule is created for the supplementary exams, or they should be held with the next intake students. This application enables the user to add modules to a cohort using drop-down menus. The user can also modify the selected modules list.

The examination time table is created based on the date, schedule, and cohort selected by the user. By providing a drop-down list for options, the occurrence of problems resulting from typing mistakes can be reduced. The development and deployment of the application involve the following steps: first, formulating a data interpretation scheme that can address all the problem requirements and converting

all available data to this scheme. The next step is developing a scheduling algorithm for exam scheduling. The application should also easily accommodate numerous last minute changes throughout its development and deployment process.

Application Uses: The benefits of Automated Exam Timetabling include the ability to save time by reusing previous exam databases for future exams, as well as the ability to produce conflict-free schedules if constraints are correctly specified. Additionally, the application allows for the quick scheduling of exam timetables.

We have the ability to make last-minute changes quickly. by shortening the exam period, we can reduce expenses related to conducting exams, such as buildings and staff. The application benefits from its three-tier architecture design. In conclusion, the Automated Exam Timetabling software is used to schedule the university exam timetable, reducing the time and complexity associated with manually creating the timetable.

This document explains the complexity of scheduling exams in terms of both space and time. The developed application is user-friendly and provides a graphical interface for accessing and inputting information. Automated Exam Timetabling includes all the necessary features for creating an exam schedule. Implementing this software at various universities can save both time and money. Additionally, Automated Exam Timetabling has potential future uses, such as scheduling university class timetables and school timetables. Specifically, this application is designed for scheduling weekly class timetables at higher schools.

University Timetabling: The purpose of this application is to schedule lectures for students in various university modules in order to prevent double booking for both students and lecturers.

Get an explanation on any task
Get unstuck with the help of our AI assistant in seconds
New