Abstract:
The aim of this study is to design and implement an automated personalized course
scheduling system that will optimize the allocation of courses to their respective venues
based on the size of registered students and venue capacity within the acceptable hours of
meetings. This was achieved by eliciting knowledge on the various user and system
requirements of the faculty staff, formulating the objective function and constraint of the
scheduling algorithm, specifying the system design and implementing a prototype system.
Structured interview with department timetable representative were conducted in order to
obtain user and system requirements. Hard and soft constraint of the genetic algorithm were
formulated based on the limitations and feedbacks of timetable representative. System
design was specified using unified modeling language (UML) diagrams such as use-case,
sequence and class diagrams. The system was implemented using the combination of
Hypertext Mark-Up language (HTML), Cascading Styling Sheets (CSS), Bootstrap, and
React JavaScript (JS) framework for web user interface while for the Mobile interface,
UIKit and Material design framework for IOS and Android platform respectively. For
server side, Node JavaScript framework was used for connecting web and mobile interface
to the database while MongoDB atlas for the database implementation. User interface (UI)
and unit testing for the web, was carried out with Jester framework, mobile testing was
done with XCTest and Junit for IOS and android respectively while the application user
interface testing was carried out using Postman.
The results showed that the primary user was responsible for creating course scheduling
and managing information regarding a department which in return lead slow response time,
the results showed that the secondary users can only access the
vi
system using their school email or Id and passwords provided by the system administrator
of the system. The result also shows that the primary user is can view course schedules
based on their registered courses, set reminder and make create a conversation.
In conclusion, this study has designed and implemented a system to solve the currently
challenge faced in scheduling of courses in academic institutions. The study was able to
identify the respective user and system requirements of the system and appropriate designs
were used to specify these requirements provided by the users using use-case and class
diagrams. The system database was implemented in order to suit the mechanisms and inner
workings of the proposed system