Development of an Expert System for the Evaluation of Students ’ Curricula on the Basis of Competencies †

The concept of competence, which emerged during the reform of computer engineering degrees, has not brought benefits to companies when attempting to select the most suitable candidates for their jobs. This article aims to show some of the research that has been conducted to determine why companies have not found these skills useful and how both can be aligned. Finally, we show the development of an Expert System that will enable companies to select the most suitable candidates for their jobs, considering personal and social skills, along with technical knowledge. This prototype will serve as a basis to align the competencies defined in the curricula with professional requirements, thus allowing a true alignment between degree courses and the needs of professional companies.


Introduction
Europe is currently involved in the process of converging higher education.This is fundamental as it regards the future of some degrees and the capability to adapt new study plans to the real market needs in this sector.It is, therefore, of great importance.In the case of Computer Engineering, companies and professionals are demanding increasingly more specialised profiles that are adapted to one or more international professional certifications, but the problem lies in how to select these candidates [1].
To this we can add the increasing importance of e-HRM (e-Human Resource Management), i.e., automated human resource management systems, which allow significant reductions to be made in costs, along with an improved level of service [2][3][4].Organisations are making important investments in regard to time and resources in order to develop these types of applications [5][6][7][8] and models with which to evaluate their effectiveness [9].
In 2002 at least 91% of the SMEs (Small and Medium-Sized Enterprises) in the United States were using web-based technology in some way to improve human resource management [10].From 2010 on and owing to the maturity attained by some companies, researchers began to analyse the possibility of using artificial intelligence techniques to improve personnel selection processes, taking advantage of the potential of Cloud Computing and techniques such as Expert Systems, Neuronal Networks, etc. [11][12][13][14].
The problem is that the curricular competences and the e-HRM systems at private companies are evolving in different ways, rather than converging in order to provide a solution to a common problem: "preparing students so as to maximise their professional capacities in their future jobs".
Our research is therefore focused on analysing the competencies defined in the curriculum of the Software Engineering degree at the University of Castilla-la Mancha (Spain) and the competencies currently being taken into consideration by private companies when selecting their personnel.The results obtained will then be used to construct an Expert System Prototype that will enable companies to attain personnel who are best qualified for a particular position, not only on the basis of their technical knowledge, but also by analysing their personal and social competences.
This research was conducted by creating multidisciplinary educational teams, who have both academic and professional experience complementing the results obtained previously [15][16][17][18][19].The results are now being applied at private companies and evaluated by a team of researchers.
In the second section we shall analyse the importance of the present moment, at which competencies are being defined and whose alignment with the private sector is vital.In the third section we present the method followed to analyse the competencies in the private sector, its application to a prototype of an e-HRM with which to select candidates and the attempt made to align them with University competences.Finally, the principal conclusions reached to date are described in the last section.

State of the Art
European Higher Education (EHE) came into being with the Declaration of the Sorbonne in 1998, which emphasized the role played by universities in the development of the cultural dimension and of the Europe of knowledge.This was extended in the Declarations of Bolonia (June 1999), Prague (2001), Berlin (September 2003) and Bergen (May 2005).In these declarations, an agreement was reached to promote and develop the reform of the structure of the participating countries and the organisation of university teaching in order to stimulate the construction of a European Higher Education.This was done with the objective of favouring mobility and opportunities for employment.This also meant that new study plans and their implementation would be adapted to business demands [20], such that they would serve to allow new professionals to increase the production of Europe 1 s business fabric [21].
The majority of the degrees have now been defined, but a considerable number of European Universities are currently in the throes of implementing the new Computer Engineering Degree study plans on the basis of the intensifications proposed by the Association for Computing Machinery (ACM) [22], which are highly oriented towards excessively complex and vaguely defined competencies.
In the case of the computer engineering degree, the new plans are oriented towards the existence of a single degree with five specialities or intensifications.These five intensifications correspond with the General Secretary of Universities' Specific Technologies of the Resolution of 8th June 2009, which publicises the University Council Agreement that establishes recommendations as regards the proposals made by Universities for application forms for official degrees in the sphere of Technical Computer Engineering (BOE No. 187 of the 4/8/2009) and the ACM 1 s [22] proposals, which are: Computer Sciences [23], Software Engineering [24], Computer Engineering [25], Information Systems [26] and Information Technologies [27].
Many institutions and researchers are currently working to unify and complement the computer engineering degree, using the USA model [28] or the European model [29] as a base.Some research works consider the problem is not so much a question of the contents of the domains but rather the learning mechanism and have therefore focused on creating agile teaching methodologies [30].
The research that we have carried out into competences is principally focused on the Computer Engineering intensification proposed for the new degree in computer engineering.This is based on the Guidelines for the Creation of a Software Engineering Body of Knowledge (SWEBOK) [31,32], that defines the competencies and knowledge which, according to the IEEE, Software Engineers should have attained upon completing their studies (e.g., Software Engineering projects or Security and Auditing, covering all the aspects of related software).
The objective pursued is that of being able to take full advantage of the new concept of competences, which is currently proving to be useful to neither students nor businesses.
To this we must add the importance of being able to adapt the new study plans to real market needs [33] and the capability of implementing them correctly, enabling them to be aligned with the competencies to which they are oriented as well as business needs.
In the case of Computer Engineering, businesses and professionals are demanding increasingly more specialised profiles [34].It is therefore of great importance that these new studies be highly focused on the ability to attain a series of objective measurable competences that are aligned with professional needs [35] without losing the scientific rigour demanded in engineering, and to develop systems that will allow these profiles to be selected simply and economically.
In order to attain this objective, it is fundamental that the implementation of these new study plans have an orientation that will facilitate the identification and automation of measurable sub-competences that can be linked with the content of academic subjects.This will make it possible to determine to what extent a subject contributes towards the fulfilment of a competence, to what extent a student attains that competence and to what extent that competence satisfies a company 1 s needs as regards a particular job.

Method Used to Analyze Competences
We have several research objectives.However, in this paper, due to space limitations, we shall focus on presenting the method followed to acquire competences.
This phase of the project has been fairly complex and laborious: ‚ Phase I-The first part of the activity consisted of obtaining the sub-competences from the private sector.

‚
Phase II-The second part of the activity allowed us to demonstrate that it would be possible to automate the subjective sub-competency evaluation process in such a way that companies would be able to automatically select the most suitable candidates.

‚
Phase III-In the third part we attempted to correlate the sub-competencies from the private sector with those developed at the university.

Phase I: Obtaining Sub-Competencies from the Private Sector
The interviews and surveys carried out at companies and the use of the competencies recommended by Peter Senge in his book "The fifth discipline fieldbook" [36] allowed us to obtain a set of sub-competences which are currently being evaluated at interviews taking place in companies' HR departments.The final analysis of this information has led us to obtain a first result regarding the aspects that are valued at private companies.

PC-Personal Competences
This part is responsible for describing the personality of the candidate as an individual entity, i.e., how we relate to each other.Table 1 provides a summary of the personal sub-competences selected and the evaluation system employed (H-High, M-Medium, L-Low): The social sub-competences selected and the evaluation system used (H-High, M-Medium, L-Low) are summarized in Table 2  ‚ TK.6-Languages spoken: According to the language and level.

Phase II: Automation of the Selection of Personnel by Evaluateting Subjective Sub-Competences
Once the set of competences and sub-competences had been obtained from the private sector, we analysed how it would be possible to automate the work currently carried out manually by HR departments in order to create an e-HRM that would both reduce the cost of this process and increase the rate of correct choices.This was done by analysing (in-situ) how interviews are carried out and we discovered that this process basically consists of analysing the sub-competences and weighing them up.We therefore developed a first set of evaluation metrics and mechanisms.This process was divided into five sub-phases:

‚
Sub-Phase 1: Discretization of the competences and sub-competences Evaluated by the companies.We initially programmed 21 variables with which to define a candidate 1 s curriculum and each candidate 1 s social, personal and technical competences were then codified in whole chains or characteristics.These chains are variables and may increase when the types of knowledge or competences increase.An extract of the variables used in this first prototype is shown in Table 3.
The creation of a first set of formulas with which to automatically evaluate the candidate using their competency-based curricula.Algorithm 1 shows an extract of the algorithm with which to evaluate the candidate 1 s competences, developed on the basis of the company 1 s choice.‚ Sub-Phase 3: Our own experience and the surveys carried out were used to establish a system of weights for the selection and evaluation of the candidates.The final weights obtained for the algorithm are summarised in Algorithm 2 and make it possible to determine for which position in the company, of the 6 typologies initially selected, the candidate is most suitable on the basis of his/her personal and social competences.‚ Sub-Phase 4: A prototype of an application was created in which it is possible to introduce the characteristics sought by a company, bearing in mind the personal and social competencies and technical knowledge.An initial schema of how this prototype functions is shown in Figure 1.
The user can employ this prototype to define the type of professional expert needed on the basis of certain minimum parameters and the system then returns the references to the group of curricula closest to the profile requested.The insertion and modification of the curricula in the database will be carried out by a group of authorised evaluators, this in turn will be introduced into the system by evaluators that already existing in that system.Figures 2 and 3 show the context diagrams and behavioural models defined for the prototype.
Finally, Figure 4 shows an example of the index cards used to introduce data into the system.

‚
Sub-Phase 5: The system employs the data introduced by the company to apply the formulae from Sub-Phase 3 in order to provide a result consisting of an evaluation of those people who are closest to the profile requested on the basis of their competences.Figure 5 shows an example of a result that might be obtained.The user can employ this prototype to define the type of professional expert needed on the basis of certain minimum parameters and the system then returns the references to the group of curricula closest to the profile requested.The insertion and modification of the curricula in the database will be carried out by a group of authorised evaluators, this in turn will be introduced into the system by evaluators that already existing in that system.Figures 2 and 3 show the context diagrams and behavioural models defined for the prototype.The user can employ this prototype to define the type of professional expert needed on the basis of certain minimum parameters and the system then returns the references to the group of curricula closest to the profile requested.The insertion and modification of the curricula in the database will be carried out by a group of authorised evaluators, this in turn will be introduced into the system by evaluators that already existing in that system.Figures 2 and 3 show the context diagrams and behavioural models defined for the prototype.Finally, Figure 4 shows an example of the index cards used to introduce data into the system.

Phase III-List of Competences Proposed by the UCLM
Once the sub-competence from the private sector had been obtained and the formulae for their automatic evaluation had been developed, then they were compared with a set developed by university professors as part of the application forms for the verification of official degrees, proposed for the Computer Engineering Degree at the University Colleges of Computer Engineering of the University of Castilla-la Mancha in Albacete and Ciudad Real.

Phase III-List of Competences Proposed by the UCLM
Once the sub-competence from the private sector had been obtained and the formulae for their automatic evaluation had been developed, then they were compared with a set developed by university professors as part of the application forms for the verification of official degrees, proposed for the Computer Engineering Degree at the University Colleges of Computer Engineering of the University of Castilla-la Mancha in Albacete and Ciudad Real.

Specific Competences
This will be formed of the following sub-set of specific competences:

‚
Basic training: (i) BT1-Capacity to resolve mathematical problems that may arise in engineering; (ii) BT2-Understanding and domination of the basic concepts of fields and waves and electromagnetism, theory of electronic circuits, the physical principle of semiconductors and logical families, electronic and photonic devices and their application in the resolution of problems inherent to engineering; (iii) BT3-Capacity to understand and dominate the basic concepts of discrete mathematics, logic, algorithms and computational complexity and their application in the resolution of problems inherent to engineering; (iv) BT4-Basic knowledge of the use and programming of computers, operative systems, databases and computer programmes with application in engineering; (v) BT5-knowledge of the structure, organisation, functioning and interconnection of computer systems, the fundamentals of their programming and their application in the resolution of problems inherent to engineering; (vi) BT6-An adequate knowledge of the concept of the business and the business 1 s institutional and legal framework.

‚
Common to the branch of computing: (i) CO1-Capacity to design, develop, select and Evaluate computing applications and systems, ensuring their reliability, security and quality, in accordance with ethical principles and the legislation and regulations currently in force; (ii) CO2-Capacity to plan, conceive, use and direct computer projects, services and systems in all environments, leading their setting up and continuous improvement and evaluating their social and economic impact ‚ Specific Technology.Computing: (i) CM1-Capacity to attain an in-depth knowledge of the fundamental computing principles and models and know how to apply it in order to interpret, select, evaluate, model and create new concepts, theories, uses and technological developments related to computing; (ii) CM2-Capacity to know the theoretical fundamentals of programming languages and the lexical, syntactic and semantic processing theories, and how to apply them in order to create, design and process languages; (iii) CM3-Capacity to evaluate the computational complexity of a problem, know algorithmic strategies that may lead to their resolution and recommend, develop and implement that which will guarantee the best performance in accordance with the requirements established; (iv) CM4-Capacity to know the fundamentals, paradigms and techniques associated with each intelligent system and to analyse, design and construct computing systems, services and applications that will employ those techniques in any sphere of application; (v) CM5-Capacity to acquire, obtain, formalise and represent human knowledge in a computable manner in order to resolve problems using a computer system in any sphere of application, and particularly those related to aspects of computation, perception and performance in intelligent environments or spheres; (vi) CM6-Capacity to develop and evaluate interactive systems and to present complex information, and its application to the resolution of person-computer interaction design problems; (vii) CM7-Capacity to know and develop computational learning techniques and design and implement applications and systems that use them, including those whose purpose is to automatically extract information and knowledge from large volumes of data.

‚
Specific Technology.Information Systems: IS1-Capacity to integrate Information and Communications Technology solutions and business processes in order to satisfy organisations' information needs, allowing them to attain their objectives in an effective and efficient manner, thereby giving them a competitive advantage; (ii) IS2-Capacity to determine the requirements of an organisation 1 s information and communication systems, bearing in mind security and compliance with the regulations and legislation currently in force; (iii) IS3-Capacity to actively participate in the specification, design, implementation and maintenance of information and communication systems; (iv) IS4-Capacity to understand and apply organisational principles and practices in such a way that they can serve as a link between technical communities and an organisation 1 s management and actively participate in users' training; (v) IS5-Capacity to understand and apply the principles of risk evaluation and apply them correctly to the creation and execution of performance plans; (vi) IS6-Capacity to understand and apply quality management and technological innovation principles and techniques in organisations.
‚ Specific Technology.Information Technologies: (i) IT1-Capacity to understand an organisation's environment and its needs within the sphere of information and communication technologies; (ii) IT2-Capacity to select, design, use, integrate evaluate, construct, manage, exploit and maintain hardware, software and network technologies within the parameters of appropriate cost and quality; (iii) IT3-Capacity to employ technologies focused on the user and the organisation for the development, evaluation and management of applications and systems based on information technologies that will ensure their accessibility, ergonomics and usability; (iv) IT4-Capacity to select, design, use, integrate and manage communication networks and infrastructures in an organisation; (v) IT5-Capacity to select, use, integrate and manage information systems that will satisfy the organisation 1 s needs, having identified the criteria of cost and quality; (vi) IT6-Capacity to conceive network technology-based systems, applications and services, including the internet, the net, electronic commerce, multimedia, interactive services and mobile computation; (vii) IT7-Capacity to understand apply and manage the guaranteeing and security of computer systems.
private companies 1 competences, but also to be able to transform them into the competences obtained by students.The next stages of our research will consist of seeking to establish a lower-level correlation between the general and specific sub-competences of the various subjects taught in the curriculum and the personal and social competencies established by companies for the different profiles that are currently being sought in the field related to Software Engineering (e.g., security expert, analyst, consultant, etc.).

Figure 5 .
Figure 5. Results of Evaluation of sub-competences.

3. 3 . 1 .
Generic Transversal CompetencesThis will be formed of the following sub-set of generic transversal sub-competences:‚According to UCLM regulations: (i) UCLM1-A command of a second foreign language at level B1 of the Common European Reference Framework for Languages; (ii) UCLM2-The capacity to use Information and Communication Technologies; (iii) UCLM3-Correct written and oral communication; (iv) UCLM4-Ethical compromise and professional ethics.‚ Instrumental: (i) INS1-Capacity for analysis, synthesis and evaluation; (ii) INS2-Capacity for organisation and planning; (iii) INS3-Capacity to manage information; (iv) INS4-Capacity to resolve problems by applying engineering techniques; (v) INS5-Capacity to argue and logically justify decisions made and opinions.‚Personal: (i) PER1-Capacity to work in a team; (ii) PER2-Capacity to work in an interdisciplinary team; (iii) PER3-Capacity to work in an international context; (iv) PER4-Capacity to maintain interpersonal relationships; (v) PER5-Recognition of diversity, equality and multiculturalism.‚ Systematic: (i) SYS1-Critical reasoning; (ii) SYS2-Ethical compromise; (iii) SYS3-Autonomous learning; (iv) SYS4-Adaptation to new situations; (v) SYS5-Creativity; (vi) SYS6-Capacity for leadership; (vii) SYS7-Knowledge of other cultures and customs; (viii) SYS8-Capacity to take the initiative and an enterprising spirit; (ix) SYS9-Motivation to produce quality; (x) SYS10-Sensitivity as regards environmental matters.

Table 1 .
Summary of personal competences selected.
3.1.2.SC-Social CompetenceThis part is responsible for describing the personality of the candidate as global entity of a work group, i.e., how we relate to others.

Table 2 .
Summary of social competences selected..2.8-System Development: Design and Exploitation of Systems, Programming Engineering, Software Engineering, Simulation Techniques, Design and Control of Models, Evaluation and Exploitation of Computing Systems, User Interfaces, Software 3.1.3.TK-Technical KnowledgeThis encompasses the candidate 1 s classical personal files, i.e., the academic and practical experience acquired throughout that person 1 s life.It will be formed of the following elements:‚ TK.1-Level of studies.‚ TK.2-Areas in which s/he has knowledge: Various computing specialities.Theoretical, Practical and Exhaustive knowledge of each area will be evaluated separately.The areas into which these computing studies can be divided, and some of the subjects included in these areas are: TK.2.1-Applied Mathematics: Statistics, Operative Research, Numerical Analysis, Algebra, Calculus, Logic.TK.2.2-Programming Techniques: Data Structure, Graphs and Algorithms, Programming Tools and Environments.TK.2.3-Computing Architecture and Technology: Non-Classical Architectures, Computing Structure, Technology and Architecture, System Design using Microprocessors, Electronics, Signal Processing, Hardware Design and Synthesis, Microelectronics, Systems and Signals, TK.2.6-Databases: Databases, Advanced Database Models, Application Development with Database Systems, Database Administration.TK.2.7-Operative Systems: Advanced Operative Systems, Concurrent Programming, Operative System Administration, Multiuser Environment Administration, Systems in Real Time.TK‚ TK.3-Programming Languages worked with: List of the programming languages that the candidate knows.‚ TK.4-Programmes handled: List of the programmes and applications that the candidate has learnt.‚ TK.5-Position.

Table 3 .
Coded variables used to evaluate candidates.
(CURRI_PERSONAL_COMPETENCE)))/(2 * number_active_skills + 1) Valuation_social_competence = (2 * number_active_skills ´(Form_value (SOCIAL_COMPETENCE) ´Value_CV (CURRI_SOCIAL_COMPETENCE)))/(2 * number_active_skills + 1) ;(iii) CO3-Capacity to understand the importance of negotiation, effective work habits, leadership and communication skills in all software development environments; (iv) CO4-Capacity to create the documents regarding the technical conditions of a computing installation that complies with the standards and regulations currently in force; (v) CO5-Knowledge, administration and maintenance of computing systems, services and applications; (vi) CO6-Knowledge and administration of basic algorithmic procedures of computing techniques in order to design solutions to problems, analysing the appropriateness and complexity of the algorithms proposed; (vii) CO7-Knowledge, design and efficient use of the most appropriate data types and structures for the resolution of a problem; (viii) CO8-Capacity to analyse, design, construct and maintain applications in a robust, safe and efficient manner, choosing the most appropriate programming paradigm and languages; (ix) CO9-Capacity to know, understand and evaluate the structure and architecture of computers, in addition to the basic components of which they are constructed; (x) CO10-Knowledge of the characteristics, functionalities and structure of operative systems and the design and implementation of applications based on their services; (xi) CO11-Knowledge and application of the characteristics, functionalities and structure of distributed systems, computer networks and the internet, and the design and implementation of applications based on them; (xii) CO12-Knowledge and application of the characteristics, functionalities and structure of databases, that will permit their appropriate use, and the design, analysis and implementation of applications based on them; (xiii) CO13-Knowledge and application of the tools needed to store, process and access computing systems, including those based on the net; (xiv) CO14-Knowledge and application of the fundamental principles and basic techniques of parallel, concurrent, distributed and real-time programming; (xv) CO15-Knowledge and application of fundamental principles and basic techniques of intelligent systems and their practical application; (xvi) CO16-Knowledge and application of the principles, methodologies and lifecycles of software engineering; (xvii) CO17-Capacity to design and evaluate person-computer interfaces that will guarantee the accessibility and usability of computing systems, services and applications; (xviii) CO18-Knowledge of the rules and regulations relating to computing in national, European and international spheres; (xix) CO19-Original work when individually carrying out, presenting and defending a project in the sphere of technologies specific to Computer Engineering before a university examining board.This will be of a professional nature in which the competences acquired from classes will be synthesised and integrated.Capacity to analyse, evaluate, select and configure hardware platforms for the development and execution of computing applications and services; (viii) CE8-Capacity to design, use, administer and manage computer networks.
communication systems; (v) CE5-Capacity to analyse, evaluate and select the most appropriate hardware and software platforms with which to support embedded and real-time applications; (vi) CE6-Capacity to understand, apply and manage the guaranteeing and security of computer systems; (vii) CE7-