Professional Documents
Culture Documents
Design and Implementation of Automated Online Course Allocation System For Lecturers
Design and Implementation of Automated Online Course Allocation System For Lecturers
INTRODUCTION
The present study describes the development of a system producing good (or fair) course
timetable schedules. There are different departments in a University, each one including different
specializations. The academic year is divided into two independent semesters each containing
completely different courses. A university stream is a set of compulsory and optional courses
suggested by the administration to be followed by the students in each one of the four semesters.
Course allocation is a combinatorial assignment problem that assigns lecturers to courses, given
lecturers’ preferences over course schedules. Unfortunately, any strategy proof and efficient
mechanism for this problem must be dictatorial with poor outcomes. (Mike Ruberry & Scott
Duke Kominers2013)
Course allocation is the problem of allocating seats in university courses among students. Many
universities impose an upper bound on the number of students allowed to register to each course,
in order to ensure that the teachers can give sufficient attention to each individual student. Since
the demand for some courses is higher than the upper bound, a natural question is which students
computer based system. However, using the computer based system in place of the manual
system will make the practical insinuation of high technology. This will minimize the time
needed for processing of departmental course and attend to other subsequent information needed
1
by the management system. The importance of this project is so prominent with the current state
of processing the departmental course and suggest a complete efficient and reliable approach that
will be of immense benefit to most higher institutions in general especially to the Federal College
Of Animal Health And Production Technology. Actually, this would go a long way to improve
Institutions across the country are having a constraint on course allocations for the lecturers by
using manual allocation process, which is relatively slow and increases delay in academy
process. It effects the lecturer’s field which they have done the majoring studies on it. Every
lecturer is having their preferable course to be lectured for the student under that course
registered by them on the current semester. Some lecturers also doing their research in the time
of their work, due to manual allocation of courses it affects their research timing. Some lecturers
are also on higher position also getting more courses to be lectured by them. Moreover, they
should be getting fewer courses to be lectured. Due to this issue happening in universities, I have
developed a proposed system to help aid course allocation within lecturers. This project consists
of system which handles the allocation of courses for the lecturers according to their expertise
and position. This system is also user friendly and eases the work of the admin office to provide
The manual nature of the existing course management allocation system for college
lecturers’ result in errors in the number of courses offered to the lecturer. Other than that,
lecturers were unable to enroll in the course that best suits their areas of expertise. Allocating
2
courses manually can be a time-consuming. Finally, because of the changes, managing the
courses is difficult.
The aim of this project is to design an automated online course allocation system for lecturers.
To manage lecturers' course assignments for their selected course in accordance with their
areas of competence.
The last step is to develop a system that allows administrators to log in and modify the
courses.
The system is developed to ease the allocation of academy work for the academy semester. This
system is also giving priority for the lecturers on the expertise field courses to be lectured for the
students who registered the courses on the semester. It also helps on the research lecturers too by
giving low number of courses according to the profile created on the system. Moreover, the
system will be online based where the lecturers and administrator can access the system anytime
and anywhere.
This project is designed for Federal College of Animal Health And Production Technology
3
1.6 DEFINITION OF TERMS
Online: Computer or device connected to a network (such as Internet) and ready to use
guidelines.
HTML: Hypertext Markup Language is the standard markup language used for creating
and structuring the content of web pages on the World Wide Web.
4
CHAPTER TWO
LITERATURE REVIEW
COURSE ALLOCATION
Course allocation refers to the process of assigning students or instructors to specific courses or
instructors are enrolled in which courses based on their preferences, academic requirements, and
streamline the process of assigning courses based on predefined criteria, such as student
The course allocation system helps ensure a fair and efficient distribution of courses, optimizing
the utilization of resources and meeting the needs of both students and instructors. It automates
and centralizes the course assignment process, replacing manual or paper. (Kaya, A. 2020)
assigning courses to lecturers, eliminating the need for manual or paper-based procedures.
This saves lecturers valuable time and effort that would otherwise be spent on
5
administrative tasks related to course allocation, such as coordinating with administrators,
such as expertise, workload capacity, and preferences, these systems can allocate courses
in a balanced manner, ensuring that lecturers have a manageable workload. This leads to
Enhanced Course Quality: With course allocation systems, lecturers can be assigned
courses that align with their areas of expertise and teaching interests. This allows
lecturers to teach subjects they are passionate about, leading to increased motivation and
Increased Flexibility and Choice: Course allocation systems often provide flexibility for
lecturers to express their preferences regarding the courses they wish to teach. Lecturers
can indicate their preferred subjects, course levels, class sizes, or time slots, allowing
them to have a say in their teaching assignments. This flexibility enhances job satisfaction
and enables lecturers to align their teaching responsibilities with their professional goals
transparency and fairness in the allocation process. By using predefined rules and
algorithms, these systems ensure that course assignments are based on objective criteria,
such as expertise, qualifications, and workload capacity. This transparency fosters a sense
6
of equity among lecturers and reduces potential biases or favoritism in the allocation
process.
collaboration and networking among lecturers. When lecturers are assigned courses, they
have the opportunity to work together, exchange ideas, and share teaching strategies. This
collaboration can lead to professional growth, knowledge sharing, and the development of
a supportive teaching community within the institution. ( Al-Qudah, A., Al-Khader, A.,
Limited Control over Course Assignments: Lecturers may have limited control or
influence over the courses they are assigned to teach. The system's algorithms and
institutional policies may determine the course assignments based on factors such as
expertise, availability, and workload distribution. This lack of control can sometimes
result in lecturers being assigned courses that are not aligned with their preferences or
areas of expertise.
achieve fair workload distribution, challenges may arise in practice. Lecturers may
experience uneven workloads due to various factors such as class sizes, teaching hours, or
the number of courses assigned. In some cases, the system may not adequately consider
7
Limited Flexibility in Schedule: Course allocation systems may restrict the flexibility of
lecturers' teaching schedules. Lecturers may have preferences for specific time slots or
days of the week, but the system's constraints, such as course availability or classroom
availability, may limit their choices. This lack of flexibility in scheduling can pose
challenges for lecturers who have personal or professional commitments outside of their
teaching responsibilities.
optimize the allocation process, which may result in occasional changes to lecturers'
course assignments. Lecturers may need to adapt to these changes, which can disrupt their
teaching plans, and instructional materials. The need to adjust to new courses or subject
areas within a short timeframe can be challenging and require additional preparation and
System Limitations and Technical Issues: Like any technology-based system, course
allocation systems may face technical issues or limitations. These can include system
glitches, software errors, or performance issues that affect the smooth functioning of the
course assignments.
User Adoption and Training: Introducing a new course allocation system may require
users, including students, instructors, and administrative staff, to adapt to new processes
and interfaces. Institutions should provide adequate training and support to ensure smooth
adoption and usage of the system. Resistance to change and a lack of familiarity with the
8
Communication and Information Discrepancies: In some cases, course allocation
systems may not effectively communicate all the necessary information to lecturers
about course details, class sizes, teaching requirements, or other essential information.
Clear and timely communication becomes crucial to address these challenges and ensure
that lecturers have accurate information about their teaching assignments.( Bueno, M.,
9
CHAPTER THREE
METHODOLOGY
3.0 METHODOLOGY
Before the commencement of this project, I carefully investigated the existing system and
discovered that the course allocation process of Federal College of Animal Health and
Production Technology department of computer science was done manually. In the manual
course allocation process, administrators or academic staff manually assigns courses to
lecturers based on factors such as their expertise, availability, and workload. The process
involves collecting information on lecturers' preferences, reviewing course requirements, and
manually matching lecturers to courses. However, this manual approach is time-consuming,
prone to errors, and lacks optimization capabilities. The manual process does not efficiently
accommodate changes or adjustments in the lecturers' availability or preferences, leading to
inefficiencies and dissatisfaction among lecturers..
With the problem of the existing system I proposed to design a system which is an
Automated Online Course Allocation System for lecturers as an alternative to the current
10
manual system. In this system an Administrator probably a (Time Table officer) will have the
full authorization to log in to the system to make any changes on the course adding, dropping
and also assigning different lecturers if needed. The administrator has to create a profile and
set the expertise field for each lecturer so the system can detect it to assign the correct
number of courses according to their expertise field for the lecturers. The lecturers also can
view the portal on the courses assigned to them. If they want to make any changes regarding
the courses assigned to them they can refer the management office for the changes to be
applied.
This system also allows only administration office to log in with a specific username and
This system will be actualized to the problems identified with the existing system in the
following ways:
This system will save a significant amount of time compared to manual allocation
This system will eliminate the possibility of human error. Once the system is set up and
This system will track and monitor the allocation process, allowing administrators
Home page for this project shows the title of the system and also provides links to other
pages to be viewed as shown in Fig 4.1. It was designed using HTML(Hypertext Markup
11
2. Login Page
Login Page for this project allows administrator to enter the portal to make changes on
course allocation system if needed to add or remove any courses and also can change the
lecturer teaching on the courses as shown in Fig 4.2. It was designed using HTML
create profile that will entail necessary information about the lecturer as shown in Fig 4.3.
add new courses into the system as shown in Fig 4.4. It was designed using
Language
in the system as shown in Fig 4.5. It was designed using HTML (Hypertext Markup
12
HTML(Hypertext Markup Language), CSS(Cascading Style Sheet) and Scripting
Language.
With the facts gathered during the study and the analysis of the system. The system requirement
and expectations were translated into technical solution. I came up with a structural design
making use of a use case diagram in describing what the whole system looks like. Below is a
13
14
3.4.1 PROGRAM FLOW CHART
When ‘add new lecturer’ is clicked, a form interface is popped up to fill in lecturer’s
information like title, Lecturer’s last name, initials and area of specialization. If the
information is entered correctly, the lecturer’s record is added to the lecturer entity on the
database.
15
FLOW CHART DIAGRAM FOR ADDING NEW COURSE
When ‘add new course is clicked, a form interface is popped up to fill in the new course
information like course code, course title, unit and the scope of the course. The list of the
available lecturer and their area of specialization is automatically generated from the database to
select which lecturer to be in charge of the course. When the form is submitted, a check is run to
confirm if the course had not already been added. If the course already exists on the database, the
record is rejected and user is notified of the existence of the course on the database.
16
There would also be a feature to automatically allocate all already added courses to lecture with
just a click a click. The course scopes are compared with the lecturer’s area of specialization, any
lecturer’s area of specialization that matches the course scope would automatically be assigned
17
3.5.2 DATABASE DESIGN
Two entities (tables) were built to store information for the system. The entities are courses and
Entity Attributes
- Course title
- Course unit
- Course scope
- Last name
- Initials
- Area of specialization
The attributes ‘course code’ and ‘lecturer id’ are the primary keys of the entity
Course and Lecturer respectively. This primary key enables each record in the
entity to be uniquely identified.
18
3.6 SYSTEM HARDWARE AND SOFTWARE SPECIFICATION
These are tools that are necessary for the workability of the proposed system: these tools are
divided into: Hardware and Software Requirements.
II. MODEM
19
CHAPTER FOUR
The system collects and maintains lecturers’ data through a database that contains information
this data, the system suggests courses that are appropriate for each lecturer. The administrator
will have full access to the system to create profile and set the expertise field for each lecturer
so the system can detect it to assign the correct number of courses according to the expertise
field for the lecturer. The administrator can make any changes on the course adding, dropping,
and also assigning different lecturers if needed. The lecturers can also view the portal on the
courses assigned to them, if they want to make any changes regarding the courses allocated to
them they can refer the administrator office for the change to be applied.
20
4.2.2 Software Requirement
Software requirements deals with defining resource requirements and prerequisites that needs to
be installed on a computer to provide functioning of an application. The minimal software
requirements are as follows,
2. Windows / Mac
HTML
CSS
Bootstrap
Java Script
Instead of a project system, it allows users to open one or more directories, which can be saved in
workspaces for future reuse. This allows it to operate as a language-agnostic code editor for any
language. It supports a number of programming language and a set off features that differs per
language. Unwanted files and folders can be excluded from the project tree via the settings.
Many visual studio code features are not exposed through menus or the user interface but can be
accessed via the command palette.
Visual studio code can be extended via extensions, available through a central repository. This
includes additions to the editor and language support. A notable feature is the ability to create
extensions that add support for new languages, themes and debuggers, perform static code
analysis, and add code linters using the language server protocol.
21
Out of the box, visual studio code includes basic support for most common programming
languages. This basic support includes syntax highlighting, bracket matching, code folding, and
configuring snippets. Visual studio code also ships with intelligence for Java script, Typescript,
JSON, CSS, and HTML, as well as debugging support for Node.js. Support for additional
languages can be provided by freely available extensions on the VS code Marketplace.
Visual Studio Code collets usage data and sends it to Microsoft, although this can be disabled.
However, because of the open-source nature of the application, the telemetry code is accessible
to the public, who can see exactly what is collected.
4.2.4 Bootstrap
Bootstrap is a free and open-source CSS framework directed at responsive, mobile-first front-end
web development. It contains HTML, CSS and (optionally) JavaScript-based design templates
for typography, forms, buttons, navigation, and other interface components.
Bootstrap provides basic style definitions for all HTML elements. The result is a uniform
appearance for prose, tables and form elements across web browsers. In additional, developers
can take advantage of CSS classes define in Bootstrap to further customize the appearance of
their contents. For example, Bootstrap has provisioned for light and dark colored tables, page
headings, more prominent pull quotes, and text with a highlight.
Bootstrap also comes with several JavaScript components in the form of JQuery plugins. They
provide additional user interface elements such as dialog boxes, tooltips, and carousels. Each
Bootstrap component consists of an HTML structure, CSS declarations, and in some cases
accompanying JavaScript code. They also extended the functionality of some existing interface
elements, including for example an auto-complete function for input fields
4.2.4.1 Features
Bootstrap comes with a whole barrelful of components you can easily tack onto your web page,
including:
Navigation bars
Dropdowns
22
Progress bars
Thumbnails
Bootstrap comes with its own code for automatically resizing images based on the current screen
size. Just add the .image-responsive class to your images, and the predefined CSS rules take of
the rest. No more spending hours coding your own grid-Bootstrap come with its own grid system
predefined.
4.2.5 JAVASCRIPT
JavaScript is a light-weight object-oriented programming language which is used for several
website for scripting the webpages. It is an interpreted full- fledged programming language that
enables dynamic interactivity on website when applied to an HTML document. It was introduced
in the year 1995 for adding programs to the webpage in the Netscape Navigator browser. Since
then, it has been adopted by all other graphical web browsers. With JavaScript, users can build
modern web applications to interact directly without reloading the page every time. The
traditional website uses JS to provide several forms of interactivity and simplicity.
Although, JavaScript has no connectivity with Java programming language. the name was
suggested and provided in the times when Java was gaining popularity in the market. In addition
to web browsers, databases such as CouchDB and MongoDB uses JavaScript as their scripting
and query language.
Client-side validation
Displaying pop-up window and dialog boxes (like an alert dialog box, confirm dialog box and
prompt dialog box)
23
4.2.5.2 Features of JavaScript
1. All popular web browser support JavaScript as they provide built-in execution
environment
2. JavaScript follows the syntax and structure of the C programming language. Thus, it is a
structured programming language.
3. JavaScript is a weekly typed language, where certain types are implicitly cast (depending
on the operation).
4. JavaScript is an objected-oriented programming language that uses prototypes rather than
using classes for inheritance.
5. It is a case-sensitive language.
6. It is a light-weight and interpreted language.
7. JavaScript is supported in several operating systems including, Windows, macOS, etc. 8.
It provides good control to the users over the web browsers
24
4.2.6 HTML
The Hyper Text Markup Language or HTML is the standard markup language for documents
designed to be displayed in a web browser. It can be assisted by technologies such as Cascading
Style Sheets (CSS) and scripting languages such as JavaScript.
Web browser receives HTML documents from a web server or from local storage and render the
documents into multimedia web pages. HTML describes the structure of a web page semantically
and original included cues for the appearance of the documents.
HTML elements are the building blocks of HTML pages. With HTML constructs, images and
other objects such as interactive forms may be embedded into the rendered page. HTML provides
a means to create structured documents by denoting structural semantics for text such as heading,
paragraphs, lists, links, quotes and other items. HTML elements are delineated by tags written
using angle brackets. Tags such as <img/> and <input/> directly introduce content into the page.
Other tags such as <p> surround and provide information about document text and may include
other tags as sub-elements. Browsers do not display the HTML tags but use them to interpret the
content of the page.
HTML can embed programs written in a scripting language such as JavaScript, which affects the
behavior and content of web pages. Inclusion of CSS defines the look and layout of content. The
World wide Web consortium (W3C), former maintainer of the HTML and current maintainer of
the CSS standards, has encouraged the use of CSS over explicit presentational HTML since
1997. A form of HTML, known as HTML5, is used to displayed video and audio, primarily
using the <canvas> element, in collaboration with Java script.
Originally, HTML was developed with the intent of defining the structure of documents like
headings, paragraphs, lists, and so forth to facilitate the sharing of scientific information between
researches. Now, HTML is being widely used to format web pages with the help of different tags
available in HTML language.
HTML is a must for students and working professionals to become a great software Engineer
especially when they are working in web development domain.
25
Create Web site – You can create a website or customize an existing web template if you
know HTML well.
Become a web designer – If you want to start a career as a professional web designer, HTML
and CSS designing is a must skill.
Understand web – If you want to optimize your website, to boost its speed and performance, it
is good to know HTML to yield best results.
Learn other languages – Once you understand the basic of HTML then other related
technologies like JavaScript, PHP, or angular are become easier to understand
26
4.3 INPUT DESIGN
This page shows the title pf the system and provides links to other pages.
27
Fig 4.2 Admin Login Page
This is the page that validates the authenticity if the admins’ credentials before
giving full access to the system. Admin is required to login with a username and
password.
28
Fig 4.3 Adding new lecturer page
29
Fig 4.4 Adding new course page
30
4.4 OUTPUT DESIGN
This page shows all the courses that has been added to the system.
31
Fig 4.6 All Lecturers Page
This page shows all the lecturers in the system and the courts allocated to them.
32
CHAPTER FIVE
I.1 SUMMARY
Automation of course allocation is a system that will improve the organization and
learning process in the department and even in the school at large. However, user are
expected to log into the system to view the course which they are been assigned to
and, this is however, notwithstanding the location in which they are, once the
application is install in their computer system. This system will enable lecturers not
to miss their classes and also help them to organize their schedules. Therefore, this
department.
I.2 CONCLUSION
The course allocation system outlined in this report offers an innovative and efficient
allocation algorithms, makes it a valuable tool for Federal College of Animal Health
reduce administrative burden, and foster a more productive and engaging learning
environment.
33
I.3 RECOMMENDATION
It is strongly recommended that the institution adopts and implements the course
can streamline the course allocation process, leading to increased student satisfaction
future growth and changes in student needs. Overall, the adoption of this course
34
REFERENCES
2. Doherty, B (2015) The business case and barriers for responsible management education
in business schools.
1913-1916
Informatics.
School Education:
10. Vani Kalloo, H. and Permanand, M. (2012) Correlating Questionnaire Data with Actual
Usage Data in a Mobile Learning Study for High School Mathematics, Electronic.
35
11. Zoraini, W.A, Chng, L.P. and Norziati, M. (2009) A Study on Learner Readiness for
12. Hawkins, B.L. and Rudy, J.A. (2007) Educause Core Data Service: Fiscal Year 2006
14. [Fry, K. (2000) Forum Focus and Overview, the Business of E-Learning: Bringing Your
Sydney.
15. Dublin, L. (2003) If You Only Look under the Street Lamps… Or Nine E-Learning
16. Rossi, P.G. (2009) Learning Environment with Artificial Intelligence Elements. Journal
17. Oblinger, D.G. and Hawkins, B.L. (2005) The Myth about E-Learning. Educause Review.
18. Holmes, B. and Gardner, J. (2006) E-Learning: Concepts and Practice. SAGE
Publications, London.
21. Abbad, M.M., Morris, D. and de Nahlik, C. (2009) Looking under the Bonnet: Factors
36
22. La Rose, R., Gregg, J. and Eastin, M. (1998) Audio Graphic Tele-Courses for the Web:
24. Maltz, L., Deblois, P. and the EDUCAUSE Current Issues Committee (2005) Top Ten IT
26. Wentling, et al. (2000) E-Learning—A Review of Literature. Knowledge and Learning
27. Tao, et al. (2006) Improving Training Needs Assessment Processes via the Internet:
37
APPENDIX A
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
scale=1">
<title>CSC-SAMS</title>
<link
href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.0-beta1/dist/css/
bootstrap.min.css" rel="stylesheet"
integrity="sha384-0evHe/X+R7YkIZDRvuzKMRqM+OrBnVFBL6DOit
fPri4tjfHxaWutUpFmBp4vmVor" crossorigin="anonymous">
<link rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.1.1/css/
all.min.css" integrity="sha512-
KfkfwYDsLkIlwQp6LFnl8zNdLGxu9YAA1QvwINks4PhcElQSvqcyV
38
LLD9aMhXd13uQjoXtEKNosOWaZqXgel0g=="
href="assets/css/owl.carousel.min.css">
href="assets/css/owl.theme.default.min.css">
</head>
<header>
Lecturers.</p>
</div>
</div>
text-start">
39
<i class="fa fa-refresh icon-3x mb-2 text-
Activities</p>
</div>
</div>
</div>
</div>
</section>
40
<div id="carouselExampleCaptions"
<div class="carousel-indicators">
label="Slide 2"></button>
label="Slide 3"></button>
</div>
<div class="carousel-inner">
<div class="carousel-item
active">
<img
style="width:100%;height:350px;" src="assets/images/1.jpg">
</div>
<div class="carousel-item">
41
<img
</div>
</div>
<div class="px-4">
<h3 class="text-darkblue">Admission
page to create a new account with your JAMB Registration number, your
<li>Upload necessary
to fly!</li>
</ol>
</div>
</div>
</div>
42
</section>
gap: .5rem">
pr-lg-5">
</div>
43
<a href="#facebook" class="facebook"><span class="fab fa-
facebook-f"></span></a>
twitter"></span></a>
fa-instagram"></span></a>
linkedin-in"></span></a>
</div>
</div>
<ul>
<li><a href="index.php">Home</a></li>
<li><a href="admin-login.php">Admin</a></li>
</ul>
</div>
44
<div class="col-lg-4 col-md-6 col-sm-7 footer-list-29 footer-4
href="admission@cscfcahptib.com.ng">admission@cscfcahptib.com.ng
</a></p>
href="admission@cscfcahptib.com.ng">admission@cscfcahptib.com.ng
</a></p>
</div>
</div>
</div>
<div class="container">
</div>
45
</section>
</footer>
<script
src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"
integrity="sha512-
894YE6QWD5I59HgZOGReFYm4dnWc1Qt5NtvYSaNcOP+u1T9qYd
vdihz0PPSiiqn/+/3e7Jo4EaG7TubfWGUrMQ=="
crossorigin="anonymous" referrerpolicy="no-referrer"></script>
<script src="assets/js/owl.carousel.min.js"></script>
<script
src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.0-beta1/dist/js/bootstrap
.bundle.min.js"
integrity="sha384-pprn3073KE6tl6bjs2QrFaJGz5/SUsLqktiwsUTF55Jfv
3qYSDhgCecCxMW52nD2" crossorigin="anonymous"></script>
<script src="assets/js/main.js"></script>
</body>
</html>
46
APPENDIX B
Step 1: The Admin will login into the system if he/she has the authorization key to sign in
successfully.
Step 2: The Admin will be able to register new lecturer to the system.
Step 3: The Admin will be able to register new course to the system.
Step 4: The Admin will be able to allocate courses to the lecturers in the system.
Step 5: The lecturers will be able to know brief info about the courses allocated to them in the
system.
47