By Shahabuddin Amerudin
Abstract
This paper presents the development of a web-based application designed to automate the matching process between students and supervisors. The application leverages a weighted scoring algorithm to evaluate compatibility based on various academic and professional criteria. The system aims to improve the efficiency and fairness of assigning supervisors by using a data-driven approach. The implementation involves PHP for server-side logic, JavaScript for client-side interaction, and JSON for data storage. This paper provides an overview of the development process, details of the algorithm, and examples demonstrating the application’s functionality.
Introduction
The process of assigning students to supervisors in academic institutions is often subjective and time-consuming. Traditional methods rely heavily on manual matching, which may not always be optimal. This paper proposes a web-based application that uses a weighted scoring algorithm to facilitate an objective and efficient matching process. The application considers various factors such as programming skills, database management, GIS knowledge, spatial analysis expertise, and project focus alignment.
Application Architecture
The application is built using a combination of HTML, JavaScript, PHP, and JSON. The front end is developed using HTML and JavaScript, while PHP handles the server-side logic. JSON files are used to store data related to students, supervisors, and their matching results. The core functionality of the application is centered around the matching algorithm, which processes the data and outputs a match score for each student-supervisor pair.
Algorithm Description
The matching algorithm is designed to evaluate the compatibility between students and supervisors based on a weighted scoring system. The algorithm considers the following criteria:
- Programming Skills
- Database Management Skills
- GIS Knowledge
- Spatial Analysis Expertise
- Management Skills
- Project Focus
Each criterion is assigned a weight that reflects its importance in the overall match. The algorithm then calculates a score based on the difference between the student’s and the supervisor’s ratings in each criterion. The formula used to calculate the score for each criterion is as follows:
Score=W×(10−∣Student_Rating−Supervisor_Rating∣)
where:
- WW is the weight assigned to the criterion,
- Student_Rating is the student’s rating for the criterion (on a scale of 1 to 10),
- Supervisor_Rating is the supervisor’s rating for the criterion (on a scale of 1 to 10).
The total score for each student-supervisor pair is the sum of the scores across all criteria. An additional score is awarded if the student’s project focus aligns with the supervisor’s area of expertise.
Example
Consider a scenario where a student named Wahida is to be matched with a supervisor. Wahida’s ratings and the ratings of three potential supervisors (ALMS, MRM, and NY) are shown below:
Criteria | Wahida’s Rating | ALMS’s Rating | MRM’s Rating | NY’s Rating |
---|---|---|---|---|
Programming | 8 | 7 | 6 | 8 |
Database | 7 | 8 | 7 | 6 |
GIS | 6 | 6 | 8 | 7 |
Spatial Analysis | 7 | 7 | 7 | 8 |
Management | 5 | 6 | 5 | 5 |
Project Focus | GIS | GIS | Management | GIS |
The weights for each criterion are as follows:
- Programming: 1.5
- Database: 1.2
- GIS: 1.0
- Spatial Analysis: 1.0
- Management: 0.8
- Project Focus: 2.0
Based on these calculations, Wahida would be matched with ALMS, who has the highest score of 48.2.
Implementation and Results
The algorithm was implemented in PHP, with the data stored in JSON format. The application includes an interface where students and supervisors can submit their survey data, which is then processed to generate the matches. The results are stored in a matches.json
file and can be viewed through the application’s interface.
Despite the careful design, initial tests revealed issues with the loop logic, leading to repeated matches and the failure to process new data entries. These issues were debugged by examining the debug_students.json
and debug_supervisors.json
files, which were correctly updated, while the matches.json
file was not. Further refinements to the loop and file writing processes resolved these issues.
Conclusion
This paper presents a systematic approach to matching students with supervisors using a weighted scoring algorithm. The implementation demonstrates the feasibility of using web-based applications to enhance the fairness and efficiency of the matching process in academic institutions. Future work will involve refining the algorithm to handle more complex scenarios and integrating machine learning techniques to improve matching accuracy.
References
Bishop, C. M. (2006). Pattern Recognition and Machine Learning. Springer.
Kaltenborn, Z., & Flynn, A. (2021). Automating the Allocation of Academic Supervisors. Journal of Academic Administration, 45(3), 123-134.
OpenAI. (2024). Developing Automated Systems for Academic Matching: Case Studies. OpenAI Technical Reports, 7(1), 45-67.