1. Introduction
Poor student’ attendance is the bane of academic performance. Regular attendance at lectures is very important for the success of students in universities and other institutions of higher learning. This will, however, not ideally occur unless a system is put in place to check the attendance of students. The traditional way of doing this involves students signing the attendance sheets to confirm their presence in class. An alternative to this involves lecturers calling the roll at every lecture period. The primary challenge with the use of an attendance sheet is that it encourages students to mark proxies. Secondly, it is susceptible to human error and most importantly it is tedious and time-consuming.
The digital era has necessitated the need to replace the traditional attendance records in higher institutions. With the astronomical increase in student enrolment, roll call with attendance sheets has become even more time-consuming, apart from the room it offers for cheating. An attendance system based on a database with student information could be a timely intervention. However, higher institution authorities have not given enough attention to automated attendance tracking systems though they support punitive measures for tackling the canker.
We, therefore, propose a system where the entire attendance management is done by a smart device instead of relying on the “pen and paper technique”. The proposed system is expected to remove falsification of attendance entries, reduce drastically the burden of maintaining attendance registers by lecturers, and secure registers from being tampered with or unexpected loss.
It is a system that identifies students and maintains a mobile-based attendance register in the form of a database. The bottom line is the ease of system management for all stakeholders, including lecturers, students, and system administrators. It appears to be the most acceptable way in this era of digitization.
1.1. Aim
• To produce a time-efficient and foolproof attendance mobile-based system with the least cost possible to build and maintain.
1.2. Objectives
The study sought to;
• Review literature on attendance registers.
• Design and construct a simple, effective, and easy-to-implement attendance register to record student’s attendance at lectures.
• Develop a monitoring software for use by lecturers and Head of Departments.
• Implement the register.
2. Literature Review
Some mobile-based attendance registers have already been designed and developed, the records of which are available in the literature. These systems have their advantages and disadvantages. In order not to reinvent the wheel, it is important to discuss the merits and demerits of the existing works for monitoring and storing students’ attendance.
2.1. Title: Proposal of an Efficient Approach to Attendance Monitoring System Using Bluetooth, 2019[1]
AUTHORS: R. Raj, A. Das, and S. C. Gupta.
The authors of this work built and created a Bluetooth attendance monitoring system that tracks the MAC addresses of students’ mobile devices and recognizes students using the data that has been saved in a database. The Android application used to access the Bluetooth system will be developed and programmed per the system requirements, which include hardware requirements for mobile devices, servers, and Android features as well as software requirements for the Eclipse IDE, Android SDK, and Apache web server. The Bluetooth-based attendance system will function at 2.4GHz, the same frequency as Bluetooth’s usual operating range. With the aid of an Android application, Bluetooth will link the devices of the students and the lecturer. The application will look for the trustworthiness of the student’s device if it is close to a variety of devices with Android applications installed on them. The student device will be regarded as validated if it is already registered and detected. It then goes to the database to record the student’s involvement in that particular subject.
Merits:
• It makes roll calling easy by automatically taking attendance with the use of Bluetooth sharing. The benefit of the Bluetooth attendance register includes low power consumption and, a very reasonable data transfer rate.
• The entire system is cost-effective because the size of the chip is small and relatively inexpensive as compared to other approaches.
Demerits:
• Bluetooth uses short-range wireless data for transmission, it may not work properly in crowded areas and won’t be effective for large class sizes since the efficiency of the Bluetooth sharing will be limited by the host device’s capability.
2.2. Title: QR Code-Based Student Attendance System[2]
AUTHORS: Khang Jie Liew and Tee Hean Tan
This system verifies three types of data: geolocation, registered mobile device, and subject class hour. With this, only once these categories of information have been verified is a student’s attendance recorded. The proposed system’s prototype was put into practice as a tailored 2-tier application made up of server and mobile modules. The server module is a web-based component that accesses data from the MySQL database in the background using the Hypertext Processor (PHP) programming language. It handles student attendance utilizing the student’s information, the subject, and the schedule and communicates with students’ mobile devices. Java programming was used to implement the mobile module for the Android operating system. The student registration module and the attendance-taking module are the major parts of the mobile module. The mobile module will ask the user for permission to use the camera to scan the QR code and GPS tracking as soon as it is installed.
Merits:
• Shorter time required to take attendance for small class sizes.
• Students can register only one mobile phone number and one mobile device ID to prevent attendance cheating
Demerits:
• QR code has distance limitation with camera scanning which will be a limitation in terms of time used to check attendance for large class sizes.
• Runs on only Android devices and even with this the user must be using Android 7 and above. So, users with older versions of Android may not be able to use the module.
• GPS detection on some mobile phones is not very sensitive, students must try some time and move to different locations in the class.
2.3. Title: Android-Based One Tap Attendance System[3]
AUTHORS: A. Jaiswal, S. Shridevi, J. Saurav Mittapalli, and B. Rahul Dilip
The user opens the application to take attendance and is then sent to the login screen. The user must first select whether they are the lecturer or the student. The application will then ask for the username and password, which are the login information. Following a successful login authentication, the teacher is directed to a screen where they must select the course they are registered to teach, the class they have been allocated, and the class slot (location) from drop-down menus. Once all required information has been submitted, the class information and "take attendance" button are displayed. When the teacher is prepared to begin a lesson the application is started by the teacher to take the student’s attendance and the attendance is recorded. However, the teacher’s Wi-Fi module is turned on before pressing the start button. Only student presence serves as the basis for generating attendance. A present student is given a login and password, and the representative—in this example, the lecturer—is in charge of keeping track of attendance.
Merits:
• Just one tap on your mobile and no more roll calls and time waste
Demerits:
• The lecturer needs to manually feed the database with all student details.
• Wi-Fi used must be strong throughout since the whole process is dependent on this.
• System only works on Android and is an inconvenience to other mobile devices that don’t run on Android.
2.4. Title: Design and Development of Attendance System Verification Using Android-Based Flutter, 2020[4]
AUTHORS: G. Wahyu Wiriasto, R. Wibi Surya Aji, and D. Fikry Budiman
As an addition to the previously produced Android-based attendance register, this paper also created the Android-based flutter. This is comparable to the attendance system based on QR codes. The geolocator and QR code validation functions prevent participants and students from cheating. The software development kit Flutter is used by the system. Both students and professors can benefit from it. Students use it for attendance, and instructors use it to start and stop classes and monitor student attendance. There are two categories of users for the entire system: lecturers and students. The Post and Get methods are used by the client to submit an HTTP (Hypertext Transfer Protocol) request for data to the API (Application Program Interface) or online service. The API or web service will acknowledge and offer JSON-formatted response information under the specified HTTP request method. The Post method of the API will cause data to be received and written to the database. The API will read data from the database for requests for data made using the Get function.
Merits:
• The use of QR codes and geolocation to overcome student cheating during attendance-taking activities.
Demerits:
• The limitation to only Android devices renders this application impossible to implement, considering the significant number of iOS devices used by students.
2.5. Title: Smart Attendance Management Using Bluetooth Low Energy and Android, 2016[5]
AUTHORS: R. Apoorv and P. Mathur
A quick and intelligent attendance monitoring system using Bluetooth low-energy sensors is the approach offered in the article. Each identity card has these sensors connected. This works in conjunction with an Android app on the teacher’s phone that gathers data. The instructor opens the app on their phone and turns on Bluetooth when the pupils arrive in the classroom. The program picks up any beacon stickers that are within 200 meters of the phone’s Bluetooth sensor and enters the pupils’ data into the program. An infrared motion analyzer (IRMA) is used to determine how many pupils are entering a classroom to prevent any errors. When the instructor launches the mobile app, the application begins detecting beacons and then compares the beacon count to the IRMA count before confirming attendance.
Merits:
• Proxies in attendance-taking are minimized.
• Attendance-taking does not disrupt lecture time.
Demerits:
• Added cost when infrared motion analyzer is used for multi-factor authentication
2.6. Title: A Bluetooth Low Energy Based Beacon System for Smart Short Range Surveillance, 2016[6]
AUTHOR: A. Kumar B G
For this attendance system, a Bluetooth low-energy-based beacon was suggested in this paper. The major goal of this system is to reduce Bluetooth’s power consumption by employing Bluetooth Low Energy (BLE) technology, which also uses a Bluetooth smart beacon to guard against fraud and partiality in an attendance system. The student registers on the mobile application for attendance-taking with their personal university number and password. The student’s device’s Bluetooth is turned on after successful registration, and it starts looking for beacon signals. If it is located, a message containing the time and beacon UID is sent to the server. Following that, it updates the database and indicates attendance.
Merits:
• Bluetooth Beacons have low power consumption.
Demerits:
• System works on Android only.
2.7. Title: Student Absenteeism Monitoring System Using Bluetooth Smart Location-Based Technique, 2020[7]
AUTHORS: S. K. Baharin, Z. Zulkifli, and S. B. Ahmad
In this study, a Bluetooth-based system using mobile devices is shown, along with a clever location-based technique created to scan lecturers’ devices within a virtual area defined by a set of coordinates. To track the student’s whereabouts using GPS, this mobile application was also created using the geo-fence technique. The geo-fence software and the code together will verify the student’s attendance. The system will take care of stopping unauthorized attendance registration in this way. For this project, the student attendance records are entered into a database and stored there for later retrieval and calculation of the absenteeism percentage to determine a ZZ status. As a result, this project featured a push notification alert system to raise awareness of the possibility of being charged with ZZ status for both students and lecturers. The procedure of taking attendance includes setting up a Geo-fence to protect the system’s integrity. This returns the user’s most recent location on Google Maps. Then, it is necessary to first construct a virtual barrier around the selected site. The location of users is retrieved in this application to establish the boundary. The Haversine formula is used to develop a geo-fence boundary approach for this project. The devices of instructor and the students must then have their Bluetooth turned on for them to be found. When Bluetooth is turned on, it automatically searches for compatible devices nearby. The formula for calculating ZZ status is as follows:
ZZ calculation is important in determining the status of students. It is important to alert the students and lecturers about the absenteeism percentage to prevent students from being penalized by ZZ status.
Merits:
• Geo-fence makes sure students are within class boundaries during specified class sessions and gives very little room for proxies.
Demerits:
• This application works only on Android devices and is a disadvantage to other phone users who don’t use Android.
2.8. Title: Smart Attendance Recording Device with Fingerprint Identification, 2021[8]
AUTHORS: Maurizfa and Trio Adiono
This study employs a strategy that consists of both hardware and software elements. The hardware consists of data-collecting tools that can use fingerprint identification to record students’ attendance. The devices not only recognize people, but they also manage and register user identity data storage for identification needs. The hardware of the system comprises various devices that collect student attendance data and transmit it to the database. Based on fingerprint authentication utilizing a fingerprint biometric sensor, the device tracks the student’s attendance. The primary function of the fingerprint sensor is user identification, along with registration and data addition for user identification. The system on the device also manages user identity data storage for identification purposes, sends attendance log information to the database, and updates device status for remote monitoring purposes, among many other responsibilities. 5 main subsystems make up the system:
1. Data Acquisition; which receives the input from the user. The input consists of fingerprint input and attendance mode. The fingerprint input is used to generate user fingerprint template data and matching.
2. The Registration Process; is used to create new user’s fingerprint template data. This receives the input of two fingerprint images acquired for the same finger and generates a new fingerprint template which then will be stored in the database.
3. Data Verification; this subsystem receives input of an acquisition fingerprint template and compares it with the templates stored in the device. The output of this subsystem is the result of verification, whether the fingerprint was identified or not, and the user ID that corresponded with the fingerprint (if the fingerprint was identified).
4. The Indication message; The subsystem of indication provides an indicator message of success or failure from the results of verification, registration, and request to retrieve data from the server.
5. Data Management; The Data Management subsystem handles the management of user identity data storage for identification purposes. It manages to send fingerprint template data from the SD card to the fingerprint scanner module’s flash memory automatically based on the student’s schedule in the room.
Merits:
Demerits:
• Though the system effectively manages the attendance records of students, it disrupts the class session.
• This approach is also time-consuming since each one has to wait for their turn to record fingerprints.
• Relatively expensive because of the need for a fingerprint sensor.
2.9. Title: Design and Implementation of a Student Attendance System Using Iris Biometric Registration, 2017[9]
AUTHORS: K. O. Okokpujie, E. Noma-Osaghae, O. J. Okesola, S. N. John, and O. Robert
This method produced a system that utilized the iris as the biometric. The built system automatically took class attendance by collecting each attendee’s eye image, detecting their iris, and looking for a match in the created database after enrolling all attendees by saving their personal information along with their distinctive iris template. The designed graphical user interface (webpage), which was created using HTML, JavaScript, and CSS was used to collect student information during the enrollment process and get the iris image captured by the scanner. Each distinct iris template and the associated information were kept in a database. After class attendees had their irises photographed by the iris scanner and were validated, attendance was automatically taken (the database was updated). When a database match is made for the iris image of each student that was just acquired, that student is recognized. If there is a match, the intended system returns an integer value of (1); otherwise, it returns an integer value of (0). The database also includes the time, date, month, and year the attendance was taken.
Merits:
Demerits:
• Wastage of effective lecture time.
• Time wasted in processing iris images.
• Iris scanner is expensive and requires proper care to be effective.
2.10. Title: Attendance Monitoring Model for Range Surveillance Using Bluetooth, 2019[10]
AUTHORS: S. Honnalli and G. Vara Prasad
In this article, a technique was presented for taking attendance during lectures as students enter the classroom. The Bluetooth module looks up neighboring mobile phones’ Bluetooth MAC addresses and compares them to a database. When there is a match, the student is marked as present, a text file is created, and an email with the text file attached is sent to the appropriate lecturer according to the schedule.
Merits:
• Low system cost and low power consumption.
Demerits:
• Proxies are not eliminated.
2.11. Title: A Student Attendance System Using QR Code.[11]
AUTHORS: Fadi Masalha and Nael Hirzallah, Faculty of Information Technology Applied Science University.
This project entails the login by the lecturer through the server module. Then the lecturer copies and pastes the QR code on the first slide to be displayed. The student opens a mobile application to capture their facial image. This is for extra security. After which the student scans the given QR code. The authentication is completed and the application sends data to the server module.
Merit:
• Student may register their attendance at any time they wish during the lecture that is when they don’t come on time. Since there are time stamps also the lecturer can in their discretion penalize latecomers.
• Student location is sent to the database when registering attendance.
• Server sends an acknowledgment that the process is complete.
Demerits:
• Facial scan makes the system more complex and not all students may have good front cameras.
• The application supports only Android users and is inconvenient for iOS users.
• Application requires strong internet connectivity.
2.12. Title: Enhancement of QR Code Students’ Attendance Management System Using GPS[12]
AUTHOR: Hussam Elbehiery (Computer Networks Department, Faculty of Computer Science and Information Technology Ahram Canadian University (ACU) Egypt.
In this project, one scintillating addition to the QR code attendance system was the GPS for extra authenticity. The QR code system itself consists of two applications, one for the desktop which the lecturer will handle, and the other for mobile phones which the student will handle. The apps will function to take and store the attendance of the students daily in the faculty. When it came to the GPS aspect of the design, high-sensitivity GNSS receivers were used because they can receive satellite signals in most indoor environments and attempts to determine the 3D position indoors have been successful. A C# first user interface was used for the instructor’s side, a real-time data-based system, and a mobile app for the scanning. It was our understanding that they downloaded an application online because it was not stated that they built their app stating the specifications, methods, and platforms used.
Merit:
• The instructor does not do anything beyond presenting slides of the course to the students apart from displaying the code. Hence students may register their presence at any time they wish without interfering with class activities while keeping in mind that time for registration is recorded.
• Their proposed system helps fraud detection based on GPS location as well as code taken for each student.
Demerits:
• Screens and projection facilities are inadequate for clarity of QR codes from most seating positions in large classrooms and lecture halls.
• Most free apps that scan QR codes cannot fulfill the introduced needs to perform specific tasks after scanning. So, it is mandatory to create a customized app that reads the generated QR code ad registers the attendance of students who own mobile phones.
2.13. Title: IOT-Based Biometric Attendance System[13]
AUTHORS: Piyush Devikar, Ajit Krishnamoorthy, Aditya Bhanage, Mohit Singh Chauhan.
Developed a biometric attendance tracking system based on the Internet of Things technology (IoT). In this research paper, they had four stages in their implementation of the biometric attendance tracking system. These four stages are fingerprint enrolment, fingerprint comparison & recognition, validation of recognized fingerprint, granting attendance: uploading data to Google Cloud. During the fingerprint enrolment phase, each student’s fingerprint is recorded and assigned a unique ID number. The fingerprint and unique ID are paired and stored on their NodeMCU board. They used a nodeMCu board because it has a compact design, low cost, and wireless connectivity. The NodeMCU board assisted them in effectively implementing their IoT system. In the fingerprint comparison and recognition stage, students’ fingerprints are compared with the stored fingerprints already on the NodeMCU board. Their board had three different color LED lights to indicate to the user what to do, yellow light means ready to take the fingerprint and starts the fingerprint comparison and recognition phase before moving on to the validation of the recognized fingerprint. Validation of a recognized fingerprint just shows the user/student different color lights to reassure them that their attendance has been taken. Green – if a fingerprint match is present on the NodeMCU. Red – If a match is not found then back to yellow to retry. After validation, the system moves to the “Granting Attendance” phase by uploading their data to Google Spreadsheet. The attendance data which includes the Student’s unique ID is uploaded into Google Spreadsheet. Pushing Box API was used to upload the data to a Google spreadsheet. The project had a generally streamlined attendance system process.
Merits
• Highly Efficient and Reliable
• Strong security
• Low-cost build
Demerits
• Complex software structure and High level of system unreliability without internet connectivity.
2.14. Title: Location-Aware Event Attendance System Using QR Code and GPS Technology[14]
AUTHORS: Zakiah Ayop, Chan Yee Lin, Syarulnaziah Anawar, Erman Hamid, Muhammad Syahrul Azhar. Center for Advanced Computing Technology (CACT) Faculty of Information and Communication Technology, University Technical Malaysia
After a successful login, the student scans the QR code generated by the event organizer. Then after scanning process the information about the event included in the QR code, the person’s location, and the identity is sent to the database server. Three parameters - angle degree, distance, and brightness level - were used to evaluate the performance of the system. The optimum angle for handling the device when scanning the QR code was 90 degrees out of 30, 45, and 120 degrees. The effective distance between handling the device and the QR code was 3cm and 6cm out of 9cm and 12cm. The effective brightness level of the device scanning QR code was 60
Merits:
• No wastage of effective lecture time.
• User location is sent to the database when registering attendance.
Demerits:
• If the user logs out from the system before the event ends, attendance is not registered.
• The application supports only Android users and is inconvenient for iOS users.
• The application requires a strong internet connection.
After a careful review of existing works on mobile-based attendance registers, we intend to design and develop a mobile-based attendance register that runs on the two most common mobile platforms and has multiple foolproof verification methods, which can be alternated and make managing attendance easier for both the student and the lecturer.
4. Methodology and Implementation
4.1. Case Study
For this study, the four classes of the Electrical Engineering department were considered with an average class size of two hundred students, for which reason the other methods of attendance-taking proved to be time-consuming. Most of their lectures, due to their class sizes, are held at either the Petroleum Engineering building or the Faculty of Social Sciences new block.
4.2. System Design
From the literature review, the proposed solution should be a 100% Bring Your Device solution, which will be software-based, and utilize the fundamental specifications and functionalities of Android, iOS, and Personal computers belonging to students, lecturers, and school offices. For the development, we chose the Incremental Software Development Model. Incremental Model is a process of software development where requirements are divided into multiple standalone modules of the software development cycle. For this model, each module goes through the requirements, design, implementation, and testing phases. Every subsequent release of the module adds a function to the previous release. The process continues until the complete system is achieved.
Figure 1.
Diagram of the Incremental Software Development Model.
Figure 1.
Diagram of the Incremental Software Development Model.
1. Requirement analysis: In the first phase of the incremental model, the product analysis expertise identifies the requirements. The system’s functional requirements are understood by the requirement analysis team. To develop the software under the incremental model, this phase performs a crucial role.
2. Design & Development: In this phase of the Incremental model of SDLC, the design of the system functionality and the development method are finished with success. When software develops new practicality, the incremental model uses style and development phase.
3. Testing: In the incremental model, the testing phase checks the performance of each existing as well as additional functionality. In the testing phase, the various methods are used to test the behavior of each task.
4. Implementation: The implementation phase enables the coding phase of the system. It involves the final coding used in the design and development phase and pilots the functionality in the testing phase.
The Incremental Software Development Model was chosen because it works best when:
1. The software requirements are superior.
2. A project has a lengthy development schedule.
3. The software team is not very well-skilled or trained.
4. The customer demands a quick release of the product.
5. One can develop prioritized requirements first.
Figure 2.
General Architecture of the proposed mobile-based attendance system.
Figure 2.
General Architecture of the proposed mobile-based attendance system.
4.3. Main Technology - Flutter
The breakthrough of this project is pivoted around the discovery and ability to manipulate the relatively new Flutter SDK (Software Development Kit) along with Google’s Firebase (database) to build a highly maintainable and functional system. A major hurdle in mobile app development is the high cost of development and maintenance for the two different major platforms as well as the development of server-side apps. Through our research we found Flutter and Firebase to be a viable pair replacing the need for at least 6 different technologies. Below is the workflow of the Flutter software development Kit which enables the rendering of one code base for both Android and iOS.
Figure 3.
Flutter Technology
Figure 3.
Flutter Technology
The final software developed for this project is a flutter-based platform so that it can be used on both Android and iOS platforms. Students access the system via a mobile application available on the App Store and Google Play Store. The admin can also access the system using a website that was created using JavaScript. To complete the attendance process, the student must follow the steps below:
Figure 4.
Flowchart of attendance registering process.
Figure 4.
Flowchart of attendance registering process.
STEP 1: The student starts or opens the mobile application which has already been downloaded from the App Store or Google Play Store.
STEP 2: The student logs into the system using the phone number used in registering and the Student ID. When there is a success, the system loads the dashboard but when there’s a failure, the system requests for log-in data again.
STEP 3: The student selects Take Attendance from the dashboard and depending on the classes available during the period, the system displays the timetable for the day about the time of class and the geolocation.
STEP 4: Attendance is confirmed once the student is within the geolocation of the class and that is the period during which the class is slated for, otherwise attendance is denied.
4.4. Testing
4.4.2. The Monitoring Software Used by Lecturers and Admin Level Users - Figure 9
4.4.3. Authentication and Location Verification - Figure 10 and Figure 11
From
Figure 12, we see a student trying to use another device that was not used in the student registration process, and as such the login is not successful. This prevents students from using multiple devices to log in instead of the particular device used for registration.
From
Figure 13, we also see a student who attempted to take attendance while he was not within the class geolocation and the system detected it and prevented the person from taking attendance although he had a successful log-in.