INTELLIGENT COURSE ALLOCATION AND
DISTRIBUTION SYSTEM
BY
SOETAN KAUSARAT OLUWATOYIN
HC20220105713
A PROJECT SUBMITTED TO THE DEPARTMENT OF COMPUTER SCIENCE,
SCHOOL OF APPLIED SCIENCE, FEDERAL POLYTECHNIC EDE,
OSUN STATE.
IN PARTIAL FULFILLMENT OF THE REQUIREMENT FOR THE AWARD
OF HIGHER NATIONAL DIPLOMA (HND) IN COMPUTER SCIENCE IN THE
SCHOOL OF APPLIED SCIENCES OF THE FEDERAL POLYTECHNIC, EDE,
OSUN STATE.
NOVEMBER, 2024
i
ii
DEDICATION
This research work is dedicated to God Almighty, the author and the finisher for giving me the
grace to start and finish the Higher National Diploma programme in sound health. I dedicate this
project to the little children out there so as to rekindle the dying fire of Nigeria culture.
iii
ACKNOWLEDGEMENT
First and foremost, I would like to thank the Almighty God for sparing my life since the day I was
born till this moment. I would like to express my heartfelt gratitude to my parent, Mr. and Mrs.
Soetan for their moral, prayer, caring, advice and financial support, my prayer is that they will eat
the fruit of their labor. (Amen). My insightful gratitude goes to my project supervisor Mr. Ramoni
T. A. who gave me the golden opportunity to do this wonderful project. May God bless you labor
of love sir.
I don't have enough words to extend my gratitude to the head of department and my lecturers, and
all other members of staff in the department, for their love, kindness, support and directives. I love
you all. Finally, yet importantly, I would like to acknowledge my family members that support
towards the progress and successful completion of my program, God will reward you with good
tidings.
iv
ABSTRACT
Efficient course allocation is a critical aspect of academic planning in educational institutions, ensuring that
students are assigned courses based on preferences, prerequisites, and institutional constraints. This study presents
the design and implementation of a Course Allocation System that automates the process, minimizing
administrative workload and optimizing course distribution. The system employs an intelligent algorithm to match
students with available courses while considering factors such as departmental requirements, faculty availability,
and timetable constraints. By leveraging a user-friendly interface, the system enhances accessibility and efficiency
for both students and administrators. The proposed system improves fairness in course allocation, reduces manual
errors, and enhances overall academic planning. Experimental results demonstrate the system's effectiveness in
handling large student populations while maintaining flexibility and adaptability. This research contributes to the
development of automated academic management systems, offering a scalable solution to institutions seeking to
streamline their course allocation process.
v
TABLE CONTENT
Title page i
Certification ii
Dedication iii
Acknowledgement iv
Abstract v
Table of Content vi
CHAPTER ONE
INTRODUCTION
1.1 Background of the Study 1
1.2 Statement of the Problem 2
1.3 Aim and Objectives 2
1.4 Significance of the Study 3
1.5 Scope and Limitation of the Study 3
1.6 Definition of Terms 5
CHAPTER TWO
LITERATURE REVIEW
2.1 Introduction 7
2.2 Conflict Resolution 15
2.3 Project allocation Process 15
vi
CHAPTER THREE
RESEARCH METHODOLOGY
3.1 Introduction 18
3.2 Research Design 18
3.3 Data Collection 18
3.4 System Requirements 18
3.4.1 Functional Requirements 19
3.4.2 Non-Functional Requirements 19
3.5 System Design 19
3.5.1 System Architecture 19
3.5.2 Database Design 19
3.6 System Implementation 20
3.6.1 Development Tools 20
3.6.2 System Modules 20
3.7 Testing and Validation 20
CHAPTER FOUR
SYSTEM IMPLEMENTATION AND TESTING
4.1 Introduction 21
4.2 System Implementation 21
4.2.1 Development Tools 21
4.2.2 System Modules 21
4.3 System Testing 22
4.3.1 Unit Testing 22
vii
4.3.2 Integration Testing 22
4.3.3 User Acceptance Testing (UAT) 22
4.4 System Evaluation 22
4.5 Challenges and Limitations 23
CHAPTER FIVE
SUMMARY, CONCLUSION AND RECOMMENDATION
5.1 Introduction 24
5.2 Summary of Findings 24
5.3 Conclusion 24
5.4 Recommendations 25
5.5 Future Work 25
5.6 Summary 25
REFERENCE 26
APPENDIX 27
viii
CHAPTER ONE
INTRODUCTION
1.1 Background of the Study
Over the years allocation of course their credit units and departmental timetable have been
growing from one stage to another and similarly, the procedures and routine embarked on every
semester coupled with the departmental growth compounded the problem of manual allocation
of course their units and thereby delays the registration procedures because some students paying
extra fee as payment that is demanded in addition to the usual charge for registering their course
late, as late payment but computerization or automation of course their credit units allocation
and departmental time provide the most effective reliable and quickest services required by the
students (Afuye, 2021). Basically, before the invention of computers, computation were done
manually and in the case of the departmental course, their credit units and departmental
timetable, it has caused accelerated progress especially the automation of department course their
credit units and departmental time table. Computer technology has been accepted as an
indispensable innovation in most fields of human endeavour in which departmental courses is
not an exception.
Hence, the efficiency of an organization or establishment would be achieved if they embark on
compute r-based system (Steph and Steph, 2020). However, using the computer based system in
place of the manual system, a charge that is going on in Federal Polytechnic Ede course
registration procedure. It will make the practical insinuation of high technology. This will
enhance the time needed for processing of departmental course and attend to other subsequent
information needed by the management system. The important of this researcher is so prominent
with the current of processing the departmental course and suggest a complete efficient and
1
reliable approach that will be of immense benefit to most higher institutions in general especially
to the Federal Polytechnic Ede. Actually, this would go a long way to improve their service by
exposing and creating awareness of computer applications.
1.2 Statement of the Problem
Since established in 1992, school has been facing several challenges, one of which was late
allocation of course and credit units to enable the students finish their registration process and
have foresight of what the semester would look like. It was studied and discovered that
automation of departmental course and the manual system of allocation course, their credit unit
usually waste a lot of time and papa even pen can be reduced on the process of arranging it and
also improve upon removing such problems. Below are some of the problems in this system.
1. It delays students registration process.
2. It results to high cost of data processing each semester.
3. It wastes much paper and make filling of form cumbersome.
4. It delays other departmental duties that are also important.
5. It results to inefficiency of course allocation.
1.3 Aim and Objectives
The aim of this project work is to develop a computerized course allocation system. Objectives
of the research include:
Designing a system that will be more interactive to students and lecturers.
Provide an automatic system that will reduce the work load of staff especially the HODs.
The research will also serve as a source of information to students, lecturers and computer
science researchers who would want to engage in such topic “The Automation of Departmental
course their credit Unit Allocation and departmental time table
2
4. Provide quicker and more efficient services (course allocation) using an automated system
(computer).
1.4 Significance of the Study
Definitely, the complete implementation of this work will be introduced as a trend in the present
method of allocating courses, their credit units, and departmental timetables. The change would
undoubtedly make the management and students happier. Such envisaged changes will include
the following:
1. The high cost incurred by the management in buying papers, pens, pencils, markers,
measuring rulers, etc., and the clerical duties involved in course allocation and
departmental timetabling will be drastically reduced because hard disks, floppies, and
tapes would be used instead of the above-mentioned materials.
2. The time involved in allocating and reallocating courses, which normally results in
delays, will be reduced.
Students would then utilize their time efficiently during the registration of courses.
1. The automated system would also serve as a reference file for the students and staff since
the course credit units, timetable, and lectures in charge of all are therefore included.
2. The researcher’s work is also significant because it is based on the award of a Diploma
in Computer Science. However, its significance can only be better appreciated when it is
implemented, evaluated, and maintained for continuous use in the computer science
department, from where other departments can benefit.
1.5 Scope and Limitation of the Study
This study is aimed at finding out how the use of an automated system can help in course
allocation in the Computer Science Department of Federal Polytechnic, Ede. The study covered
3
only the department of computer science due to some limitations of the researcher to extend the
research to other departments within the school of applied science. The constraints are as
follows:
Finance: Fund or running around for the data required was in short supply and
consequently hindered further research.
Time Constraints: Due to the required completion, time of this research work, it was not
possible to extend the research to other departments.
Complexity: Meanwhile extending the research to all department within institution
would lead to completion and complication resulting to unliability of research.
Cost: Feasibility cost conducting the research in all schools departments provide that it
is not feasible for a single students (the researcher) to bear students can continue work
on this research in future until
It's administration made it possible for it to comprise of four schools, they are as follows:
1. School of General studies and continuing Education (SBMT)
2. School of Engineering Technology (SET)
3. School of science and Industrial Technology (SSIT)
The schools are made up of Departments, which offers various National diploma (ND). Higher
National diploma (HND) and diploma programmes respectively. The case study department of
computer Science, a sub of schools of science and Industrial Technology offers various course
leading to National Diploma programme to its students. Hence, the case study is chosen so that
any successful achievement records on this work (research) can easily be transferred to their
departments within the institutions, the staff of the department comprise of the following.
1. Direct of school (DOS)
2. Head of Department (HOD)
4
Secretary
1. Lecturers
2. Chief Technologist
3. Assistant technologist
4. Laboratory Attendants
5. Office Assistance (Messengers)
1.6 Definition of Terms
In this chapter being the first chapter of this project work certain terms relating to this research
work which may look very irrelevant to somebody from other discipline are defined underneath.
1. Automation: The conversion of manual system to machine (Computer) based system
2. Computer: It is a machine mainly an electronic device which accepts the data as an
input, process the data and generate the result as an output.
3. Credit Unit: This is the number of hour, practical or tutorial or allocated weeks in each
semester.
4. Head of Department: The "Head" as the name implies the controller of director even
the person or body at the hem of affair in the
5. Director of school: This is the person that co-ordination each
6. Technologist: This is the technological craft man that can dissemble and re-assemble
any technical device or machine.
7. Course: every programme in each department based on arrangement in which course are
evaluated in terms of credit. A course consists of a certain number of hours of teachers,
students contact devoted to study in a circumscribed area of the program. This include
Lecturers, tutorial; seminar/workshop period. Some related course which is closely to it
may be considered too wide to be, are usually broken down into or more course, each
one having it's own designated number of credit hours.
5
CHAPTER TWO
LITERATURE REVIEW
2.1 Introduction
The academic performance of a student in a tertiary institution is a function of two variables: (i)
ability of a student being taught very well in school, and (ii) ability of a student coping with
his/her Course of Study. The later case is not considered in this work because very many students
enroll for the course of study they have the academic potential of studying at the university as
justified by the entry requirements satisfied by them during Admissions. For the former case, on
the other hand, available literature showed that allocation of courses to lecturers is not efficiently
carried-out in many tertiary institutions in Nigeria and beyond (Steph and Steph, 2020). Some
lecturers hold on to certain courses almost indefinitely (whether they teach those courses well or
not) for certain selfish reasons. Again, courses are allocated to lecturers based on academic ranks
alone without due consideration of other factors like: area of specialization, assessment of
lecturer's performance in class by students, etc. All these militating factors are pointers to poor
academic performance of students in school.
The academic performance of a student is used as a yardstick for determining the progression of
a student from one level of study to another. According to (Jadesola et al., 2022), At the end of
each academic year, your faculty assesses your academic performance and determines your
eligibility to continue studying your course. If you have made satisfactory progress. you will be
assigned the status of "Good standing". You will then be permitted to re-enrol [for a higher level
of study]. If you have failed to make satisfactory progress, you may be placed on probation,
suspended or excluded From the foregoing, it implies that lecturers should, on their own part.
teach the students effectively to enable the students excel in their academic pursuits.
6
The author in Afuye (2022) described effective teaching as, “the extent to which a teacher is able
to encourage students” understanding of the subject-matter to enable them improve on their
academic performance”. Available literature however showed that the academic performances
of students are deteriorating in many tertiary institutions in Nigeria and beyond. According to.
the boss of NUC (National Universities Commission of Nigeria) expressed worry over the high
rate of poor academic degrees obtained by students on graduation. The observation carried out
by the author in showed that, Most students cannot stay focused throughout a lecture. After about
10 minutes their attention begins to drift, first for brief moments and then for longer intervals.
and by the end of the lecture, they are taking-in very little and retaining less.
The author therefore suggested that students” attention can be maintained by a lecturer
throughout a class session by periodically giving them something to do (like asking them
questions, giving them class exercises, etc). This view was supported by (Kareem 2019) who
stated that teaching is a bidirectional communication in which students should be active
participants in the process. The observation technique carried out by the researcher showed that
may lecturers perform poorly in communicating facts, ideas, skills, and techniques needed for
good understanding of the courses they are teaching. This is largely due to two main factors: (i)
some lecturers are not very proficient in the courses assigned to them, and (ii), some of the
lecturers are lacking teaching skills.
Very minimal efforts have so far been made by researchers in designing an automated system
for allocating courses to lectures efficiently. The authors in proposed a system whereby courses
can be allocated to lecturers based on their preferred courses with respect to their areas of
specialization. This is a bold step towards efficient course allocation. However. the system did
not go further to assess the performance of a lecturer on the course(s) assigned to him/her to
7
justify his/her continuous teaching of the course(s), or whether there is a need for some
readjustments. This is why (Adekunle et al., 2019) is of the opinion that inasmuch as students
are being assessed by lecturers (through tests, quizzes, assignments, practicals, and exams) to
ascertain their academic performances, lecturers should equally be assessed by students to
ascertain their teaching performances in class. The author suggested the use of the following
yardstick for assessing a lecturer: (i) level of understanding of the course, (ii), ability to relate
the subject to other disciplines or to practical use, (iii) attitude of the lecturer to students such as
(a) punctuality in class, (b) being audible in class (c) writing legibly in class, (d) ability to ask
and answer questions, and (e) being enthusiastic/humorous in class. This work utilized all these
excellent ideas by the author in order to make the developed algorithm more efficient.
According to (Tidjani et al., 2021), course allocation problems should continuously attract the
interest of researchers in the quest for the best approach for assigning courses properly to
lecturers for improved teaching. The algorithm developed in this work is therefore subject to
improvement from other renowned researchers to actualize this objective. Anytime we are
crucial with time, accuracy, and error free of processing data, using machine learning tactic to
handle the necessary procedures always prove encouraging and convenient than manual
methods. The usual way of solving the general assignment problem by most institutions is to
manually examine the full list of courses in some predefined order and for each course to find a
corresponding shortlist of best-fitting lecturers, and then assign one of those lecturers to the
course. Some of the reviewed studies include who conducted a research on important research
tool in operations research as it was applied to a particular structure of the multi-criteria
assignment problem. The study addressed the problem of effectiveness of feasible solutions of a
multi criteria assignment problem which was done in two steps: the first one determined whether
8
or not a given feasible solution of a multi-criteria assignment problem was a real efficient one
while the second step was based on what will happened if the feasible solution was not real
efficient, by providing a real efficient solution that dominated that not real efficient solution.
According to Rashed et al., (2022), from Indonesia carried out a research which addressed
timetabling problem in a university. The study focused the problem of assigning teachers to the
courses and courses sections. In this study a mathematical programming model was formulated.
simulated annealing (SA) and table search (TS) algorithms were proposed to solve the problem.
One phase involved allocating the teachers to the courses and determining the number of courses
to be assigned to each teacher. The other phase involved assigning the teachers to the course
sections in order to balance the teachers' load. At the end, the computational results showed that
in general, table search performed better than simulated annealing and other previous work. For
the real data sets, the computational results showed that both proposed algorithms yielded better
solutions when compared to manual allocation done by the university. Embarked on a study by
introducing a new approach to assigning one method to solve a wide range of assignment
problem in which he obtained a reduced matrix to arrive at optimal solution. A paper presented
a review pertaining to assignment problem within the education domain the paper classified
assignment problems into two, which were timetabling problem and allocation problem. The
timetabling problem was further classified into examination, course, and school timetabling
problems, while the allocation problem was divided into student-project allocation, new student
allocation, and space allocation problems Also, conducted a study in multiagent systems; they
formulated the problem as a multiple travelling salesmen problem (MTSP), which was an
extension to the well known travelling salesman problem (TSP), both considered to be NP-hard
combinatorial optimization problems. They proposed a solution in which agents interacted in an
9
economic market to win tasks situated in an environment. The agents strived to minimize
required costs, defined as either the total distance travelled by all agents or the maximum distance
travelled by any agent. Hence, (Alade et al., 2022) carried out a study they applied the assignment
model to the course allocation problem in Nigeria tertiary institution in order to maximize
lecturers' effectiveness. The study revealed that the adoption of the assignment model in course
allocation is a an attempt to help the institutions to experience 13.20% increment in lecturers'
effectiveness which could lead to increase in the quality of education students get. The study
concluded that assignment model was a unique model that could be used to solve course
allocation problems in tertiary institutions .
In reference study on personnel assignment problem and proposed solution to solve the problem
was conducted, the analysis results revealed potential solution approaches, the trends in
application of existing solution methods, and some potential future research areas. It was
observed that artificial intelligence and machine learning still have a good potential to contribute
to this field of research in different applications. Reference, suggested an algorithm combining
binary programming with scenario planning and applying the optimism coefficient, which
described the manager's nature (attitude towards risk). The procedure was designed for one-shot
decisions (i.e., for situations where the selected alternative is performed only once) and pure
strategies (the execution of a weighted combination of several decision variants is not possible)
when considering new (innovation or innovative) projects or projects performed in very turbulent
times. Adigun et al. (2018) carried out a study on Conference Paper Assignment Problem
(CPAP) which resolved the problem of assigning reviewers to conference paper submissions in
a manner intended to minimize wheingeing. It was assumed that papers were reviewed by
members of a preset program committee (PC), each of whom has the opportunity to bid on papers
prior to the
10
assignment algorithm being run. In the study, they showed that CPAP was in P if the only
information given was individual program committee members' preferences for individual
papers. However, if both preferences and expertise (based on, say, keywords) were given, the
problem was potentially more complex. Reference presented the problem of allocating a set of
indivisible objects to agents in a fair and efficient manner.
In all of these cases, the consequences of failing to find the best assignments for the courses are
extremely severe. Problem of assigning teachers or lecturers to courses can be in different forms:
When underqualified lecturers assigned to highly logical or complex courses like programming
languages, when over-qualified lecturers assigned to less logical or complex courses like
introduction to Computer, and when a total number of courses assigned smaller than the
maximum achievable of a lecturer. An underqualified assignment may result in student's
dissatisfaction with the course, eventual reduction or loss of students enrolling for the course,
and loss of referrals from the students. If problem of assigning teachers or lecturers to courses is
not quickly checked it may result in mass failure from the students, adding more loads to other
staff in the department and eventual decreased in number of students to the university or college.
and the general dissatisfaction of the students and society at large. Resource allocation is an
integral aspect of any organization. It is the responsibility of management to ensure the efficient
allocation of organization's resources. Decision-making function may not be effective if the
required information with which the decision will be made is not available at the right time.
Resource allocation is geared towards achieving the organization's purpose. Resources are
acquired, allocated, motivated and manipulated by the manager's control. This include: plant and
equipment, people, materials, money, and information. In a Polytechnic environment.
conducting research in areas chosen by the students or academic is a prerequisite for meriting a
degree or
11
diploma. The Institution oversees that courses are taught and award of degree or diploma given
to students who satisfactorily and successfully completed a predetermined course of study that
is offered by the institution, and also found worthy in character. Central to all diplomas is a
project that students have to undertake and submit in support of their candidature for their
National Diploma (ND) or Higher National Diploma (HND). Part of this process is the selection
and allocation of final year projects involving both academic staff and students. “Whilst the
Students Project Allocation (SPA) problem from a resource allocation perspective is not an
especially complex one, aspects of the aforementioned methodology are still relevant and can be
utilized in a basic form to aid in this project's success. At a conceptual level, the SPA problem
relating to the Department of Computer Science involves three core objects/entities: students,
projects and supervisors” Morgan (2012). The students need a project topic and an academic for
supervisor, who has adequate ability to supervise the project and a willingness to do so; to
complete a student’s project. From the student’s point of view, once the pairing is satisfied, “then
one can say that the appropriate resources have been successfully allocated to allow both the
University and students to meet their primary purposes: that students have a suitable project to
undertake. and that the University enables the student to go on and complete their chosen
program of enrolment whist making sure that its academic staff have a balanced workload”
Morgan (2012).
In some institutions abroad, the institution has a list of projects they want to embark on for a
particular session. The call for projects takes the form of an email to supervisors requesting that
they write their project proposals and upload them to an online learning environment used by the
institution. A project proposal basically has a project title, a detailed description and the
maximum number of students that will work on the project. At completion, it is uploaded to the
institutions website. It is the duty of support staff to browse through the list of projects to check
12
whether any supervisor has not uploaded sufficient number of projects. If this is the case, an
email is sent to them reminding them to upload more project proposals.
Bouakaz (2015) Next is the release of the project proposals to students. A few weeks prior to the
project allocation week, students are given access to the site where they can view all of the
supervisors’ projects for the session. An email is sent out to the students to notify them that the
list of proposals has become available to view. Discussion board is available for questions and
answers about the various topics. During the project allocation week, a student formally requests
a project from the supervisor through the online platform. Usually, a student request for a project;
the supervisor chooses the student to make the offer to; An offer notification is sent by the
supervisor to the student by email; students accept an offer and the project is considered to be
allocated Bouakaz (2015).
The Student Project Allocation problem (SPA) is a many-to-one matching problem and is an
extension of the extensively studied one-to-one ́ Stable Marriage Problem (SMP). Although a
complete and comprehensive solution to the many-to-one matching problem has yet to be found,
there are many comparable examples that offer a solution based on allowing a level of
compromise within the results they obtain. The Department of Computer Science, University of
York is one of the Universities in UK that has a working Student Projects allocation system: A.
J. Fisher computerised the project allocation process in 1998 with the aim to reduce the amount
of administration time needed by students, academics, and administrative staff in allocating
projects to students. He also had the intention to make the process fairer. The system manipulates
input data to make it fit the GS algorithm by preventing the scenario from occurring in which
students could end up without a project. Although it is not perfect, it has proven to be fairly
successful. In 2000, Jonathan Dyer, a then student of the department, worked on the same
13
project to improve the algorithm used by A. J. Fisher designed by taking a constraint logic
programming approach. The system he constructed was not entirely successful because it took
too long to find useful results However; Jonathan’s work was able to provide new possible areas
of research which could help produce a useful system (Morgan, 2012).
2.2 Conflict Resolution
According to Dechter (1991), Conflict resolution governs constraint satisfaction and resource
allocation. It provides a framework for constraints to be defined and how resources should be
allocated. Conflict situations can are in two categories: The first is competitive conflict
situations, in which each party only has their own interests at heart and neither party desires to
reach a globally optimal situation unless it proves beneficial to them; the second, cooperative
conflict situations, involves both parties being united in achieving a higher goal to reach a
globally optimal solution. Klein said “This often requires the sacrifice of personal benefits in the
interest of achieving the higher goal.” “Psychological, the relationship between two (or more)
parties – the level of trust and friendship may affect conflict resolution. Bias may be introduced
in the process. Automating the allocation process would make it fair to all parties involved.
2.3 Project allocation Process
In some institutions abroad, the institution has a list of projects they want to embark on for a
particular session. The call for projects takes the form of an email to supervisors requesting that
they write their project proposals and upload them to an online learning environment used by the
institution. A project proposal basically has a project title, a detailed description and the
maximum number of students that will work on the project. At completion, it is uploaded to the
institutions website. It is the duty of a support staff to browse through the list of projects to
14
check whether any supervisor has not uploaded sufficient number of projects. If this is the case.
an email is sent to them reminding them to upload more project proposals. Bouakaz (2015)
Next is the release of the project proposals to students. A few weeks prior to the project allocation
week, students are given access to the site where they can view all of the supervisors' projects
for the session. An email is sent out to the students to notify them that the list of proposals has
become available to view. Discussion board is available for questions and answers about the
various topics. During the project allocation week, a student formally requests a project from the
supervisor through the online platform. More than one student may request for a project but the
supervisor may choose a student that will work on the project. An offer is then sent by the
supervisor to the student by email, at which point the student will have 24 hours to accept the
offer. Given that students can (and are expected to) request more than one project, they may
receive several offers during the week but may only accept one offer. If an offer is accepted, the
student is committing to take that project and is invariably declining any other offers they have
received. Once an offer has been accepted by a student, that project is considered to be allocated
Bouakaz (2015).
Vamsi Krishna Yepuri, Gopi Chand Pamu, Naveen Kodali, Pradyumna L V from the department
of information Technology has proposed the system termed as "Examination Management
Automation System". The project main objective is to develop an android and web based
application that is designed to manage and handle the operations in an education institute during
the time examinations. It is an application that can be used by all the students and staff in an
education institute in order to facilitate the communication between them. This application is
send the student seating allocation and used for only communication purpose. S. Priya
Dharashini, M. Selva Sudha from the Department of computer science engineering
15
has proposed the system termed as “Exam cell Automation System”. The project main objective
is to simplify the allocation of halls in the institute and also allows the students to access the
examination information of their respective departments. The admin updates the information
about the status of the students, the scheduling of the test, the layout of the hall and the available
hall space. Now the automated system must produce the seating order for the students in the
form of a spreadsheet, which is generated by department staff. Dayanand G Savakar, Ravi Hosur
from Rani Chennamma University, Belagavi has developed a cloud based application for the
examination management system and termed the application as “Automation of Examination
System”. This application is cloud based framework for allocating student seats and allocating
faculty supervision for university-level review to handle the academic examination process using
cloud computing technology. Here the computerized system allocates the number of students to
a particular block and supervisor to their block and generate reports cards the particular date,
session, block and generate the reports for the students. In those generalized project the faculty
leave management module are not added. Our system we add those module. Faculty leave
management for supervisor and supervision allocated for particular time that run-time
adjustment for the supervision for available faculty and sends the mail for both the available
faculty and admin for confirmation purpose and sending reminder mails for both.
16
CHAPTER THREE
RESEARCH METHODOLOGY
3.1 Introduction
This chapter presents the research methodology adopted for the development of a computerized
course allocation system. It outlines the research design, data collection methods. system
requirements, system design, and implementation approach. The methodology aims to ensure
the development of an efficient and automated course allocation system that streamlines the
process and reduces manual inefficiencies.
3.2 Research Design
The study adopts a system development research approach, which involves the analysis. design.
implementation, and evaluation of the course allocation system. The research follows a
structured methodology that ensures the development of a reliable and functional system for
departmental course allocation.
3.3 Data Collection
The data used for the system development was collected through:
Interviews: Discussions with departmental heads, lecturers, and students to understand the
current course allocation challenges.
Observation: Direct observation of the manual allocation process to identify inefficiencies.
Review of Existing Systems: Analysis of current course allocation methods in higher institutions
to determine best practices.
3.4 System Requirements
The system was designed based on specific functional and non-functional requirements:
17
3.4.1 Functional Requirements
Automated course allocation based on credit units and lecturer availability.
Database management for courses, lecturers, and students.
User authentication for secure access.
Report generation for allocated courses and schedules.
3.4.2 Non-Functional Requirements
Usability: The system must be user-friendly for students and lecturers.
Performance: The system should allocate courses efficiently within a short processing
time.
Scalability: The system should accommodate future departmental growth.
Security: Role-based access control to protect data integrity.
3.5 System Design
The system design phase involves the creation of architectural diagrams and models to represent
the system's structure.
3.5.1 System Architecture
The system follows a three-tier architecture:
Presentation Layer: User interface for interaction (web-based or desktop application).
Business Logic Layer: Handles course allocation algorithms and business rules.
Data Layer: Stores course, lecturer, and student information in a relational database.
3.5.2 Database Design
The system employs a relational database with the following key tables:
Users Table: Stores user credentials and roles.
Courses Table: Contains course details and credit units.
18
Lecturers Table: Maintains lecturer information and assigned courses.
Allocations Table: Records allocated courses and schedules.
3.6 System Implementation
The implementation phase involves coding, testing, and deployment.
3.6.1 Development Tools
The following technologies were used:
Programming Language: Python with Django framework
Database Management System: MySQL
Front-End: HTML, CSS, JavaScript
Development Environment: Visual Studio Code
3.6.2 System Modules
The system consists of the following modules:
User Authentication Module: Secure login and role management.
Course Management Module: Adding, editing, and deleting courses.
Lecturer Management Module: Assigning courses to lecturers.
Course Allocation Module: Automated course allocation based on predefined rules.
Report Generation Module: Generating allocation reports for reference.
3.7 Testing and Validation
To ensure system reliability, the following tests were conducted:
Unit Testing: Individual modules were tested for functionality.
Integration Testing: Modules were integrated and tested together.
User Acceptance Testing (UAT): The system was tested by lecturers and students to
verify usability.
19
CHAPTER FOUR
SYSTEM IMPLEMENTATION AND TESTING
4.1 Introduction
This chapter discusses the implementation and testing of the computerized course allocation
system. It covers the system development process, programming tools, system modules, testing
strategies, and system evaluation.
4.2 System Implementation
The implementation phase involves translating the system design into an operational software
application. This includes coding, database integration, user interface design, and deployment.
4.2.1 Development Tools
The following tools and technologies were used to develop the system:
Programming Language: Python with Django framework
Database Management System: MySQL
Front-End Technologies: HTML, CSS, JavaScript
Development Environment: Visual Studio Code
Operating System: Windows 10/Linux
4.2.2 System Modules
The system is divided into different modules, each handling specific functionalities:
1. User Authentication Module – Ensures secure login and access control.
2. Course Management Module – Manages course details, credit units, and prerequisites.
3. Lecturer Management Module – Handles lecturer information and assigned courses.
4. Course Allocation Module – Automatically allocates courses to lecturers based on
predefined rules.
20
5. Report Generation Module – Produces reports on allocated courses and schedules.
4.3 System Testing
Testing is crucial to ensure the system functions correctly and meets user requirements. The
following testing strategies were applied:
4.3.1 Unit Testing
Each module was tested individually to verify that it performs as expected. For example, the
authentication module was tested by entering valid and invalid login credentials.
4.3.2 Integration Testing
After unit testing, the system modules were integrated and tested together to ensure smooth
interaction. The database connectivity and data flow between modules were validated.
4.3.3 User Acceptance Testing (UAT)
The system was tested by lecturers and students to ensure it meets real-world needs. Feedback
was collected and necessary modifications were made.
4.4 System Evaluation
The system was evaluated based on the following criteria:
Functionality: The system successfully manages course allocation, lecturer assignments,
and reports.
Usability: The user-friendly interface ensures easy navigation.
Performance: The system responds quickly and processes allocations efficiently.
Security: Access control and authentication mechanisms protect sensitive data.
21
4.5 Challenges and Limitations
During implementation, several challenges were encountered:
Limited Dataset: The initial course database had to be expanded for comprehensive testing.
Hardware Constraints: Some older computers struggled to run the system efficiently.
User Training: Users required guidance on navigating the new system.
22
CHAPTER FIVE
SUMMARY, CONCLUSION AND RECOMMENDATIONS
5.1 Introduction
This chapter presents the conclusions drawn from the study, highlighting the key findings,
contributions, and implications of the computerized course allocation system. Additionally, it
offers recommendations for future enhancements and further research.
5.2 Summary of Findings
The research successfully developed and implemented a computerized course allocation system
to improve efficiency in course assignment. The major findings include:
The system effectively automated course allocation, reducing manual workload and
processing time.
User authentication and access control mechanisms enhanced data security.
The system’s user-friendly interface improved usability and operational efficiency.
Performance testing demonstrated the system’s reliability and responsiveness.
5.3 Conclusion
The implementation of a computerized course allocation system significantly enhances the
efficiency of course assignment processes. By automating course allocation, the system reduces
workload, enhances data security, and ensures accurate record-keeping. The adoption of
technology in course management is crucial for modernizing educational institutions and
improving service delivery.
23
5.4 Recommendations
To further improve the system and its adoption, the following recommendations are proposed:
1. System Expansion: Future versions should include features like student course
preference tracking and real-time notifications.
2. Cloud Integration: Deploying the system on cloud platforms will enhance accessibility
and scalability.
3. Mobile Application Development: A mobile version of the system will increase
accessibility for students and lecturers.
4. Advanced Security Measures: Implementing multi-factor authentication (MFA) and data
encryption will further secure sensitive information.
5. User Training: Conducting training programs for lecturers and administrative staff will
ensure effective system utilization.
5.5 Future Work
Further research can focus on:
Integrating AI-driven predictive analytics for optimized course allocation.
Enhancing automation with blockchain technology for secure course management.
Developing a multilingual interface to cater to a diverse range of users.
5.6 Summary
This chapter provided a conclusion to the study, summarizing its key findings and proposing
recommendations for future improvements. The successful implementation of the computerized
course allocation system demonstrates its potential in revolutionizing course management
processes, paving the way for further technological advancements in educational institutions.
24
References
V. A. Bardadym, Computer-aided school and university Timetabling. Ukraine: Springer-Verlag.
1996.
S. D. Bloomfield and M. M. Mcsharry, "Preferential course scheduling," Interfaces. vol. 9, pp.
24-31, 1979. Available at:
[Link]
M. W. Carter, A general examination scheduling system. Ontario, Canada: Canadian
Management Institute Press, 1994.
E. Burke, K. Jackson, J. H. Kingston, and R. Weare, "Automated university timetabling: The
state of the art," The Computer Journal, vol. 40, pp. 565-571, 1997. Available
at: [Link]
P. Nortons, Introduction to computers, 6th ed. New Delhi: McGraw Hill Companies Inc, 2006.
B. P. Romero, Lecture scheduling in large engineering school vol. 12. Spain: Spanish Institute
of Management Press, 1982.
M. Tomas, Constraint-based timetabling Charles University in Prague, mathematics and physics.
Prague: Tomas Muller, 2005.
J. H. Winston, "Bibliography on the practice and theory of automated timetabling, Sydney,
Australia." Available: hpp://[Link]//jeff/-timetabling/[Link]/, 1997.
O. C. Akinyokun, Data structure and algorithm. Anyigba: Kogi State University, CSC305. 2006.
25
SOURCE CODE
26
Private Sub Command1_Click()
Set a = Workspaces(0).OpenDatabase([Link] & "[Link]")
Set d = [Link]("select * from stafftable") With d
.AddNew
!staffname = Text1
!staffqual = Combo1
!staffstatus = Combo3
!staffyear = Combo2
!staffspec = Text2 !Status = "0"
.Update
MsgBox
"Operation Sucessful"
msg = MsgBox("Add New Staff", vbQuestion + vbYesNo, "New Staff.......")
If msg = vbYes Then
Unload Me
[Link]
Text1 = "": [Link]
Else
Unload Me
End If
End With
End Sub
Private Sub Command2_Click()
Unload Me
End Sub
Private Sub Form_Load()
With Combo1
.AddItem "P. hd"
.AddItem "Msc"
.AddItem "PGD"
.AddItem "B Sc."
.AddItem "HND"
End With
With Combo3
.AddItem "Chief Lecturer"
.AddItem "Principal Lecturer"
.AddItem "Senior Lecturer"
.AddItem "Lecturer I"
.AddItem "Lecturer II"
.AddItem "Lecturer II"
.AddItem "Lecturer III"
.AddItem "Assistant Lecturer"
.AddItem "Chief Technologist"
.AddItem "Assistant Chief Technologist"
.AddItem "Principal Technologist"
.AddItem "Senior Technologist"
.AddItem "Technologist I"
.AddItem "Technologist II"
End With
End Sub
For j = 1 To 35
[Link] j
Next j
End Sub
Private Sub Combo1_Change()
Set a = Workspaces(0).OpenDatabase([Link] & "\[Link]")
Set b = [Link]("select * from depttab where deptname='" & Combo1 & "'")
With b
If .RecordCount > 0 Then
[Link] = !deptcode
End If
End With
End Sub
Private Sub Combo1_Click()
Set a = Workspaces(0).OpenDatabase([Link] & "\[Link]")
Set b = [Link]("select * from depttab where deptname='" & Combo1 & "'")
With b
If .RecordCount > 0 Then
‘While [Link]
Label6. Caption = ideptcode “[Link] Ideptname
‘,.MoveNext
“Wend
End If
End With
End Sub
Private Sub Combo3_GotFocus()
With Combo3
.AddItem "2010/2011"
.AddItem "2011/2012"
.AddItem "2012/2013"
.AddItem "2013/2014"
.AddItem "2014/2015"
.AddItem "2015/2016"
End With
End Sub
Private Sub Command1_Click()
Set a = Workspaces(0).OpenDatabase([Link] & "\[Link]")
Set f = [Link]("select * from coursereg")
With f
.AddNew
Icode = Text1
Idept = Combo1
IIeve = Combo2
Icunit = Text2
Ictitle = Text3
'Icode = Label6
Ideptcode = [Link]
Isession = [Link]
Isemester = [Link]
'Ipulation = Text2
.Update
MsgBox "Operation Sucessful"
msg = MsgBox("New Course....", vbQuestion + vbYesNo, "New Course........")
If msg = vbYes Then
Unload Me
[Link]
'Text1 = "": Text2 = "": [Link]
Else
Unload Me
End If
End With
End Sub
Private Sub Command2_Click()
Unload Me
End Sub
Private Sub Form_Load()
Set a = Workspaces(0).OpenDatabase([Link] & "\[Link]")
Set b = [Link]("select * from depttab")
Set c = [Link]("select * from tablelevel")
With b
If .RecordCount > 0 Then
While Not .EOF
[Link] ldeptname
.MoveNext
Wend
End If
End With
With c
.AddNew
If .RecordCount > 0 Then
While Not .EOF
[Link] llevelname
.MoveNext
Wend
End If
End With
End Sub
Private Sub Label6_Click()
End Sub
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
If Len(Text1) <> 6 Then
MsgBox "Invalid Course Code, SIX Characters require"
Text1 = "": [Link]
Else
[Link] = UCase(Text1)
[Link]
End If
End If
End Sub
Private Sub Text1_LostFocus()
If Len(Text1) <> 6 Then
MsgBox "Invalid Course Code, SIX Characters require"
Text1 = "": [Link]
Else
[Link] = UCase(Text1)
[Link]
End If
End Sub
Private Sub Command1_Click()
Set a = Workspaces(0).OpenDatabase([Link] & "\[Link]")
Set b = [Link]("select * from depttab")
With b
.AddNew
Ideptcode = Text1
Ideptname = Text2
.Update
MsgBox "Operation Sucessful"
msg = MsgBox("Add New department", vbQuestion + vbYesNo, "New Dept.......")
If msg = vbYes Then
Text1 = "": Text2 = "": [Link]
Else
Unload Me
End If
End With
End Sub
Private Sub Command2_Click()
Unload Me
End Sub
Private Sub MDIForm_Load()
End Sub
Private Sub mnexit_Click()
Y = MsgBox("Are you sure you want to Exit", vbQuestion + vbYesNo, "Exit....")
If Y = vbYes Then
End
Else
[Link]
End If
End Sub
Private Sub mnucoursereg_Click()
[Link]
End Sub
Private Sub mnudept_Click()
[Link]
End Sub
Private Sub mnudeptt_Click()
With CrystalReport1
.DataFiles(0) = [Link] + "/[Link]"
.ReportFileName = [Link] + "/c_allocation.rpt"
.DiscardSavedData = True
.WindowState = crptMaximized
.Action = 1
End With
End Sub
Private Sub mnuexamination_Click()
[Link]
End Sub
Private Sub mnulevel_Click()
[Link]
End Sub
Private Sub mnuvenue_Click()
[Link]
End Sub
Private Sub mnuStaffreg_Click()
[Link]
End Sub
Private Sub Command1_Click()
Set a = Workspaces(0).OpenDatabase([Link] & "\[Link]")
With d = "OpenRecordset" & "select * from staff"
Set d = [Link](d)
.AddNew
!stfname = Text1
!stafqual = Combo3
!staffstatus = Combo2
!staffspec = Text2
!Status = "0"
.Update
MsgBox "Operation Sucessful"
MsgBox "Add New Staff" + vbQuestion + vbYesNo, "New Staff......"
If msg = vbYes Then
Unload Me
[Link]
Text = "";[Link]
Else
Unload Me
End If
End With
End Sub
Private Sub Command2_Click()
Unload Me
End Sub
Private Sub Form_Load()
With Combo1
.AddItem "P. hd"
.AddItem "Msc"
.AddItem "PGD"
.AddItem "B Sc."
.AddItem "HND"
End With
With Combo3
.AddItem "Chief Lecturer"
.AddItem "Principal Lecturer"
.AddItem "Senior Lecturer"
.AddItem "Lecturer I"
.AddItem "Lecturer II"
.AddItem "Lecturer II"
.AddItem "Lecturer III"
.AddItem "Assistant Lecturer"
.AddItem "Chief Technologist"
.AddItem "Assistant Chief Technologist"
.AddItem "Principal Technologist"
.AddItem "Senior Technologist"
.AddItem "Technologist I"
.AddItem "Technologist II"
End With
For j = 1 To 35
[Link] j
Next j
End Sub