{'fraction_non_alphanumeric': 0.02929379745022203, 'fraction_numerical': 0.014969202120040109, 'mean_word_length': 4.817916666666667, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Implementation of fuzzy logic-based final year project student-supervisor matching system

Article history: Received 5 November 2016 Received in revised form 12 January 2017 Accepted 12 January 2017 Final Year Projects (FYP) is the pinnacle to test the practical and research skills of undergraduate students before they enter the workforce. With the increased government demand requiring students to graduate on time, it is important that students’ skills and interests are matched to topics and supervisors with similar research interests to improve their chances of graduating on time. In response to the issue above, this paper presents the development of a Final Year Project (FYP) matching system using Fuzzy Logic (FL). The system gathers two types of information: 1) Student skills and interest (entered by the student during registration), 2) Available research areas in the Faculty and the skills required to do them (collected from interviews with lecturers specializing in the discipline). Based on the information gathered, a FL-based system matches the students to their best research areas. Results indicate that the system can match student’s skills with research topics well with potential to be adopted on a wider scale in Universiti Teknologi MARA (UiTM).


*Final
Year Projects (FYP) is a complex and performance-based course that is an important indicator about the readiness of the student to graduate as well as the perceived quality of the program offered by the university (Jawitz et al., 2002).
FYP a compulsory part of the Electrical Engineering undergraduate program of Universiti Teknologi MARA (UiTM), per the requirements from the Malaysia Engineering Accreditation Council (EAC, 2012). The primary objectives of the FYP (as part of Capstone) is to supply an experience-based learning activity, where it is a culmination of knowledge gained from previous courses combined with engineering practice in a final practical project (Mcdermott, 2006). In terms of soft skills development, FYPs develop the student's problem solving, analytical, reporting and presentation skills necessary as a foundation of life-long learning in the workplace (Srinivasan and Rachmawati, 2008).
In the Faculty of Electrical Engineering, UiTM, the FYP is divided into two semesters during the final year of undergraduate study. In semester seven, students are required to take FYP1 (two credit hours) where the students are required to prepare and submit a research proposal detailing the planning and background study of the project for the next semester. This is followed by FYP2 (five credit hours) where the students are required to implement the project, analyse and report its outcomes in the form of oral presentation, technical report and thesis.
Typically, projects are offered by academic staff members for students to choose from. To achieve the best experience from FYP projects, the student skills, interests and abilities should ideally be matched with the chosen research topic (Srinivasan and Rachmawati, 2008). This is necessary to avoid the student from becoming demotivated in pursuing their project. This, in turn, carries the risk of the student not graduating on time due to project completion delays affecting the Key Performance Areas (KPIs) of the Faculty.
In response to the issue above, this paper presents the development of a Final Year Project (FYP) matching system using Fuzzy Logic (FL). The system gathers two types of information: 1) Student skills and interest (entered by the student during registration), 2) Available research areas in the Faculty and the skills required to do them (collected from interviews with lecturers specializing in the discipline). Based on the information gathered, a FLbased system matches the students to their best research areas. The probability of the student finishing on time is therefore increased as they are assigned projects that are more suited to their skills and interest.
The remainder of this paper is organized as follows. Section 2 presents a review of related works, followed by the methodology (Section 3). Section 4 presents and discusses the results of the developed system. Finally, concluding remarks are presented in Section 5.

Literature review
This section presents a summary of papers related to the research area. Many universities are experimenting with different methods to improve their FYP curriculum/management/delivery, suggesting some similar issues with the implementation in other universities as well.
An intelligent FYP project selection system for Mechanical Engineering students was developed in Universiti Tenaga Nasional (UNITEN) (Hasan et al., 2009). The system, named Preference System, uses the Network Flow Optimization algorithm to select optimal FYP titles for students. Experiments were conducted on students in Semester I of the 2009/2010 academic year. The results indicate that 78.5% of the students satisfactorily obtained titles from their top three ranked preferences compared to the previous first come first serve basis selection method.
Research by Mutholib et al. (2011) presented a FYP Online Evaluation system tailored to Outcome Based Education (OBE) assessment together with Continuous Quality Report (CQI) reporting and data archives capabilities. OBE is a learning model currently mandated by the EAC, with the curriculum design and evaluation focusing on the learning outcomes of the students. The aim of the system was to assist in the allocation of teaching resources, improving the quality of assessment and reduction of time required to manage the FYP process. Development was done using the Rapid Application Development Life Cycle method. PHP and jQuery were used as the programming languages to design the system, while the MySQL Database Management System used to store data.
In Srinivasan and Rachmawati (2008), a fuzzy evolutionary algorithm-based system was presented for allocating student projects. The system assigns projects to students based on several criteria including student's preference, project prerequisites and staff loading. The proposed algorithm managed to obtain excellent results, while giving a balanced distribution of students across departments and supervisors.
An FYP e-supervision system was presented in Bakar et al. (2015) to allow the monitoring of FYP projects online. The system was implemented in Ubuntu Server with MySQL used as the Database Management System (DBMS) and Joomla as the interface. Several features of the system include forums (for easier student access to lecturers) and project monitoring features for lecturers.
Additionally, in McLoone and O'Neill (2006) presented a FL-based approach to reduce subjectivity in giving FYP marks to students. Different lecturers give linguistic fuzzy evaluations then introduced to the Fuzzy Inference System (FIS), which generates the final output marks. The authors found that the newly established scheme simplifies the grading of the projects and increased objectivity of the grading process.

Methodology
An overview of the system development is shown in Fig. 1. Data collection was performed in two stages. In the first stage, data was collected from the database of an existing FYP management system currently utilized by our Faculty. The system is responsible to handle the registration and assignment to supervisors online. During registration, students are required to indicate their skills and interests, as well as other necessary information. Additionally, supervisors are also required to register and register their research interests with the system. By harvesting data from this system, data was collected from 426 students and 163 lecturers from the Faculty of Electrical Engineering, Universiti Teknologi MARA. We then group their skill into several general groups, as shown in Table 1. In the second stage, we attempt to determine which skills in Table 1 that is required in specific research areas. To do this, we approach lecturers from different specialization backgrounds (Computer, Electronics, Communication, Instrumentation and Power Engineering) and ask them what general skills in Table 1 are necessary for all the research topics entered by the supervisors.
After the information has been collected, we implemented a Mamdani-type FIS to classify research areas that the students are most suited to base on the skills entered. The FIS consisted of 11 inputs (from Table 1) and six research areas selected. The reason for this is there were more than 100 research areas specified by the supervisors. The number of outputs was too large, prompting us to simplify the output to only a few research areas as shown in Table 2. This was because it is computationally infeasible to include all research areas into the FIS.
After the FIS construction, it was tested by simulating several test cases in which students specify their mastery of list of skills from Table 1. From here, we monitor the FIS output to see whether it produces an acceptable result.

Results and discussion
Based on our analysis of the data collected from the FYP management system, we have organized the student skills into several groups that would serve as inputs to the FIS. The grouping was based on the similarity and common theme of the skills. The 11 groups defined are shown in Table 1. We have selected only six topics to be included as the research areas (output) of the FIS as there were too many supervisor research topics groups. Table 2 shows the reduced list of research areas included in the FIS. We have chosen these areas because (1) they encompass several broad areas in the Electrical Engineering field, (2) the areas have the most variability in terms of skills required to perform research in those areas, which helps us demonstrate the effectiveness of the FIS. Next, we mapped out the student skill to the research areas in Table 3 based on feedback from our interview with several lecturers who are familiar with the research areas in Table 2. As can be seen from Table 3, each research area has different skill requirements which signify the requirement of the FIS to manage the complexity of project assignments.
The FIS was designed and implemented using the Fuzzy Logic Toolbox in MATLAB 2016a. The Mamdani FIS consisted of 11 inputs (Table 1) and one output ( Table 2).
The FIS fuzzification process converts the inputs (on a scale of 0 to 1) to fuzzy inputs LOW and HIGH. Each FIS input is converted in a similar manner. The pre-fuzzification range of inputs is between 0 and 1, and this value corresponds to the student's selfassessment of their skills. For LOW section, the scale has been used is from 0 to 0.5 and for the HIGH section, scale have been used is from 0.51 to 1. This value is then converted into high or low through a process called fuzzification. The scale for 0 to 0.5 or low section is considered not fully skilled while for 0.51 to 1 or high section is considered fully skilled. The shape of the membership function uses the Gaussian bell type for smooth transition between low and high values (Fig. 2).
In the survey conducted, a total of 50 research area groups were discovered. However, only six research areas were chosen to test the prototype. Six levels were defined for the output, corresponding to the different research areas as defined in Table 2. The FIS output design is shown in Fig. 3. Each output is allocated a range of 0.5 each in a continuous manner. Like the inputs, the shape of the membership function uses the Gaussian bell type for smooth transition between the outputs.
The Fuzzy rules define the relationship between the input and output, and is specified using a set of IF. THEN statements. The rules were defined based on rules in Table 3. The results are shown in Table 4.
To evaluate the FIS, in each of the samples, the input to the system was varied to simulate the different skills set of student. The simulated inputs were introduced as a 1x11 row matrix with each element ranging from 0 to 1 corresponding to the student's self-assessed skills. Indeed, when an input below 0.5 is inserted, the low input is triggered while when an input above 0.5 is inserted, the low input is triggered. Table 5 shows the different output mappings for the FIS when introduced with different student's skills levels. Power Systems is a programmingintensive research area, and is activated only when programming skill is high. However, others research areas such as Power Electronics, High Voltage, Renewable Energy and Communication Security are not activated as they also required additional skills. For example, Power Electronics and Renewable Energy require skills in Design and Electronics, while High Voltage requires Design and Programming skills. Each of research areas are only triggered when a sufficiently high skill level is achieved.

Conclusion
This paper has presented a FIS to match students to suitable research areas based on their self-assessed skills. The design and development process has been described, and the successful implementation of the FIS prototype has been shown and described. if (SS1 is HIGH) AND (SS2 is HIGH) and (SS3 is LOW) and (SS4 is LOW) and (SS5 is LOW) and (SS6 is LOW) and (SS7 is LOW) and (SS8 is LOW) and (SS9 is LOW) and (SS10 is LOW) and (SS11 is LOW) then (RA3 is HIGH)

RA4
if (SS1 is HIGH) AND (SS2 is HIGH) and (SS3 is LOW) and (SS4 is LOW) and (SS5 is LOW) and (SS6 is LOW) and (SS7 is HIGH) and (SS8 is LOW) and (SS9 is LOW) and (SS10 is LOW) and (SS11 is LOW) then (RA4 is HIGH)

RA5
if (SS1 is LOW) AND (SS2 is HIGH) and (SS3 is HIGH) and (SS4 is LOW) and (SS5 is LOW) and (SS6 is LOW) and (SS7 is LOW) and (SS8 is LOW) and (SS9 is LOW) and (SS10 is LOW) and (SS11 is LOW) then (RA5 is HIGH)

RA6
if (SS1 is HIGH) AND (SS2 is LOW) and (SS3 is LOW) and (SS4 is LOW) and (SS5 is LOW) and (SS6 is LOW) and (SS7 is HIGH) and (SS8 is LOW) and (SS9 is LOW) and (SS10 is LOW) and (SS11 is LOW) then (RA6 is HIGH)