You are on page 1of 109

COLLEGE OF ENGINEERING

AUTOSCHED: AUTO-GENERATE CLASS SCHEDULING SYSTEM


BASED ON EXPERT SYSTEM

A Design Project Presented to the Faculty of the


College of Engineering
Pamantasan ng Cabuyao

In Partial Fulfillment of the Requirements for the Degree


Bachelor of Science in Computer Engineering

By:

Cimacio, Carlo Bisa


Delos Reyes, John Non
Rejano, John Kenneth Batistil
Sorreda, Meldric Baña

June 2023
COLLEGE OF ENGINEERING ii

TABLE OF CONTENTS

Preliminaries

Title Page ……………………… i


Table of Contents ……………………… ii
List of Tables ……………………… iii
List of Figures ……………………… iv

Chapter 1 INTRODUCTION
Introduction ………………………. 1
Background of the Study ………………………. 3
Statement of the Problem ………………………. 4
Conceptual Framework ………………………. 5
Assumptions ………………………. 7
Significance of the Study ………………………. 9
Scope and Limitations ………………………. 10
Definition of Terms ………………………. 15

Chapter 2 REVIEW OF LITERATURE AND STUDIES


Conceptual Literature ………………………. 18
Research Literature ………………………. 30
Relevance to the Present Study ………………………. 50

Chapter 3 RESEARCH METHODOLOGY


Project/Research Design ………………………. 51
Project Development ………………………. 52
Operation/Testing Procedure ………………………. 88
Evaluation Procedure ………………………. 93
Evaluation Criteria ………………………. 94
Instruments and Techniques Used ………………………. 97
COLLEGE OF ENGINEERING iii

LIST OF TABLES

Table Number Title Page


1 System Constraints 11
2 Algorithms used by Several Studies 38
3 Possible Output Combination 78
4 Five Categories used for Testing Procedure 88
5 Experimental Default Parameters 89
6 Comparison of Default and New Parameter 90
7 Evaluation Criteria for Software Material 94
COLLEGE OF ENGINEERING iv

LIST OF FIGURES

Figure Number Title Page


1 Conceptual Framework of the Study 6
2 Genetic Algorithm Crossover 44
3 Before and After of Genetic Algorithm 45
4 Genetic Algorithm Flowchart 47
5 Agile Software Development Life Cycle 53
6 In-depth Diagram of Development Phase 57
7 System Architecture Diagram 58
8 Use Case Diagram for Autosched 53
9 Contextual Diagram of the System 63
10 Data Flow Diagram of the System 64
11 Initial Design for the Web Application 66
12 Bootstrap 5 Guide on Grids and Columns 68
13 Bootstrap 5 Guide on Card and Accordion 68
14 Sample Icons from Font Awesome 69
15 UI Color Reference on Tailwind CSS 70
16 Django Code Flow 71
17 Genetic Algorithm Flowchart 74
18 Genetic Algorithm in Class Scheduling 75
19 Sample Randomly Selected Parent 1 & 2 77
20 Crossover Operator 79
21 Random Mutation 80
22 Django Admin Dashboard 81
23 User Login Page 83
24 Django Integrated Admin Login Page 84
25 User Home Page Interface 85
26 Lists and Forms 85
27 About Us Page 86
28 Test Procedure Results Documentation 92
COLLEGE OF ENGINEERING

Chapter 1

INTRODUCTION

Class schedule is one of the crucial tasks for every university and academic

institution. Class scheduling determines the distribution of courses, teachers,

classrooms, and time slots that will be followed by the institution for the entire

semester. Aside from being time-consuming, the traditional way of class scheduling is

difficult and error-prone. Thus, making multiple inefficient outputs consumes more

time for revision. As a result, this problem requires an efficient and automated system

that can produce a schedule that caters the conditions and constraints that the

institution considers. The traditional method of class scheduling involves the use of

software and paper-based forms like spreadsheet and manual data entry and

manipulation. With the advancement in technology today, sticking to the traditional

way of class scheduling is not a practical choice anymore. Considering the constraints

and conditions that every institution has, this likely led the institutions to seek

advancements that will ease their workload.

Advancements such as the expert system have been proposed to be the

solution for automatic generation of class schedules. Expert systems are computer

programs that can simulate the decision-making process of human experts in a


COLLEGE OF ENGINEERING 2
particular domain. [1] They use knowledge-based rules and algorithms to generate

optimal solutions while considering various constraints set by the user. Expert systems

have been widely used in various fields such as medicine, finance, and engineering.

[2]

Expert system has been utilized in many ways including integration of it to

schedule processing and automatic generation. [3] The approach that has been

utilized also varies from rule-based, constraint-based, genetic algorithm, and neural

network-based methods. This following approach shows promising results in

generating high-accuracy schedules while considering various constraints and

preferences. However, there is still a need for further research and expansion to

improve the performance and efficiency of these systems.

In this study, we aim to utilize an expert system to create an automatic

scheduler on a hard and soft constraint approach. The proposed scheduler will

consider constraints and conditions such as course requirements, teaching loads,

classroom and instructor’s availability, as well as interval of vacant time of students

especially those who are irregular. We will evaluate the system by comparing it to the

traditional way that the university is using. The results of this study will contribute to

the improvement of an effective scheduling system that will improve the quality and

workload of institutions when it comes to planning and conceptualization of academic

schedules.
COLLEGE OF ENGINEERING 3

Background of the Study

Numerous educational institutions offer multiple programs for their students.

The generation of class schedules among educational institutions are currently

performed in a conventional manner. Traditional scheduling methods are time-

consuming and error prone, leading to inefficiencies and decreased productivity. This

study focused on maximizing rooms and facilities utilization, this intended to output an

auto-generated proper class schedule based on an expert system. The Pamantasan

ng Cabuyao (University of Cabuyao) Computer Engineering Department is the pilot

research area for the study. The research study respondent is Engr. Aldrin Soriano

wherein, he is currently the Department Chairperson of the Computer Engineering

Department. He is responsible for handling the class schedule for Computer

Engineering students. The Department Chair acknowledged the Commission on

Higher Education Memorandum Order (CMO) in implementation of class schedules

due to time conditions for students.

Furthermore, he stated that he encountered several problems in the course of

implementing class schedules for the school semester, these are: room conflicts, part

time professor availability, number of teachers available to teach the course, and

student time vacancy. The use of computer office software tools as an aid in
COLLEGE OF ENGINEERING 4
generating class schedules is presently utilized. There is no other alternative

automatic system available in Pinnacle Learning Management System (LMS). As per

Mr. Luigi Kim Flora, the present Director of PNC-MISD, there is no algorithm in the

scheduling system in Pinnacle LMS because it is not automated. The issue of

automated class scheduling has grown more important as university administration

systems based on computers and information systems have improved. This study

intended to provide an automatic class scheduling based on an expert system, also

to reduce the amount of time and effort required to create a class schedule and ensure

the optimized use of class schedule for the institution’s needs.

Statement of the Problem

The main objective of this study is to develop an AI that automatically generates

teaching and class schedules based on the data of the user. Moreover, the following

questions were addressed in this study:

1. How does the proposed system generate automated schedules based on expert

system techniques?

2. How does the expert systems algorithm perform to optimize the scheduling system?
COLLEGE OF ENGINEERING 5
3. How the proposed system generates the following reports:

3.1 Class schedule per section, per program, and year level.

3.2 Faculty Loading

3.3 Room Utilization

4. What are the assessments and evaluations of all end users on the proposed

system in terms of the following:

4.1 Functionality;

4.2 Reliability;

4.3 Content;

4.4 Availability;

4.5 Maintainability; and

4.6 Marketability;

Conceptual Framework

This study aims to explore the conceptual framework of an automatic generated class

scheduling system based on expert systems and assess its effectiveness in

maximizing rooms and facilities utilization.


COLLEGE OF ENGINEERING 6

Figure 1. Conceptual Framework of Autosched: Auto-Generate Scheduling System

Based on Expert System in Maximizing Rooms and Facilities Utilization

The paradigm shown in Figure 1 is the conceptual framework for Automatic

Generation of Scheduling System based on the Expert System and can be broken

down into three main components: input, process, and output. The input consists of
COLLEGE OF ENGINEERING 7
various elements, including Instructors, Meeting Rooms, Meeting Time, Course

Offerings, Year Level and Section.

The process includes the utilization of Genetic Algorithms to incorporate

human-like reasoning and decision-making. The output is an Auto-generate Class

Scheduling System that maximizes the use of available rooms and facilities while

taking into account the constraints and preferences of course offerings, time and day

availability, university professors, and available rooms.

Furthermore, the conceptual framework for this system is designed to enhance

the effectiveness of scheduling courses in a university, resulting in better utilization of

resources and a better overall learning experience for university students.

Assumptions

The succeeding assumptions are formulated when the design project is

executed:

1. The expert system will be designed to optimize the scheduling of classes based

on the availability of resources, such as classrooms and instructors.

2. The expert system will be capable of learning and adapting to changing

conditions, such as changes in course offerings or instructor availability, in

order to continually improve the scheduling process.


COLLEGE OF ENGINEERING 8
3. The expert system will be designed to be user-friendly and accessible, with a

simple and intuitive interface that allows users to input data that is needed such

as Subjects, Names of Professors, Time and view the resulting schedules.

4. The system will secure and protect sensitive information such as student and

faculty data.

5. The expert system will be able to generate optimized schedules based on pre-

defined criteria such as minimizing conflicts, maximizing classroom utilization,

and balancing instructor workload.

6. The expert system will be evaluated for its accuracy and reliability in generating

schedules.

7. The expert system will be designed with a feedback mechanism that allows

users to provide feedback on generated schedules, and to suggest

modifications or improvements to the scheduling rules or knowledge base.

8. The system will be designed to automate the semi-manual scheduling

procedure of BSCpE Program Chair.

The present study conducted by the proponents assumes that the implementation

of an expert system in a class scheduling system will improve the reliability and

accuracy of the scheduling process by utilizing expert knowledge in the field, reducing

human error, and optimizing resource allocation.


COLLEGE OF ENGINEERING 9

Significance of the Study

This research study is conducted by the proponents for the following

beneficiaries:

Academic Institutions. Even with the advancement in terms of technology,

Academic Institutions are still manually creating their schedule. Thus, this study will

highly benefit the institution as the integration of this technology will increase their

productivity and lessen the time spent on planning.

Program Head/Dean. The proposed design project highly benefits the

chairperson of every department as the system will only require them to enter the data

needed to generate a schedule. Thus, consuming less time to manually create one.

Professors. The proposed design project has profound significance to

professors as it will generate schedules based on their preferred time and assure that

the workloads are based on their field of expertise.

Students. The proposed design project highly benefits the students, as this

system will help them in a way that they would not need to wait longer to attend their

next class since our system will be designed to be more considerate on the time gaps

of one subject to another.

Future Researchers. This serves as a future reference for researchers who

wanted to conduct a study in line with artificial intelligence.


COLLEGE OF ENGINEERING 10

Scope and Limitations

The scope and limitations listed below by the researchers specify what the

study covers and what it does not.

Scope

The study’s functionality are as follows:

1. The system will be able to generate schedules.

2. The system will provide automatic optimization of schedules that minimizes

conflicts and maximizes resource utilization.

3. The system focuses on the course offerings of the Computer Engineering

department, which includes course details such as course name, course code,

number of credits, and other relevant information.

4. The system can manage the faculty schedules, including their availability,

teaching load, and preferences.

5. The system provides a user-friendly interface for administrators to input their

constraints, as well as to view and modify the generated schedule.

6. The expert system will automate the scheduling process and reduce the need

for semi-manual intervention, thereby reducing the potential errors and

reducing time spent in manual scheduling.


COLLEGE OF ENGINEERING 11
Class Scheduling Constraints:

Validation for each constraint is required before computing the schedule.

Constraints are a set of guidelines that govern how an output is to be accepted. There

will be two different kinds of limitations applied;

Soft Constraints Hard Constraints

Even distribution of course in a section Professional and General Education


per week. Faculty members can only teach one
class at a time.
Capacity of Students in Rooms and Professional and General Education
Facilities. faculty members teaching according to
their availability.
First year schedule should only be Sections only take one lesson at a time.
between 8:00AM to 5:00 PM, but may
vary based on the number of sections in
the said year level.
Maximum of 3 preparations per Rooms can only take classes when they
professor are available.
National Service Training Program 1 Subject’s meeting time is according to
(NSTP1) must be scheduled every its duration
Saturday only.

Table 1. System Constraints


COLLEGE OF ENGINEERING 12

Functional and Non-Functional Capability of Autosched

The following are the analysis of functional and non-functional, which is

composed of a set of requirements for an automated class scheduling system based

on an expert system in maximizing rooms and facilities utilizations. This helps to check

the functionality and performance of the software.

Functional:

1. User Management: The system shall allow users (program head and

faculty) to create and manage their profiles, login and access the system

with their respective privileges.

2. Course Management: The system shall allow program head to manage the

courses offered by the institution including course names, credits, and other

relevant information.

3. Resource Management: The system shall allow program head to assign the

available resources such as classrooms, labs, equipment, and physical

facilities.

4. Scheduling Management: The system shall allow administrators to create

and manage the scheduling of classes, including assigning rooms, times,

and faculty to courses.


COLLEGE OF ENGINEERING 13
5. Conflict Detection: The system shall be able to detect and alert

administrators to any scheduling conflicts, including overlapping schedules

or double bookings of resources.

6. Optimization: The system shall use expert system algorithms to optimize

the scheduling process, taking into account factors such as the availability

of resources, the preferences of faculty and students, and the need to

maximize room utilization and other utilities facilitations.

Non-functional:

1. Reliability: The system shall be highly reliable, with a minimal risk of system

downtime or data loss.

2. Security: The system shall be secure, with appropriate measures in place

to protect user data, prevent unauthorized access, and ensure data privacy.

3. Performance: The system shall be highly performant, with fast response

times and minimal latency, even under heavy user load.

4. Scalability: The system shall be able to scale to accommodate growing user

demand and larger data.

5. Usability: The system shall be user-friendly, with an intuitive user interface

and clear instructions on how to use the system.


COLLEGE OF ENGINEERING 14
6. Compatibility: The system shall be compatible with a range of devices,

operating systems, and web browsers, to ensure widespread adoption and

ease of use for all users.

7. Maintenance: The system shall be easy to maintain, with clear

documentation, and easy updates and patches when necessary.

Limitations

The following are the constraints for the design project:

1. The system will rely heavily on the accuracy and completeness of the input

data, which may be subject to human errors or omissions.

2. The system may not be able to consider external factors that may impact the

scheduling process, such as special requests due to admin positions or

unexpected events.

3. The system is limited by the fact that it cannot replace human expertise entirely.

Although it can generate a schedule that satisfies various constraints and

preferences.

4. The system requires access to personal data such as student and faculty

schedules, which may raise privacy concerns. Therefore, proper data security

and privacy measures must be implemented to ensure that the data is

protected.
COLLEGE OF ENGINEERING 15

Definition of Terms

Scheduling System based on Expert System is a software solution that utilizes

an expert system to automate and optimize the scheduling of classes in an

educational institution department. The following lists of terms are conceptually and

technically defined for better comprehension. These are the terminologies used in this

study:

Chromosome. A chromosome is a long, linear DNA molecule that carries genetic

information. In the study, it is a carrier which consists of a sequence of genes or

genetic information that encodes the characteristics or parameters of the solution.

Crossover Population. Process of exchanging genetic material between two

individuals to create new offspring with a combination of traits from both parents.

Crossover population was used in the study in terms of selecting pairs of individuals

from a population and exchanging genetic information (genes or parts of

chromosomes) to create offspring that inherit characteristics from both parents.

Evolve. The process by which living organisms change over time, adapting to their

environment through natural selection. In the study, it refers to the iterative process of

improving the quality or performance of a population of solutions over successive

generations in evolutionary algorithms. It involves the application of genetic operators


COLLEGE OF ENGINEERING 16
such as selection, crossover, and mutation to generate new populations that are

expected to exhibit better fitness or suitability for a given problem.

Fitness. The ability of oneself or a solution to live and reproduce in a specific

environment or fitness environment. In the study, it is the measurement of how well

an individual solution or chromosome performs in a given problem or environment.

Evaluated based on an objective function or a set of criteria that capture the desired

characteristics or objectives of the problem being solved.

Genes. The basic units of heredity and are segments of DNA that contain the

instructions for building and maintaining an organism’s biological characteristics. It

represents the parameters, variables, or characteristics that define a potential

solution.

Mutate Population. Process of introducing genetic variation or changes in a

population of individuals through mutation operations. The process of introducing

random changes or variations in the genetic material (genes or chromosomes) of a

population.

Mutation Rate. It represents the likelihood of a gene or genetic element being subject

to mutation within an individual. A parameter that determines the probability or

frequency of mutation occurring in a population during the evolutionary process.


COLLEGE OF ENGINEERING 17
Population. All the inhabitants of a specific location. Collection of individual solutions

or chromosomes that exist at a particular generation. It represents a set of potential

solutions to a problem and serves as the basis for generating new populations through

genetic operators.

Population Size. A number of inhabitants found in the particular location. The number

of individuals or chromosomes present in a population at any given generation in a

genetic algorithm.

Selection. The deliberate selection of someone as the best. Process of choosing

individuals from a population to become parents for producing offspring in the next

generation of an evolutionary algorithm.


COLLEGE OF ENGINEERING

Chapter 2

REVIEW OF LITERATURES AND STUDIES

Presented in this chapter are the review of literature and studies that are

relative to the study at hand.

Conceptual Literature

Class scheduling is a common task in the education sector. It plays a vital role

when it comes to organization of classes which contributes to the convenience of the

students as well as the instructors. However, the traditional method of scheduling a

class is conflict-prone and time consuming. [46]

Higher Education Institutions (HEI) in the Philippines are governed and

mandated by the Commission on Higher Education (CHED). The Higher Education

Act of 1994, also known as Republic Act No. 7722, was passed on May 18, 1994, and

it was this act that established the Commission on Higher Education (CHED). An

administratively affiliated agency to the Office of the President, CHED is run by a

chairman and four commissioners, each of whom has a four-year tenure in office. The

Commission En Banc functions as a collaborative organization to develop plans,

policies, and strategies for higher education and the management of CHED. Also,
COLLEGE OF ENGINEERING 19
there is an order called CHED Memorandum Order (CMO) that specifies all the

requirements that are to be followed by HEIs in the Philippines for each degree

program. [47]

Moreover, as the technology advances the so called ‘Expert Systems’ plays a

vital role in solving specific problems that arise in different fields that are encountered

on a daily basis. An expert system in artificial intelligence is a computer program that

mimics the judgment skills of a human expert. Expert systems are designed to tackle

complex problems by reasoning through bodies of knowledge, which are generally

expressed as if-then rules, as opposed to using standard procedural code.

Expert systems specialize in a specific field of study, such engineering,

science, or medicine. An expert has loaded and tested a knowledge base, which is a

collection of learned experience, into the system. Like other artificial intelligence

systems, expert systems may have their knowledge expanded by adding to their rule

set or knowledge base. The performance of the expert system will improve as more

experience is added to it. [48]

Programming languages such as Python, Java, C# and C++ are more likely to

be used to develop Expert Systems. Using this system, we can make a project that

can automate the traditional method of scheduling and error checking in a matter of

seconds with the computing power of today’s computers. Python programming offers

easy to understand code which is very helpful for project implementations. Python is
COLLEGE OF ENGINEERING 20
frequently used for creating websites and applications, automating repetitive tasks,

and analyzing and displaying data. Python has been used by many non-programmers,

including accountants and scientists, for a range of routine activities including

managing finances since it is very simple to learn.

According to Charles R. Severance of the University of Michigan and Coursera

lecturer, “writing programs is a really creative and fulfilling endeavor.” You can build

programs for a variety of purposes, such as earning a job, solving a challenging data

analysis challenge, having fun, or assisting someone else in addressing a problem.

[49]

Foreign Literature

Traditional Approach: The Genesis of Scheduling

A key component of efficient time management in every project or assignment

is scheduling. Scheduling entails coordinating activities or tasks logically and

effectively to produce the desired results within the time allotted. However, the pen-

and-paper approach, in which all scheduling is routed through an appointment’s

secretary with a central calendar, is the traditional technique of scheduling

appointments for a workgroup. In this model, the individuals whose time is being

reserved must check in frequently to learn about their schedule and to inform the

secretary of any times when they will not be accessible. This technique can easily
COLLEGE OF ENGINEERING 21
become unworkable in large workgroups or with extremely packed schedules. [4]

Moreover, in the educational sector administrators are frequently required to gather

scheduling data from numerous sources and manually enter the information, which

causes mistakes in the course scheduling process. It can be frustrating for

administrators to retroactively correct these errors. More significantly, though, these

mistakes hinder students’ ability to advance in their academic courses. [5] The

necessity of scheduling is just one of the numerous similarities between schools and

universities. Scheduling for events, classes, and other things. But ineffective

scheduling might result in misunderstandings or double bookings, as well as inefficient

utilization of rooms and resources. [6] The inevitable conflicts in scheduling due to

human error is the reason why people begin to think of a new way to handle this kind

of tedious task.

Programming Languages and its Crucial Roles

The technology comes into picture due to problems encountered in different

fields given its potential to surpass humans in terms of efficiency. We often hear about

the term “Programming Language”, but what does this term really mean? A

programming language is a type of computer language that is used by programmers

to create software, scripts, and other types of sets of instructions that are intended to

be executed by computers. Each language has its unique syntax, despite the fact that
COLLEGE OF ENGINEERING 22
many of them have commonalities. A programmer uses a text editor or integrated

development environment (IDE) to write the source code after learning the language’s

rules, grammar, and structure. After that, the programmer frequently converts the code

into a form that a computer can comprehend. [7] However, some Higher Education

Institutions (HEIs) raise many challenges in teaching as well as the learning of

introductory programming. In the study entitled “A Systematic Literature Review on

Teaching and Learning Introductory Programming in Higher Education”, which aims

to analyze the present environment of introductory programming in a more modern

setting, adding to the body of information created by earlier systematic literature

studies. It presents a description of the difficulties associated with introductory

programming and points out key issues that must be addressed in a research strategy

intended to improve introductory programming teaching and learning in higher

education. These are the research questions they used to assess the possible cause

of those challenges encountered.

1) What previous skills and background knowledge are key for a novice student

to learn programming?

2) What difficulties do novice students encounter in learning how to program?

3) What challenges do teachers encounter in teaching introductory

programming? [8]
COLLEGE OF ENGINEERING 23
Given that there are challenges in teaching and learning even though it is

introductory programming, developers keep creating languages with syntax that is

easy to understand. Python is frequently considered as one of the simplest

programming languages to learn for novices. Python is a wonderful place to start if

you’re interested in learning a programming language. In addition, it is one of the most

popular. It is the second most popular language after C according to the TIOBE Index

for June 2021, and its use is on the rise. You may benefit from the vibrant learning

and development community as well as the career chances that come with

understanding Python as you gain knowledge. Learning the foundations of Python

typically takes two to six months. But you may quickly pick up enough knowledge to

develop your first brief program. [9] These programming languages are one of the

tools used to develop useful computer programs as well as websites with different

purposes.

Django: The web framework for perfectionists with deadlines

This paper will develop a web application which is easily accessed by the end

user using different devices. The common tool to create a website is the Hyper-Text

Markup Language (HTML) or HTML. Using HTML components, such as tags and

attributes, it enables the development and structuring of sections, paragraphs, and

links. [50] The usability and interactivity offered by web apps now compete with those
COLLEGE OF ENGINEERING 24
of native programs because of the rapid evolution of the technology. Building

specialized solutions that are this proficient requires a lot of the technology and

knowledge. A web app framework is one of the things that, thankfully, makes

developing online applications simpler. “A software framework that is meant to assist

the creation of online applications, including web services, web resources, and web

APIs,” according to GeeksforGeeks, is what “web application frameworks” or “web

frameworks” are. Web frameworks are, to put it simply, a piece of software that

provides a mechanism to build and operate online applications. As a result, you are

spared the necessity to code independently and search for any errors and flaws. Web

frameworks were first introduced in the early days of online app development as a

way to stop hand-coding apps, where only the creator of a certain app could update

it. It was a long time ago; today, we have web-specific languages, and the introduction

of a generic performance has made it possible to change an app’s structure without

experiencing any problems. You may now pick one web framework that meets all of

your requirements or combine different frameworks, depending on your purpose. [x]

Automated Scheduling: Advantages, Disadvantages and Use Cases

Automated scheduling is one of the products of the fastly evolving technology.

As it is being considered as helpful, automated scheduling has a lot of usage. The

benefits of automated scheduling start from reduced error and time consumed for
COLLEGE OF ENGINEERING 25
revisions. It also allows institutions to be organized for their implementation of

schedule. [10] Furthermore, by using automated scheduling, the efficiency of the

process increases. Unlike traditional scheduling, automated scheduling perceives

constraints beforehand (e.g., changes in client’s request, cancellation, and urgent

requests). Thus, reducing the time allotment for the process, which is in contrast to

the traditional approach. [11] It also satisfies client’s expectation, although it is the

same with traditional approach, time wise, automated scheduling is much more

exceptional than its traditional counterpart.

Despite the good features that it offers, we cannot disregard the fact there is

no perfect system and that comes with disadvantages. One of the downsides of

automated scheduling is mainly the possibility of technical glitch. Technical glitch or

glitch in general term, is a temporary error in a system that is usually caused by

problems encountered during the data processing. [12] Automated systems exceed

expectations through efficiency, but they lack flexibility. This is mainly because

automated scheduling heavily relies on fixed parameters and constraints. Thus,

making it unable to accommodate last-minute changes to parameters due to a case-

to-case basis situation. [13] Complexity is also a problem that is entailed to automated

scheduling systems. There are variations of this system that are too complex and hard

to use. Thus, making it hard to be operated solely by respondents who are not familiar

with using this kind of system. [14]. Given that automated scheduling showcases
COLLEGE OF ENGINEERING 26
potential and downside at the same time, developers and investors still lay an eye to

it as a solution to an underlying problem with the traditional approach. Additionally, the

use case of automated scheduling varies from a wide spectrum of application and

field.

Automated scheduling is used for the operation of Unmanned Aerial Vehicles

(UAVs). Automated scheduling is incorporated in the operations of UAVs to create an

autonomous manufacturing system that requires less human intervention where the

system is backed by a heuristic approach in algorithm. [15] Heuristic algorithm is an

approach where it uses a quick solution to solve an existing problem [16]. Automatic

scheduling systems are utilized to facilitate maintenance schedules in construction

companies, while they use a Building Information Modelling (BIM} as their framework.

[17] The use cases vary from one field to another, and so the possible framework and

algorithm that you can use in developing this automated scheduling system. One of

the leading approaches in automated or intelligent scheduling is the expert systems.

Expert Systems: Constraint Satisfaction Approach

Expert system is a computer program that uses Artificial Intelligence (AI) and

is developed to mimic or act as a human who is an expert in a specific field. [18] It is

one of the leading techniques in automated scheduling systems, along with fuzzy

logic, machine learning, stochastic local search optimization and constraint


COLLEGE OF ENGINEERING 27
programming. [19] The expert system has variations like a constraint-based approach

in which the system acts as a human that considers given constraints. Constraint-

based approach in an expert system is the easiest and fittest one in an automated

scheduling system as it considers constraints that are set to make the output more

accurate and aligned to client’s satisfaction. Although the expert system that is meant

to be used in the scheduling system works well with a constraint-based approach,

there are still options for other use cases. Aside from the constraint-based approach,

there are also other approaches like the rule-based, frame-based, Neural, Fuzzy and

Neuro-fuzzy approach. [20]

Traditional vs. Automated: A Comparison of two Approach

Both traditional and automated scheduling systems have their own advantages

and disadvantages. Manual approach is time consuming, given that it doesn’t involve

an algorithm to process and create the schedule itself. On the other hand, the process

is faster when it comes to automated scheduling with the help of software to aid in the

processing of the data. Thus, giving it a significant advantage in terms of time allotted

and efficiency. [21] In terms of flexibility, manual scheduling has an advantage over

automated scheduling systems. It is because manual scheduling can easily adapt to

changes in the client’s preferences as they can directly change the necessary

information. In comparison to this, automated scheduling is regarded to have a poor


COLLEGE OF ENGINEERING 28
level of flexibility. Despite its efficiency, automated scheduling heavily relies on

predefined constraints and parameters making it hard for the system to cope up with

last-minute changes and modification. Although it is said to have a poor level of

flexibility, existing advanced systems now allow employees to directly request

changes in the schedule where the system can be utilized on whether to accept or

deny it. [22] Uniformity is also considered in creating an efficient schedule as it needs

to be accurate. When it comes to accuracy, automated scheduling has an advantage

over its manual counterpart. Errors are less likely to appear in an automated approach

because of the existence of predefined parameters and constraints that are set to be

the rule and basis on how the system will generate the schedule. While on the manual

scheduling system, it requires a trial-and-error method to come up with a suitable

result. It is also because there is no existing algorithm and constraints that will

automatically work to automatically generate one. Thus, resulting in multiple attempts

in formulating a scheduling and reducing the accuracy of this approach. [23]

Local Literature

The Commission on Higher Education implemented a memorandum order for

Bachelor of Computer Engineering (BSCpE) curriculum standard, which intended to

ensure depth and emphasis in certain disciplines through cognate/tracks and to

assure breadth of understanding of the discipline through a series of professional


COLLEGE OF ENGINEERING 29
courses. The minimum number of credits required for the curriculum is 166, 115 of

which must be in technical courses. Technical courses contain 9 units of

elective/cognate coursework, 8 units of natural/physical sciences, 6 units of

fundamental engineering sciences, 8 units of related courses, 72 units of professional

courses, and 12 units of mathematics. On the other hand, the non-major courses the

general education courses, which are divided into 24 units of general education

courses, 12 units of GEC electives/mandated courses, 8 units of physical education

(PE), and 6 units of the National Service Training Program in accordance with CMO

20 series of 2013 – The New General Education Curriculum (NSTP). The commission

also stated all full-time faculty members instructing professional courses in the BSCpE

must hold a Master’s degree in CpE or a related field, and preferably a doctoral degree

and teachers holding professional certificates that call for industry certification must

hold current industry certification. The recommended curricular requirements in CHED

Memorandum Order (CMO) 87 s. 2017, which is known as Policies, Standards, and

Guidelines for BSCpE, has been effective since 2018. This applies across the HEI’s

with BSCpE program. [24]

Considering the proponents will be receiving the data provided by the research

respondent, we take precautions to ensure that it is not misused the Republic Act

10173-Data Privacy Act of 2012 specifies that monitoring for security infringement and

taking preventative, corrective, and lightening steps against security occurrences that
COLLEGE OF ENGINEERING 30
can lead to a security breach are required. The personal information holder must also

ensure that the mediators or third parties processing the personal information on its

behalf meet the security rules outlined in the clause. Accessing information without

the owner’s permission will result in a prison sentence of one to five years and a fine

of 500,000 to one million pesos. The researchers came up with the idea to safeguard

and have tighter protection for the information of the students by creating a scheduler

that can guarantee the students data privacy, according to the article. [25]

Research Literature

It is necessary to get to know the potential solutions for the problem, as this

can reveal shared traits that may lead to a breakthrough in finding a better solution.

Furthermore, gathering information on the proposed solution will assist in directing

research towards formulating an improved solution.

Foreign Literature

The Case of the Knapsack Problem: How Humans Solve Complex Problems

As stated in a University of Colorado [26], the knapsack problem is a well-

known problem in the field of computing schedules. It is a type of combinatorial

optimization problem that involves selecting a subset of items with the highest value

from a set of items with given weight and value, subject to a weight constraint. The
COLLEGE OF ENGINEERING 31
research on how humans solve complex problems [27] found that people typically use

a greedy algorithm during the early to middle phase of solving the knapsack problem,

followed by a branch and bound searching technique. In their experiment, the

researchers found that the average number of full knapsack configurations was 1,381,

and the chance of getting the most optimal solution was only 0.7%. However, humans

were able to perform exceptionally well on this problem, with a median score of 97.4%

of the most optimal solution value.

It is important to note, however, that while humans can solve the knapsack

problem with optimal solutions, this may not be the case for scheduling problems.

Scheduling problems involve additional factors and constraints that may make them

more complex than the knapsack problem. As such, solutions to scheduling problems

may require more sophisticated algorithms or techniques than those used for the

knapsack problem. Nonetheless, the study’s findings shed light on how humans’

approach complex problems and may inform future research on optimizing scheduling

algorithms.

Methods for Resolving University Class Scheduling

According to a study [28], university class scheduling is a challenging problem

that falls under the category of optimization problems in operational research. The

problem is considered one of the most difficult issues faced by universities and

colleges today. There are several approaches to solving scheduling problems, as


COLLEGE OF ENGINEERING 32
noted in [29]. However, some of these approaches are only feasible up to a certain

level and may have limitations in terms of constraints they can handle, objectives to

meet, and computation time.

Among the common approaches to solving scheduling problems are

construction algorithms, including greedy algorithms, and search algorithms such as

tabu search, simulated annealing, particle swarm optimization, and genetic algorithm,

as reviewed in [30]. Construction algorithms may be combined with search algorithms,

such as a hybrid approach that uses greedy and genetic algorithms. In this approach,

the population may depend on the individuals generated by the greedy algorithm.

Algorithms are the building blocks of artificial intelligence and machine learning, and

they are used to create intelligent systems capable of tasks like image recognition,

natural language processing, and decision-making [31], here are the set of instructions

commonly used in problem-solving involving multiple issues, specifically the

constraints and conflicts included in the scheduler. There are several algorithms that

were utilized in processing schedules. These algorithms generate schedules without

conflict when compared generating schedules manually which may contain errors and

hindrance. Furthermore, scheduling problems in universities and colleges are

complex and require various optimization methods to be resolved effectively. There is

no one-size-fits-all solution, and different approaches must be considered based on

the constraints, objectives, and computational resources available.


COLLEGE OF ENGINEERING 33
The genetic algorithm reduces conflicts and optimizes fitness. The algorithm

considers various factors such as the quantity of students in each class, class time,

class size, time availability in each class, and lecturer who is in charge of the classes

[32], it considers various factors such as the capacity of the audience, complete

facilities, lecturing time, etc., to find the optimal solution. The study finds that the

proposed algorithm can reduce conflicts and optimize fitness, thus improving the

utilization of available classroom space for a given time table of courses at the

university.

Additionally, the creation of comprehensive curriculum system for academic

institutions [33], wherein two algorithms, GA (Genetic Algorithm) and MA (Memetic

Algorithm), are compared in respect of timetabling problems, which resulted in the use

of a smart adaptive mutation scheme and problem specific chromosome format helps

to speed up convergence and improve the quality of the output. This method may not

be applicable to other domains that require optimized allocation of resources.

The theory of schedules, the genetic algorithm, takes into account the specifics

of each university. The development and implementation of an algorithm that can form

an optimal university class schedule based on the genetic algorithm, the use of a

genetic algorithm for class scheduling can lead to an optimal schedule that takes into

account the specific needs of each university. This acknowledges that the solution to
COLLEGE OF ENGINEERING 34
the problem of class scheduling heavily depends on the specifics of each university,

and there may be limitations in the applicability of the genetic algorithm to all

universities. [34]

Among the algorithms, the evolutionary algorithm is widely used. The

implementation genetic algorithm on lecture scheduling issues resulted in minimum

clash of schedules. [35] The approach uses the process of scheduling using genetic

algorithms. It is a search technique that has a set of instructions written to produce

multiple possible solutions. Proponents created coding techniques, Initialization of

initial population, Chromosomes evaluation, Selection, Crossover, and Mutation in

implementation of the GA. Researcher recommends the exploration of modifying

Genetic algorithm components, this to determine the capability of Genetic algorithm

operators to find the most excellent schedules.

As colleges and universities continued to expand and increase enrolment,

teaching management faced the challenge of scheduling courses effectively. The

problem was complex, with numerous restrictions, and required repetitive experiments

and adjustments if the number of courses scheduled was large. Manpower scheduling

was unable to meet the needs of educational administration due to the complicated

workforce and large data volume. However, a research team investigated the mutation

genetic algorithm, an evolutionary algorithm, as a potential solution to the course


COLLEGE OF ENGINEERING 35
scheduling problem. [36] They applied the algorithm to the student’s scheduling

system and found that it was an efficient and accurate method of scheduling courses.

The algorithm was able to generate schedules quickly, providing strong support to the

educational administration staff in solving the tedious scheduling work. The study

sheds light on a promising approach to course scheduling using computer technology,

leading the way for further investigations into machine learning and artificial

intelligence to improve scheduling efficiency and accuracy.

In the world of modern information technology, course scheduling problems

have become increasingly complex and diverse, making traditional genetic algorithms

less effective in finding solutions. However, a group of engineering researchers has

been able to improve the traditional genetic algorithm and establish a new adaptive

genetic algorithm. [37] They achieved this by introducing adaptive operators and

conflict detection methods to address the multi-constraint complex combination

optimization problem of course scheduling. With the new algorithm, they established

a mathematical model of an intelligent course scheduling system and conducted

experiments to evaluate its efficiency and effectiveness. The experimental results

showed that the proposed algorithm has significantly improved convergence speed

and the global optimal solution, providing new ideas and methods for intelligent class

scheduling problems. Despite the proposed algorithm’s limitations, the researchers


COLLEGE OF ENGINEERING 36
recommended future studies to focus on further improving the algorithm’s

performance, exploring the use of hybrid optimization techniques and evaluating its

effectiveness in real-world settings.

In the study conducted in [37], a comparison was made between different

metaheuristic approaches used to address the university course timetabling problem.

The researchers found that conventional, generic genetic algorithms (Gas) performed

poorly in this context and suggested that they should be enhanced with domain-

specific knowledge to improve their results. When simple Gas was employed, they

often generated illegal timetables that violated various constraints. To overcome this

issue, researchers introduced modified genetic operators, heuristic operators, and

local search techniques.

Terashima-Marín, Ross, and Valenzuela-Rendón (1999) investigated the

application of Hardness Theory in genetic algorithms for timetabling problems.

Hardness Theory is typically used for constraint-type problems. The researchers

compared Gas that evaluated individuals within a population using either a hardness-

based function or a normal penalty function. However, the application of hardness

theory was found to have limited effectiveness for the timetabling problem due to the

complexity of constraints and the large number of available resources. [38]


COLLEGE OF ENGINEERING 37
Yu & Sung (2002) proposed a sector-based GA to solve the UCTP. The “sector”

concept was implemented in the initialization, crossover, and mutation operators, with

the introduction of a “check-and-repair” routine to keep the solutions within the feasible

region. The results obtained were promising but the algorithm’s performance and

efficiency were questionable. [39]

The study conducted by Lukas, Aribowo & Muchri (2009) also used a GA

combined with heuristic search to solve the UCTP. However, the proposed method

had many limitations, such as being able to schedule a course only one segment at a

time. [40]

Equivalently, Lewis & Paechter (2005) presented a Grouping genetic algorithm

(GGA) combined with powerful constructive heuristics. GGAs are genetic algorithms

that specialize in solving grouping problems. The experimental results showed that

the recombination drives the search towards fitter individuals and higher quality

solutions, but it was limited by the available time. [41]

In the field of engineering research, the experts were working on developing an

improved genetic algorithm for the scheduling problem. The team aimed to enhance

the accuracy and efficiency of the traditional algorithm by introducing a self-adapting

crossover rate and variation rate and enhancing the fitness function. They developed
COLLEGE OF ENGINEERING 38
a gene coding method that used decimal coding with standardized information

encoding to accurately represent each course’s details. Through a systematic

approach, the team tested the traditional and improved algorithms and found that the

latter outperformed the former in terms of efficiency and accuracy. The team

concluded that their new gene coding method and self-adapting rates make the

algorithm more effective in finding the global maximum. Despite some limitations, the

research team recommended further studies to address the limitations and explore

other gene coding methods for complex scheduling problems. [38]

This table provides a comparison of different algorithms cited by various

authors. Each row in the table represents an author and the algorithm they have

referenced in their work. The algorithms listed include Genetic Algorithms, Hybrid

Algorithms, and other types of algorithms. The purpose of this comparison is to

provide a quick overview of the algorithms used by different authors and their

respective publications.

Sources Genetic Hybrid Other


Algorithm Algorithms Algorithms
(Algorithms
with GA)
R. Q. Camungao, et. Al (2019) ☑️
Y. Fedkin, et. Al (2019) ☑️
COLLEGE OF ENGINEERING 39

M. Ali, et. Al (2018) ☑️

G. Gupta, et. Al (2021) ☑️

J. Ni and N.-N. Yang (2013) ☑️


D. Calimot, et. Al (2013) ☑️

R. Ansari and N. Saubari (2020) ☑️

Chen, X., Yue, X.G., Li, R., ☑️


Zhumadillayeva, A. & Liu, R. (2021)

P. Wang et. Al (2019) ☑️

G. Sun and Y. Li (2020) ☑️

Terashima-Marín, Ross, and


Valenzuela-Rendón (1999) ☑️

Yu & Sung (2002) ☑️

Lukas, Aribowo & Muchri (2009) ☑️

Lewis & Paechter (2005) ☑️

Table 2. Algorithm used by Several Studies

Several researchers opt for genetic algorithms above other optimization methods

because of their ability to handle complex and nonlinear problems efficiently. The

genetic algorithm is based on the idea of natural selection and involves the formation

of a population of solutions that go through selection, reproduction, and mutation to

generate new and improved solutions. This iterative process enables genetic
COLLEGE OF ENGINEERING 40
algorithms to converge towards the global optimum solution, even in problems with

complex variables and constraints. Furthermore, the genetic algorithm’s resilience to

changing surroundings and factors, such as crossover and mutation rates, makes it

suited for dynamic and uncertain challenges. These characteristics make genetic

algorithms appealing to authors looking to optimize complicated issues rapidly and

reliably.

An Overview of Genetic Algorithms

According to Darwin’s theory of evolution, the emergence and advancement of

the genetic algorithm is closely related to the ability of various biological systems to

adapt to their environment and survive. In the field of modern cytology and genetics

research, it has been established that the material basis of heredity and variation in

organisms is primarily located in the chromosome, chromosomal DNA, and protein.

Modern molecular biology has revealed that DNA is responsible for the genetic effects

of gene fragments, and genetic information is stored in the genes, which regulate

protein synthesis and biological traits. Organisms operate through gene duplication

and trait selection, as well as recombinant genetic variation to produce a wide range

of traits. Genetic characteristics of organisms allow for the maintenance of relatively

stable biological species, while biological variability is necessary for health and

survival.
COLLEGE OF ENGINEERING 41
The research into genetic algorithms began in the late 1960s to early 1970s,

initiated by Professor John Holland and his colleagues and students at the University

of Michigan. After over 20 years of development, fruitful results and theoretical

research progress have been achieved, especially with the recent boom in

evolutionary computation as an important direction of artificial intelligence research.

The First International Conference on Genetic Algorithms was held at Carnegie Mellon

in 1985, and in May 1997, the IEEE Transactions on Evolutionary Computation

established genetic algorithms as a mature method for high-performance computing

system optimization, adaptation, and learning modeling. [39]

The algorithm helped in scheduling a number of students with a fitness value

with high iteration. In order to utilize genetic algorithms and generate test data, the

following steps should be taken:

Step 1: Initialization – The process of a genetic algorithm begins with the

generation of a population of individuals. Each individual is the solution to the given

problem in this case. A person contains or is defined by a set of parameters known as

genes. The solution to the problem is to combine genes into a string and generate

chromosomes. The use of random binary strings is one of the most popular

initialization techniques. Identify the test data variables based on the given path and
COLLEGE OF ENGINEERING 42
create a random string of 0s and 1s for each variable according to coding principles.

These strings form individuals.

• Let V be the set of test data variables

• Let P be the population of individuals, each represented as a binary

string of length |V|

• For each individual p ∈ P, initialize the binary string with random values

from {0, 1}

Step 2: Fitness Assignment – The fitness function is used to determine an

individual’s fitness, which is defined as an individual’s ability to compete with other

individuals. Individuals are evaluated based on their fitness function in each iteration.

Each individual receives a fitness score from the fitness function. This score also

determines the likelihood of being chosen for reproduction. The higher the fitness

score, the more likely it is that the individual will be selected for reproduction.

• Let F(p) be the fitness function for an individual p

• For each individual p ∈ P, evaluate F(p) based on the structure of the

fitness function
COLLEGE OF ENGINEERING 43
Step 3: Selection – The selection step includes the selection of individuals for

offspring reproduction. To increase reproduction, all of the selected individuals are

arranged in pairs of two. It converts the 0s and 1s string corresponding to each

variable into a binary number to generate the test data. These individuals then pass

on their genes to the next generation.

There are three kinds of selection methods available:

• Roulette wheel selection

• Tournament selection

• Selection based on rank

Step 4: Reproduction – The reproduction step occurs after the selection

process. The genetic algorithm employs two variation operators that are applied to the

parent population in this step. The two operators involved in the reproduction phase

are listed below:

Crossover: The crossover plays a critical role in the reproduction phase of the

genetic algorithm. During this process, a crossover point within the genes is chosen

at random. The crossover operator then swaps the genetic information of two parents

from the current generation to create a new individual representing the offspring.
COLLEGE OF ENGINEERING 44

Figure 2. Genetic Algorithm Crossover

Parents’ genes are exchanged among themselves until the crossover point is

reached. These newly produced offspring are incorporated into the population. This

procedure is also known as crossover. Available crossover styles include:

• One point crossover

• Two-point crossover

• Livery crossover

• Inheritable Algorithms crossover

Mutation – To maintain population diversity, the mutation operator inserts

random genes into the offspring (new child). It is possible to accomplish this by flipping

some chromosome bits.

Mutation aids in the resolution of the issue of premature convergence and

increases diversification. The following image depicts the mutation process:

There are various mutation styles available.


COLLEGE OF ENGINEERING 45
o Flip bit mutation

o Gaussian mutation

o Exchange/Swap mutation

Figure 3. Before and After of Genetic Algorithm

• Let S(p) be the selection function that determines the probability of

selecting an individual p for reproduction

• Let C (p1, p2) be the crossover function that generates a new individual

by combining the genetic material of two individuals p1 and p2

• Let V(p) be the variation function that introduces random changes to an

individual p

• For each individual p ∈ P, apply the following operations:

• If p is not selected based on S(p), apply either C (p1, p2) or V(p) to

generate a new individual


COLLEGE OF ENGINEERING 46
• Select the best individuals from the current generation to form the next

generation

• Repeat until all individuals in P are selected

Step 5: Termination – Following the reproduction phase, a stopping criterion is used

to determine termination. After reaching the threshold fitness solution, the algorithm

terminates. It will identify the final solution as the best solution in the population.
COLLEGE OF ENGINEERING 47

Figure 4. Genetic Algorithm Flow Chart


COLLEGE OF ENGINEERING 48
Local Literatures

Typical Scheduling Situations in the Philippines

According to an article published by Althea Gonzales and Jessy Go [40],

students have varied opinions regarding a new scheduling rule implemented by their

university. This rule involves earlier classes with 15-minute breaks between each

subject to allow students to prepare and avoid missing classes. Educational

institutions often come up with their own scheduling schemes to address their

particular situations. Meanwhile, an independent news assessment of K-12 education

in the Philippines [41] reveals that many schools still lack the resources needed to

accommodate students, such as classrooms and teachers. Private schools also face

challenges, particularly with an influx of students supported by the voucher system.

To address resource shortages, schools have implemented a shorter scheduling

scheme with shifts to accommodate students, as stated in [42] These resource

shortages also affect college-level education, as highlighted in [43], which discusses

the challenges students face in creating a comfortable schedule due to limited subject

openings and conflicts. Such challenges are common among institutions that cannot

accommodate every scenario.


COLLEGE OF ENGINEERING 49
Genetic Algorithms in Local Setting

In the Philippines, specifically the Isabela State University-Main Campus

addresses the problem of poor schedule management through adopting the

representation and fitness methods of Genetic Algorithm. This generates pre

scheduling templates and determines the functionality and usability of the scheduling

process. Results showed the scheduling system had a high level of functionality and

usability based on the ISO 9126 Standard. Also, it was found that the scheduling

process was more accurate and reliable, and it minimized time conflicts and time

consumption. However, the study did not include individual schedules for both regular

and irregular students and campus extension integration thus reformulating the fitness

function to include other components and variables of scheduling, such as individual

schedules for both regular and irregular students and campus extension integration

was recommended. [44]

The scheduling of classes in universities and colleges is generated every start

of the academic year. The University of Immaculate Conception uses the Genetic

Algorithm to find the best class schedule generator. The theory of genetic algorithms

is explored, with an emphasis on less fully encoded systems using non-genetic

operators. It is observed that the Genetic Algorithm has the potential to be enhanced

by integrating repair strategies, and can be scaled up to tackle scheduling problems.


COLLEGE OF ENGINEERING 50
By leveraging the principles of genetic algorithms, the researchers developed an

alternative class scheduling system that yielded optimal schedules and optimized the

use of each classroom with respect to time, space, and constraints. [45]

Relevance to the Present Study Literature

In recent years, the demand for reliable and automated systems has increased

across various industries, including education. With the increasing number of students

and courses, class scheduling has become a complex and time-consuming task for

educational institutions. To address this challenge, several studies have explored the

development of automated class scheduling systems. The present study’s relevance

to the literature is evident as it proposes an auto-generate class scheduling system

using genetic algorithms that can efficiently and accurately generate a class schedule

based on various constraints and requirements. The proposed system’s potential to

improve the scheduling process and enhance educational institutions’ efficiency aligns

with the current trend towards automation and optimization in various fields.
COLLEGE OF ENGINEERING

Chapter 3

RESEARCH METHODOLOGY

This chapter discusses the project/research design, project development,

operation/testing procedure, evaluation procedure, evaluation criteria, instruments

and techniques used. This also represents how design products are critically planned

to be relevant as a whole.

Project/Research Design

The Researchers aim to develop an expert system for academic scheduling

that can automatically create schedules based on the given constraints and conditions

such as course requirements, teaching loads, classroom and instructor’s availability,

and students’ vacant time intervals. The developed system will be evaluated by

comparing its performance with the traditional scheduling method used by the

university to identify the benefits of the proposed approach.


COLLEGE OF ENGINEERING 52
Project Development

For the development process of the prototype, proponents formed plans to help

achieve building the design project. This project involves the development of a

software prototype to be used in a research study. The prototype will be designed to

provide an interactive platform for the collection and analysis of data. The prototype

model will allow for the rapid development and testing of the software, allowing for

quicker implementation and feedback.

The prototype model will also enable the researchers to quickly identify any

areas where the software is not functioning as expected and make any necessary

adjustments. The software prototype will be designed with the user in mind, taking into

account the needs and preferences of the user in order to create a satisfying and

useful experience.

The software will also be designed to be able to accommodate different types

of data and analysis techniques, allowing for the researchers to be able to conduct

their research in the most efficient manner.


COLLEGE OF ENGINEERING 53

Figure 5. Agile Software Development Life Cycle Model

Following the principles and approach of agile software development life cycle, the

development of the system shall undergo through the stages of the model.

The Agile Software Development Life Cycle (SDLC) is a project management

methodology that prioritizes iterative and adaptable software development, customer

involvement, and team collaboration.

Development 1: During this phase, the development team focuses on creating the

core functionalities of the auto-generate scheduling system based on expert systems.

Proponents work collaboratively to design and implement the necessary features and
COLLEGE OF ENGINEERING 54
functionalities, following agile principles such as iterative development and continuous

improvement.

Integration & Test 1: After completing Development 1, the development team

integrates the developed components and modules to ensure they work together

seamlessly. They conduct thorough testing to identify any bugs or issues that may

have arisen during the integration process. This phase aims to validate the

functionality and stability of the system.

Development 2: In this phase, the development team continues to enhance the auto-

generate scheduling system by adding new features or improving existing ones. They

follow an iterative approach, prioritizing the most valuable functionalities based on

user feedback or project requirements.

Integration & Test 2: Similar to Integration & Test 1, the team integrates the newly

developed features with the existing system and performs comprehensive testing.

This phase helps identify any integration issues, assess the overall system

performance, and ensure the new functionalities align with the system requirements.

Development 3: The development team proceeds with further enhancements or

modifications to the auto-generate scheduling system. They collaborate closely with

stakeholders to gather feedback and refine the system accordingly. This iterative
COLLEGE OF ENGINEERING 55
development approach allows for flexibility and adaptability to changing needs or

emerging requirements.

Integration & Test 3: Once Development 3 is completed, the team integrates the final

set of features and conducts comprehensive testing to ensure the system is stable

and functions as expected. This phase focuses on identifying any remaining bugs or

performance issues before moving forward.

Release: Upon successful completion of the integration and testing phases, the auto-

generate scheduling system is ready for release. The development team packages

and delivers the software to the end-users or clients, making it available for

deployment in the production environment.

Feedback Review: After the release, the development team collects feedback from

the users or clients regarding their experience with the auto-generate scheduling

system. They review the feedback to identify areas for improvement and gather

insights that can inform future iterations or updates of the software.

Accept? If yes: Based on the feedback review, if the feedback is positive and the

system meets the desired expectations, the team proceeds to the next steps.
COLLEGE OF ENGINEERING 56
Test: The team conducts further testing based on the feedback received, addressing

any reported issues or bugs. This phase ensures that the software remains reliable

and performs optimally in real-world scenarios.

Implement: After successfully testing and resolving any identified issues, the team

implements the necessary changes, improvements, or bug fixes to enhance the auto-

generate scheduling system. This phase incorporates the user feedback and ensures

the system's continuous evolution.

If no: If the feedback review reveals significant issues or concerns, the team moves

to this branch of the process to address the feedback accordingly.

Record & Integrate Changes: The team records the feedback and suggested

changes in a systematic manner. They prioritize and integrate the required

modifications or enhancements into the development process.

Adjust & Track: In this phase, the team makes adjustments to the auto-generate

scheduling system based on the recorded feedback and integrated changes. They

track the progress of these adjustments and ensure that the system meets the desired

quality and functionality standards.


COLLEGE OF ENGINEERING 57
The agile software development life cycle for the auto-generate scheduling system

follows an iterative and collaborative approach, allowing for continuous improvement,

feedback incorporation, and adaptation to changing requirements.

Figure 6. In-depth Diagram of the Development Phase of Agile SDLC

Sprint 1 of Development Phase

Phase 1 – Plan. During the planning phase, the researchers started

brainstorming the approach that they will utilize on developing the specific system.

This is also the phase where the researcher gathers information needed to start

conceptualizing solution for the given problem. This is the phase of selecting which

IDE, framework, programming language, algorithm, and software requirements will be

utilized for the system to function. At this phase, the researchers came up with Visual

Studio Code as IDE, Django Framework as the system’s framework, Python as


COLLEGE OF ENGINEERING 58
programming language. The researcher also included Bootstrap and Font Awesome

for the front-end designing software. In terms of algorithm, the researchers utilized the

traditional genetic algorithm as the system’s algorithm.

Figure 7. System Architecture Diagram


COLLEGE OF ENGINEERING 59
The figure represents the system architecture diagram. It consists of end user,

front-end layer, back-end layer, and genetic algorithm as main scheduling algorithm.

The system architecture allows the end user to access the Autosched System by

accessing the link address that allow them to redirect in the front-end layer, in which

the end user has the capability to create schedule input, read the schedule generated,

update schedule resources (meeting time, course offering, instructors, rooms,

sections, and programs). Once done, the Django controller handles the logic for

processing user inputs, managing data flow, and making decisions based on inputs.

Once the data are handled, it will be stored into the database. The database is the

storage for the web application's data. Once the raw data is stored in the database,

the data processing follows. The major part of data processing is based on the expert

system and genetic algorithm. The expert system is the knowledge-based system that

provides expert advice or decision-making capabilities based on a set of rules or

knowledge base.

Once done, the Django controller handles the logic for processing user inputs,

managing data flow, and making decisions based on inputs. Once the data are

handled, it will be stored into the database. The database is the storage for the web

application's data. Once the raw data is stored in the database, the data processing

follows. The major part of data processing is based on the expert system and genetic

algorithm. The expert system is the knowledge-based system that provides expert
COLLEGE OF ENGINEERING 60
advice or decision-making capabilities based on a set of rules or knowledge base. The

genetic algorithm is responsible for generation of schedules based on the given

parameters.

Once the generated schedule by genetic algorithm is done creating schedule,

the expert system will align the schedule by considering the soft and hard constraints

set in the system. The generated schedule will then convert into output that will reflect

on the user’s interface once the generation is done.

Figure 8. Use Case Diagram for Autosched


COLLEGE OF ENGINEERING 61

In this use case diagram, there are two actors which are the user (Program

Head) and the Administrator. The user can access the features of the dashboard

which is input information, and display the schedule. The Administrator (Management

Information System) can manage the users and database management system.

The use case diagram is a powerful tool in software engineering and system

analysis that provides a visual representation of the interactions between different

actors and the system itself. It offers a high-level view of the system’s functionality,

emphasizing the actions that can be performed by various actors or users. Let’s

expand on the idea presented:

Actors:

- User: The primary actor in the system, representing individuals who interact with

the system to perform certain tasks.

- Administrator: A specialized actor who has additional privileges and

responsibilities compared to regular users. They have the authority to manage the

system, configure settings, and perform administrative tasks.

Use Cases:
COLLEGE OF ENGINEERING 62
- Managing the Database: The Administrator can perform actions related to

managing the database. This can include tasks such as adding, modifying, or deleting

records, running queries, generating reports, and ensuring data integrity.

- Custom Scheduling: Users can perform actions related to scheduling tasks or

events according to their specific requirements. This may involve creating, editing, or

deleting schedules, setting reminders, assigning resources or participants, and

defining constraints.

- Displaying Schedules: Both users and administrators can view schedules based

on their roles and permissions. This use case allows users to access and visualize

their schedules, filter or search for specific events, and navigate through different

views (e.g., daily, weekly, monthly). Administrators might have additional capabilities

to view schedules of all users or perform advanced searches.

Use Case Representation:

In the use case diagram, each use case is typically represented as an oval or

ellipse shape, and it is connected to the corresponding actors through lines or

associations. The diagram provides a clear visualization of the interactions between

actors and use cases, illustrating the system’s overall functionality.


COLLEGE OF ENGINEERING 63
The use case diagram helps identify the actors involved in the system and their

specific roles, as well as the various tasks or actions they can perform. It serves as a

communication tool between stakeholders, developers, and designers, allowing them

to understand the system’s behavior and requirements in a concise and intuitive

manner. Additionally, the diagram can serve as a basis for further analysis, such as

identifying dependencies between use cases, refining requirements, and prioritizing

development efforts.

Figure 9. Contextual Diagram of the System


COLLEGE OF ENGINEERING 64
In this context diagram, there are two actors: User and Administrator. The

System is in the middle and interacts with these two actors. On the user – system

side, the user can input information into the system, while the system can display the

automated schedule to the user. On the admin – system side, the system can give

access to the administrator, and the administrator can override the schedule from the

system.

Furthermore, the context diagram provides a high-level view of the system’s

interactions with the actors and helps to identify the inputs and outputs of the system.

It also shows the relationships and dependencies between the actors and the system.

Figure 10. Data Flow Diagram of the System


COLLEGE OF ENGINEERING 65
In this data flow diagram, the system has four major processes: Login,

Dashboard, Input Information, and Display Schedule. There are also two data stores:

Constraint Storage and Login Credentials.

The first entity is the user, and it passes the data flow “User info” into the login

process. This sends the data “login credentials” to the Dashboard process, then it will

ask for the user’s input and will store it into the constraint, and will go to the process

Display Schedule before it can send the Auto-generated Schedule into the user.

Phase 2 – Design. After data gathering and brainstorming, the researchers

then proceed on visualizing the approach they will utilize in the development of the

system. This also include the visualization of the system’s design through sketching

which includes functionality of the web application and assessing if it satisfies the

solution needed to meet the objective of the system. In this phase, the researcher

conceptualizes the system’s user interface by creating a mockup design of web

application first in Canva Design in which the researchers will use as basis for the

interface on the building phase.


COLLEGE OF ENGINEERING 66

Figure 11. Initial Design for the Web Application

The researcher conceptualized the expected layout of the web application

through the use of Canva Design. The initial design includes the dashboard that

includes the step-by-step process needed before generating a schedule. It also has a

notification tab that notifies the user once the generation of schedule is done. The

initial system also has a setting button that enables the user to personalize the web

application to their interest and liking. The initial design also indicates a directory at

the upper left part of the content card of the selected tab. It also offers a CRUD

operation where user can manipulate the data input.


COLLEGE OF ENGINEERING 67
Phase 3 – Build. After designing, the building phase follows. During this phase,

the researcher started on the development of the system. In this phase, the

researchers will start on building the front-end and backend of the system, as well as

setting up the framework and the backend of the system. In this phase, the

researchers used Visual Studio Code on the development of the system’s front and

back-end. The task on the development of the system was divided into two parts: the

first part is where the development of front-end is designated, in which 2 of the

researchers are assigned. The remaining 2 researcher was assigned to do the back-

end development.
COLLEGE OF ENGINEERING 68

Figure 12. Bootstrap 5 Guide on Grids and Columns


COLLEGE OF ENGINEERING 69
Figure 13. Bootstrap 5 Guide on Card and Accordion

During the front-end development, the researcher used Bootstrap 5 and Font

Awesome to enhance the quality and presentation of the system. The researcher used

Bootstrap for the CSS aspect of the system in terms of the card and columns feature.

It was also use for the templates, accordions, and drop-down buttons in the front-end.

The researcher also utilized Bootstrap 5 for the color effect in which the system

uses linear gradient. Overall, the Bootstrap 5 made the front-end development easy

as it offers fundamentals and tutorial on how it can be implemented through codes.

Figure 14. Sample Icons from Font Awesome


COLLEGE OF ENGINEERING 70
The icons on each tab presented on the system’s dashboard is represented by

embedded icons imported from Font Awesome. Aside from the dashboard, Font

Awesome was also use to give representation for the real time data counter on the

upper part of each template where cards like meeting room, time, instructors, and

course offerings are located. Font awesome was also use to import the default font

family of the system which is Montserrat. The researchers integrated the fonts and

icons in the system through coding.

Figure 15. UI Color Reference on Tailwind CSS

In terms of the color schemes of the system’s user interface, the researcher

utilized Tailwind CSS Color Generator. The system utilizes a linear gradient of dark
COLLEGE OF ENGINEERING 71
blue green and light blue green. The colors used on dashboard, cards, fonts, icons,

and frames are all imported and provided by Tailwind CSS Color Generator.

Simultaneously, the other 2 researcher started on the development of the backend

where they utilized Django Framework.

Figure 16. Django Code Flow


COLLEGE OF ENGINEERING 72
Django: Web Application Framework

This study will utilize Django, a high-level Python web framework called Django

enables the quick creation of safe and dependable websites. Django, which was

created by seasoned programmers, handles a lot of the pain associated with web

development, allowing you to concentrate on developing your app without having to

recreate the wheel. It is open source and free, has a strong community, excellent

documentation, and a variety of free and paid support options.

URLs: While it is possible to process requests from every single URL via a single

function, it is much more maintainable to write a separate view function to handle each

resource. A URL mapper is used to redirect HTTP requests to the appropriate view

based on the request URL. The URL mapper can also match particular patterns of

strings or digits that appear in a URL and pass these to a view function as data.

View: A view is a request handler function, which receives HTTP requests and returns

HTTP responses. Views access the data needed to satisfy requests via models, and

delegate the formatting of the response to templates.

Models: Models are Python objects that define the structure of an application’s data,

and provide mechanisms to manage (add, modify, delete) and query records in the
COLLEGE OF ENGINEERING 73
database. The researchers created models such as meeting time, room, instructors,

course, program, and sections.

Forms: The researchers added form class, it is the heart of Django's form handling

system. It specifies the fields in the form, their layout, display widgets, labels, initial

values, valid values, and (once validated) the error messages associated with invalid

fields. The class also provides methods for rendering itself in templates using

predefined formats (tables, lists, etc.) or for getting the value of any element (enabling

fine-grained manual rendering).

Templates: A template is a text file defining the structure or layout of a file (such as

an HTML page), with placeholders used to represent actual content. A view can

dynamically create an HTML page using an HTML template, populating it with data

from a model. A template can be used to define the structure of any type of file; it

doesn’t have to be HTML [51]

Scheduling: The scheduling system will automatically generate schedules based on

the input data and the constraints set in the expert system using Genetic algorithm.

The schedules will be displayed on the system dashboard and will include all

necessary information such as class number, department, section, course, time,

classroom, and instructors.


COLLEGE OF ENGINEERING 74

Figure 17. Genetic Algorithm Flow Chart

Step 1: Initialize S chedule Population. The population is initialized by

randomly generating a collection of Schedule samples. The size of the population

depends on the number of Classes to schedule, and the computational time it takes

to evaluate each individual.


COLLEGE OF ENGINEERING 75

Figure 18. Genetic Algorithm in Class Scheduling

The figure above shows the sample chromosome and population of genetic

algorithm in class scheduling. Chromosome is referring to one specific class while the

population refers to the overall classes inside the department. The figure above also

shows that if the POPULATION SIZE is equal to two (2), the algorithm will initialize

schedules for all the classes inside the department twice. The POPULATION SIZE is

one of the main parameters of genetic algorithm.

Step 2: Evaluate Chromosomes. The evaluation function determines the

fitness of an individual. This is the most important part to the Genetic algorithm, if this

function is flawed, the algorithm will not produce results. The evaluation function
COLLEGE OF ENGINEERING 76
should not return a Boolean(true/false) value, it has to be a comparable result. If

individuals are able to be sorted from fittest to weakest, it is a viable evaluation

function. For evaluating class schedules the system identifies each conflict and adds

to the overall number of conflicts that will be used to determine the fitness value of

each automated schedule created. For a classifier the system returns this formula

[1/(1.0*self._numberOfConflicts +1)] as a score assignment, of how likely an individual

(class schedules) is a solution.

Step 3: Randomly choose the fittest class schedule(s). We will choose the

parents for mating during selection. Every youngster in the new population is subject

to selection. Fitness Proportionate Selection, Tournament Selection, and Truncation

Selection are the three types of parent selection techniques, in our case we use

tournament selection. A practical choice is to pass on a few people to the following

generation.
COLLEGE OF ENGINEERING 77

Figure 19. Sample Randomly Selected Parent 1 and 2

The first operator of genetic algorithm is the Selection operator as shown in

Figure 14. In this phase, we select a random schedule from the population based on

the number of selections that we set in the system. In this case we can only set the

number of selections to two (2) maxima because the number of populations is only

two (2). Since we set the selection number to 2 there are 4 different combinations that

the system may select;


COLLEGE OF ENGINEERING 78

Combination 1 Combination 2 Combination 3 Combination 4

Schedule1, Schedule 1, Schedule 2, Schedule 2,

Schedule1 Schedule 2 Schedule 1 Schedule 2

Table 3. Possible Output Combinations

Once the system identifies the fittest schedule on the randomly selected

schedules from the population it will become the parents, we need to mix and match

their DNA to create a new population of offspring. This procedure is known as

crossover. For each member of the population, a new parent will be chosen using

fitness proportional Selection. We choose a parent in a tournament and mate them

with every class in the population of schedules. Two DNA arrays can be crossed in

three different ways. Crossovers at 1 point, 2 points, and at random are all acceptable

but in our case, we use a new method to crossover called uniform crossover, wherein

the offspring has equal chances of getting traits from its parents.
COLLEGE OF ENGINEERING 79

Figure 20. Crossover Operator

By introducing variation into the population through mutation, the algorithm is

able to seek previously uncharted territory in the search space for better answers.

Each DNA element (classes) in the array has a 1-5% chance of being randomly

changed to implement mutation. With every offspring, the mutation procedure is

triggered.
COLLEGE OF ENGINEERING 80

Figure 21. Random Mutation

The figure shows the actual random mutation in class scheduling. We first initialize

a new population that will be used by the system to mutate or change each class in

the offspring. As stated above, each class has 1 to 5% chance of being mutated, this

is the last part of evolution. After this, we go back to the evaluation step; while the

fitness score of the evolved schedules does not meet the stop criteria of 1.0 fitness

score or NO CONFLICT schedules we keep on generating and evolving schedules.

Recalling the formula to get the fitness of the schedule from step number 2,
COLLEGE OF ENGINEERING 81
[1/(1*NumberOfConflicts + 1)], if we substitute 0 in number of conflicts we get

1/(1*0+1), This will be 1/1 = 1. [52]

System Overview

Figure 22. Django Admin Dashboard

In the system development, Django was utilized as a layer of security for the

system, as well as the database. In this dashboard, the admin that operates the

backend can see the data input of the user on the dashboard. Similar to the functions

in the front end, the admin can also perform CRUD operation at the backend. The
COLLEGE OF ENGINEERING 82
admin can also check the data per tab that is being inserted through the front-end by

the user.

After the development of front and back-end of the system, the researchers

then proceed on connecting the backend and the front-end. The process started

where researchers integrated login system before the user can access the front-end

of the web application. After setting up, the researchers then proceed on coding the

commands that will give functions to the buttons in the front-end. The buttons are then

subjected for functionality test to see if all the buttons are working and performing

based on their given function. After the buttons, the forms and the responsiveness of

the UI to different screen size is tested. After all the test, the system is now ready for

finalization. Once finalized, the system is now subject for dry run.

At this stage of development, the system will be tested through running it into

a command prompt terminal that is a built-in feature of Visual Studio Code. After being

run on the terminal, the IDE will then provide a localhost server that can be access by

the user through offline.


COLLEGE OF ENGINEERING 83

Figure 23. User Login Page

The figure above is the actual interface of the user login page. This is where

authorized users are authenticated, if the system determines that the user does not

exist in the system it will only redirect to the same page with a warning message that

the credentials entered is invalid.


COLLEGE OF ENGINEERING 84

Figure 24. Django Integrated Admin Login Page

This page is for administrator of the system, anything that is inputted from the

forms in the front end will reflect in the admin dashboard and admins can create

multiple accounts for users and give them limited permissions to the web application.
COLLEGE OF ENGINEERING 85

Figure 25. User Home Page Interface

This is the actual looks of the user interface after the user login to the website.

In the homepage there is a complete user manual how to use the system.

Figure 26. Lists and Forms


COLLEGE OF ENGINEERING 86
This page is where the user can perform the CRUD operation, Create, Read,

Update and Delete on all available data in the list. Also, there are cards at the top of

the list where the user can check the recent counters of all the inputted data. The rest

of the pages in the navigation bar such as, Instructors, Rooms, Course Offerings,

Programs and Sections are formatted like this.

Figure 27. About Us Page

In this page the user can view the developers of the system with their contact

information and social media accounts, so that if they need a support from the expert,

they can directly contact them with the links provided.


COLLEGE OF ENGINEERING 87
Phase 4 – Test. During this phase, the researchers proceed on the dry run

and testing of the system’s capacity to generate by categorizing testing phase into five

testing procedures.

Phase 5 – Review. In order to achieve the objectives of the study, researchers

assessed the system for its functionality and effectiveness. On this phase, the

researchers utilized various instruments and criteria for the review and assessment of

the system. The researcher also set responds that they believe should assess the

system as they are the ones who will benefit the most in this study. The researcher

used survey questionnaire as instrument to gather evaluation data from the

respondents. The research respondents are individuals who had experienced

scheduling a system, both current and previous. These respondents are Deans,

Department Chairs, and Vice Presidents of Pamantasan ng Cabuyao. It also includes

the Secretaries of the above-mentioned individuals as they are also responsible for

conceptualizing schedules.
COLLEGE OF ENGINEERING 88
Operation/Testing Procedure

The operation and testing procedure of the Autosched: Auto-Generate Scheduling

System Based on Expert System study involves several steps to ensure that the

developed software meets its objectives and goals. The following steps can be taken

to test the functionality and performance of the system. The testing procedure are as

follows:

Testing Procedure Number Description

1 Test Runs with all Constraints

Test Runs with all Constraints for 1st -


2
2nd Year

Experimental Default vs. New


3
Parameter

Test Run including 1st – 3rd Year,


4
Removed Soft Constraints

Test Run including 1st – 4th Year,


5
Removed Soft Constraints

Table 4. Five Categories used for Testing Procedure


COLLEGE OF ENGINEERING 89
The testing phase is consisted of five testing procedures that consists of 50 test

runs in test procedures 1 to 4, with 15 test runs in procedure 5.

Test Procedure 1. During this testing phase, the researchers use the default

parameters and considered all the constraints in generating scheduling for this testing

procedure.

Population Size 9

Number of Elite Schedules 1

Tournament Selection Size 3

Mutation Rate 0.05

Table 5. Experimental Default Parameters

At the earlier stage of the testing procedure, the researchers utilized the

experimental default parameters that they come up with upon the development of the

system. The parameter plays an important role in schedule generation as it greatly

affects the time generation and the accuracy of the generated schedule. With that

being said, the researchers proceed on testing using the above-stated parameter and

by considering both soft and hard constraints given when scheduling a system. Lastly,

this testing procedure only cover the first year of BSCpE Program with 2 Sections

named 1CpE-A and 1CpE-B.


COLLEGE OF ENGINEERING 90
Test Procedure 2. Similar to the procedure 1, procedure 2 is also utilizing the

default experimental parameters that the researchers used. The difference is that in

this procedure, the second year is included with two sections as well.

Test Procedure 3. This is the testing procedure where the researchers

included the third year of BSCpE Program. Thus, making it a three section and a total

of 6 sections in which there is a two section per year level. In this same testing

procedure, the researchers did a comparison of parameters in which the researcher

utilized new parameter for the testing procedure.

Parameter Default New

Population Size 9 50

No. of Elite Schedules 1 1

Tournament Selection
3 15
Size

Mutation Rate 0.05 0.05

Table 6. Comparison of Default and New Parameters

The goal of the comparison is to check which parameters can accommodate

the increasing number of population and data. One of the factors that affects the
COLLEGE OF ENGINEERING 91
generation time is the complexity of the output being generated, one of the things that

makes a schedule more complex is the number of year levels and the increasing count

of section that the system needs to generate and give schedule.

Test Procedure 4. This testing procedure includes first to third year with 2

sections each, similar to testing procedure 3. The difference is testing procedure 3

considers all of the constraints (soft and hard), while testing procedure 4 does not

include the soft constraints as criteria on generating schedule.

Test Procedure 5. Similar to testing procedure 4, this testing procedure does

not consider soft constraints when generating schedule too. The only difference it has

to testing procedure 4 is that it includes all year levels starting from first to fourth year,

each with two sections.


COLLEGE OF ENGINEERING 92

Figure 28. Test Procedure Results Documentation


COLLEGE OF ENGINEERING 93
The researchers documented all of the test runs data specifically the generation

time in seconds and generation count. The researchers documented all the data

through google spreadsheet and google drive for the pdf copy of the generated

schedule.

Evaluation Procedure

In order to achieve the objectives of the study, researchers assessed the

system for its functionality and effectiveness. The following procedures were followed:

Instrument

Based on the related literature and studies reviewed, the researcher prepared

questionnaires to assess the acceptability of the program. Questionnaires will be

distributed to the respondents. The evaluation tool includes 5 design project metrics

(Excellent, Very Good, Good, Fair and Poor) and considers the first three metrics were

satisfactory and the fourth and fifth were unsatisfactory. The proponents consider

“Very Good” as the acceptable and satisfactory rating. The researcher utilized RMSE

Performance Metrics to assess the output of the system in comparison to the previous

class schedules.
COLLEGE OF ENGINEERING 94
Respondents

Respondents of the study include Program head and Professionals.

Professionals include computer engineers, electronics engineers, electrical

engineers, technology researchers, technology experts, analysts, systems engineers,

web developers, and instructors in the field of computing and engineering.

Questionnaires will be distributed to all department chairpersons and 10

Professionals. Purposive quota sampling will be used to select the respondents.

Quota sampling is a non-probability sampling technique, specified numbers of persons

of certain types will be included in the sample. Purposive sampling targets a particular

group of people. This method of sampling is selected when the desired population for

the study is rare or very difficult to locate and recruit for a study (i.e., engineering and

technology experts).

Assess Excellen Very Good Fair Po


ment t Good or
Easy Easy to Less Hard to Do not
and use difficult use work as
Functio Conveni intended
nality ent to
use
COLLEGE OF ENGINEERING 95

The The The The The


consisten consisten software software software
Reliabil cy of the cy of the provides sometime does not
ity software software the s provides give
to to desired the consisten
produce produce result desired t results.
the the consistent result.
desired desired ly.
result is result is
outstandi outstandi
ng. ng. Some
errors
detected
The The The The The
software software software software software
Conten contains contains contains contains contains
t accurate accurate accurate innacurat inaccurate
data and data and data and e data. data and
updates updates updates outdated
as soon moderatel slower data.
as y slower than
possible than expected.
. expected.
The The The The The
Availability software software software software software
perform performs performs performs performs
s according according a bit below
accordin to its to its slow. expectatio
g to its specificati specificati ns.
specifica ons ons. Contains
tion . Imposes Imposes significant
minimal significant improvem
ents
COLLEGE OF ENGINEERING 96

s. improvem improvem .
Imposes ent s ents
no
improve
ments.

The The The The The


Maintainabi software software software software system is
lity can can cannot has high
handle handle handle provision maintenan
quick some quick s when ce.
enhance enhancem enhancem an error
ments ent s and ent s and appears.
and modificati modificati
modifica on on
tion

Table 7. Evaluation Criteria for Software Material


COLLEGE OF ENGINEERING 97
Instruments and Techniques Used

This section is used by the researchers to provide gathered information for the

development of the present study. It is implemented to guarantee the capacity of the

function and to acquire it, the following are listed below.

Observation. The researchers used naturalistic observation; the researchers

depended on what they saw as based on a circumstance that is being considered a

problem that needs to be addressed.

Interview. The proponents utilized an interview in involved departments in order to

develop deeper knowledge and understanding about class scheduling through the use

of open questions.

Flowchart, tables, and diagrams. The researchers provide flowcharts, data flow

diagrams, and block diagrams that helps to fully comprehend the procedures that must

be performed during the project building.

Library Research. The researchers were able to obtain the material they need from

numerous reputable educational websites that provide studies that are beneficial for

the current investigation and are related to those studies. Studies and publications in
COLLEGE OF ENGINEERING 98
the topic came from a variety of online sources as well. The data mentioned above is

important for creating the suggested design project.

Gantt chart. The researchers used Gantt charts to set an expected progress in the

study every week, as well as to help the researchers to work on the paper in an

organized manner.
COLLEGE OF ENGINEERING
REFERENCES

[1] “expert system,” Merriam-Webster.com Dictionary, https://www.merriam-


webster.com/dictionary/expert%20system. Accessed 3/19/2023.

[2] Asemi, A., Ko, A., & Nowkarizi, M. (2020). Intelligent libraries: a review on
expert systems, artificial intelligence, and robot. Library Hi Tech, 39(2), 412–434.
doi:10.1108/lht-02-2020-0038

[3] Martinez-Pabon, M., Eveleigh, T., & Tanju, B. (2018). Optimizing residential
energy management using an autonomous scheduler system. Expert Systems with
Applications, 96, 373–387. doi:10.1016/j.eswa.2017.12.017

[4] E. Davidson, “What is a computerized vs. manual scheduling system?,” Small


Business - Chron.com, 26-Oct-2016. [Online]. Available:
https://smallbusiness.chron.com/computerized-vs-manual-scheduling-system-
11956.html.

[5] coursedog.com, “3 common course scheduling errors that hurt students,”


Coursedog, 2023. [Online].Available:https://www.coursedog.com/articles/3-common-
course-scheduling-errors-that-hurt-students.

[6] Inettutor.com, “Class scheduling system Chapter 1,” iNetTutor.com, 23-Apr-


2020. [Online]. Available: https://www.inettutor.com/source-code/class-scheduling-
system-chapter-1/.

[7] www.computerhope.com, “What is a programming language?,” Computer


Hope, 13-Mar-
2021.[Online].Available:https://www.computerhope.com/jargon/p/programming-
language.htm.

[8] R. P. Medeiros, G. L. Ramalho, and T. P. Falcao, “A systematic literature review


on teaching and learning introductory programming in Higher Education,” IEEE
Transactions on Education, vol. 62, no. 2, pp. 77–90, 2019.

[9] www.coursera.com, “How long does it take to learn python? (+ tips for
learning),” Coursera, 13-Jul-
COLLEGE OF ENGINEERING 119
2022.[Online].Available:https://www.coursera.org/articles/how-long-does-it-take-to-
learn-python-tips-for-learning.

[10] “The benefits of automated scheduling,” Synerion North America Inc. Blog.
[Online]. Available: https://blog.synerion.com/the-benefits-of-automated-scheduling.
[Accessed: 21-Mar-2023].

[11] Bartek W., “How automated scheduling benefits the mobile workforce,”
Deskless Productivity and Mobile Workforce Management, 13-Oct-2022. [Online].
Available: https://www.skedulo.com/resources/blog/how-automated-scheduling-
benefits-the-mobile-workforce.

[12] “What is a computer glitch?,” Wonderopolis. [Online]. Available:


https://www.wonderopolis.org/wonder/what-is-a-computer-
glitch#:~:text=They%20can%20have%20a%20wide,by%20computer%20bugs%20or
%20viruses.

[13] Perelstein, E., Rose, A., Hong, Y.-C., Cohn, A., & Long, M. T. (2016).
Automation Improves Schedule Quality and Increases Scheduling Efficiency for
Residents. Journal of Graduate Medical Education, 8(1), 45–49. doi:10.4300/jgme-d-
15-00154.1

[14] S. Krishna, “Ten Ways Automated Scheduling makes a difference,” ReachOut,


03-Nov-2021. [Online].Available:https://www.reachoutsuite.com/ten-ways-
automated-scheduling-makes-a-difference/.

[15] Y. Khosiawan, Y. Park, I. Moon, J. M. Nilakantan, and I. Nielsen, “Task


Scheduling System for UAV operations in indoor environment - neural computing and
applications,” SpringerLink, 03-Mar-
2018.[Online].Available:https://link.springer.com/article/10.1007/s00521-018-3373-9.

[16] S. Datta, “Fundamentals of Heuristic Algorithm,” Baeldung on Computer


Science, 08-Nov-2022.[Online].Available:https://www.baeldung.com/cs/greedy-vs-
heuristic-
algorithm#:~:text=Heuristic%20algorithms%20are%20used%20to,step%20towards
%20finding%20the%20solution.
COLLEGE OF ENGINEERING 120
[17] “BIM-based framework for automatic scheduling of Facility Maintenance Work
Orders,” Automation in Construction, 07-Mar-2018. [Online]. Available:
https://www.sciencedirect.com/science/article/abs/pii/S0926580517307173.

[18] S. Rougas, “What is an expert system and what is used for?,” Expertise Finder,
01-Mar-2021. [Online].Available:https://expertisefinder.com/expert-
systems/#:~:text=An%20Expert%20System%20is%20a,t%20necessarily%20require
%20technical%20wizardry.

[19] M. H. Fazel Zarandi, A. A. Sadat Asl, S. Sotudian, and O. Castillo, “A state of


the art review of Intelligent Scheduling - Artificial Intelligence Review,” SpringerLink,
19-Nov-2018. [Online]. Available: https://link.springer.com/article/10.1007/s10462-
018-9667-6.

[20] “What are expert systems in AI: A complete guide,” Simplilearn.com, 13-Feb-
2023. [Online]. Available: https://www.simplilearn.com/tutorials/artificial-intelligence-
tutorial/what-are-expert-systems-in-ai.

[21] A. Neumeyer, “Manual vs. Auto Scheduling in MS project explained,” Tactical


Project
Manager,2021.[Online].Available:https://www.tacticalprojectmanager.com/manual-
vs-automatic-scheduling-ms-project/.

[22] B. Biafore, “The difference between auto and manual scheduling - Microsoft
Project 2019 ,” LinkedIn,24-Sep-
2018.[Online].Available:https://www.linkedin.com/learning/microsoft-project-2019-
and-project-online-desktop-essential-training/the-difference-between-auto-and-
manual-scheduling?autoplay=true.

[23] S. Krishna, “Ten Ways Automated Scheduling makes a difference,” ReachOut,


03-Nov-2021. [Online].Available:https://www.reachoutsuite.com/ten-ways-
automated-scheduling-makes-a-difference/. [Accessed: 22-Mar-2023].

[24] P. B. Licuanan "Memorandum Order (CMO) 87 s. 2017, which is known as


Policies, Standards, and Guidelines for BSCpE" official memorandum, Commision on
Higher Education, Manila, Philippines,2018[Online].Available:https://ched.gov.ph/wp-
content/uploads/2018/04/CMO-87-s.-2017-BS-Computer-Engineering.pdf
COLLEGE OF ENGINEERING 121
[25] Congress of the Philippines. Fifteenth Congress, Second Regular
Session.(2011,July 2),Republic Act 10173 - Data Privacy Act of 2012.
[Online].Available:https://www.privacy.gov.ph/dataprivacyact/?fbclid=IwAR3LmNZbe
FOz7ptIpjcH1ylKbX1ZkaIBFUFZdzKAfkq0350yJjhvWbJKxTE

[26] “Knapsack Problem Algorithms”, University of Colorado, Denver, May 2017.


Retrieved from
http://math.ucdenver.edu/~sborgwardt/wiki/index.php/Knapsack_Problem_Algorithm
s

[27] Carsten Murawski and Peter Bossaerts, “How Humans Solve


ComplexProblems: The Case of the Knapsack Problem”, October 2016. Retrieved
from https://www.nature.com/articles/srep34851/

[28] Ahmed Wasfy and Fadi A. Aloul, “Solving the University ClassScheduling
Problem Using Advanced ILPTechniques”. Retrieved from
http://citeseerx.ist.psu.edu/viewdoc/download;jsessionid=83CF2A3380EB4E45C5B2
241036C7FAE2?doi=10.1.1.140.3740&rep=rep1&type=pdf

[29] Ellis Cohen and Jarurat Ousingsawat, “An Introduction to Algorithms for
Solving Schedule-Related Problems”, January 2015. Retrieved from
http://www.project.net/introduction-algorithms-solving-schedule-related-problems

[30] J Zhou, P E D Love, X Wang, K L Teo and Z Irani, “A review of methods and
algorithms for optimizing construction scheduling”,March 2013. Retrieved from
https://link.springer.com/article/10.1057/jors.2012.174

[31] Geek for Geeks, “What is Algorithm | Introduction to Algorithms,”


https://www.geeksforgeeks.org/, Mar. 15, 2023.

[32] I. R. Ahmad, S. Sufahani, M. Ali, and S. N. A. M. Razali, “A Heuristics Approach


for Classroom Scheduling Using Genetic Algorithm Technique,” in Journal of Physics:
Conference Series, Apr. 2018, vol. 995, no. 1. doi: 10.1088/1742-6596/995/1/012050.

[33] M. K. Kakkar, J. Singla, N. Garg, G. Gupta, P. Srivastava, and A. Kumar, “Class


Schedule Generation using Evolutionary Algorithms,” in Journal of Physics:
Conference Series, Aug. 2021, vol. 1950, no. 1. doi: 10.1088/1742-
6596/1950/1/012067.
COLLEGE OF ENGINEERING 122
[34] S. Kumargazhanova, Y. Fedkin, L. Suleimenova, and A. Urkumbaeva,
“Development and Implementation of an Automation Algorithm for Class Scheduling
Process at Universities.”

[35] R. Ansari and N. Saubari, “Application of genetic algorithm concept on course


scheduling,” in IOP Conference Series: Materials Science and Engineering, May
2020, vol. 821, no. 1. doi: 10.1088/1757-899X/821/1/012043.

[36] X. Chen, X. G. Yue, R. Y. Man Li, A. Zhumadillayeva, and R. Liu, “Design and
Application of an Improved Genetic Algorithm to a Class Scheduling System,”
International Journal of Emerging Technologies in Learning, vol. 16, no. 1, pp. 44–59,
2020, doi: 10.3991/IJET.V16I01.18225.

[37] O. Rossi-Doria et al., “A Comparison of the Performance of Different


Metaheuristics on the Timetabling Problem,” Springer eBooks, pp. 329–351, Aug.
2002, doi: https://doi.org/10.1007/978-3-540-45157-0_22.

[38] H. Terashima-Marín, P. Ross, and M. Valenzuela-Rendón, “Application of the


hardness theory when solving the timetabling problem with genetic algorithms,”
Congress on Evolutionary Computation, Jul. 1999, doi:
https://doi.org/10.1109/cec.1999.781988.

[39] E. Yu and K. Sung, “A genetic algorithm for a university weekly courses


timetabling problem,” International Transactions in Operational Research, vol. 9, no.
6, pp. 703–717, Nov. 2002, doi: https://doi.org/10.1111/1475-3995.00383.

[40] S. Lukas, A. Aribowo, and Milyandreana Muchri, “Genetic algorithm and heuristic
search for solving timetable problem case study: Universitas Pelita Harapan
timetable,” International Conference on Applications of Digital Information and Web
Technologies, Oct. 2009, doi: https://doi.org/10.1109/icadiwt.2009.5273979.

[41] R. Lewis and B. Paechter, “Application of the Grouping Genetic Algorithm to


University Course Timetabling,” Lecture Notes in Computer Science, pp. 144–153,
Mar. 2005, doi: https://doi.org/10.1007/978-3-540-31996-2_14.

[42] P. Wang, X. Xu, and C. Liu, “An improved adaptive genetic algorithm and its
application in intelligent course scheduling system,” in Proceedings - 2019 6th
International Conference on Information Science and Control Engineering, ICISCE
2019, Dec. 2019, pp. 121–125. doi: 10.1109/ICISCE48695.2019.00034.
COLLEGE OF ENGINEERING 123
[43] G. Sun and Y. Li, “Research and analysis of course arrangement based on
genetic algorithm,” in Journal of Physics: Conference Series, Oct. 2020, vol. 1650, no.
3. doi: 10.1088/1742-6596/1650/3/032050

[44] J. Ni and N.-N. Yang, “Genetic Algorithm and its Application in Scheduling
System,” TELKOMNIKA, vol. 11, no. 4, pp. 1934–1939, 2013.

[45] Althea Gonzales and Jessy Go, “Earlier classes, longer breaks draw mixed
reactions”, June 2014.Retrievedfromhttp://thelasallian.com/2014/06/10/earlier-
classes-longer-breaks-draw-mixed-reactions/

[46] Anne Marxze Umil, “New school year, same old problems: K to 12, shortages
in classrooms,
teachers”,June2017.Retrieved:http://bulatlat.com/main/2017/06/06/new-school-year-
old-problems-k-12-shortages-classrooms-teachers/

[47] Anne Marxze Umil, “New school year, same old problems: K to 12,shortages
in classrooms,
teachers”,June2017.Retrievedfromhttp://bulatlat.com/main/2017/06/06/new-school-
year-old-problems-k-12-shortages-classrooms-teachers/

[48] Paulyn Navarrete and Illiana Tan, “Persistent issues faced duringenlistment”,
January 2015. Retrievedfromhttp://thelasallian.com/2015/01/29/in-review-persistent-
issues-faced-during-enlistment/

[49] F. R. E. Labuanan, S. J. E. Tapaoan, and R. Q. Camungao, “Application of


representation and fitness method of genetic algorithm for class scheduling system,”
International Journal of Recent Technology and Engineering, vol. 8, no. 2, pp. 1816–
1821, Jul. 2019, doi: 10.35940/ijrte.B1026.078219.

[50] D. M. Calimot and J. P. De Francia, "Class Scheduling System for UIC-ITE


using Genetic Algorithm." Available: https://ejournals.ph/article.php?id=6137

[51] S. Aslan and C. Aci, “Solving University Course Timetabling Problem Using Ant
Colony Optimization: An Example of Mersin University Engineering Faculty,”
International Conference on Advanced Technologies, Computer Engineering and
Science (ICATCES’18), May 2018.
COLLEGE OF ENGINEERING 124
[52] ched.gov.ph, “Ched - the official website of commission on higher education,”
About the Commission, 18-May-1994. [Online]. Available:
https://ched.gov.ph/contact-us/.

[53] P. G. Team, “Expert systems in AI,” Python Geeks, 14-Nov-2022. [Online].


Available: https://pythongeeks.org/expert-systems-in-ai/.

[54] www.coursera.com, “What is python used for? A beginner's guide,” Coursera,


15-Nov-2022. [Online]. Available: https://www.coursera.org/articles/what-is-python-
used-for-a-beginners-guide-to-using-python.

[55] A. S., “What is HTML? hypertext markup language basics explained,” Hostinger
Tutorials, 16-Feb-2023. [Online]. Available: https://www.hostinger.ph/tutorials/what-
is-html.

[56] mdn web docs, “Django Introduction - Learn Web Development: MDN,” Learn
web development | MDN, 24-Feb-2023. [Online]. Available:
https://developer.mozilla.org/en-US/docs/Learn/Server-side/Django/Introduction.

[57] Tech-Effigy, “Tech,” Effigy, 17-Feb-2015. [Online]. Available:


https://techeffigytutorials.blogspot.com/2015/02/the-genetic-algorithm-
explained.html.

You might also like