Development of an Educational Application for Software Engineering Learning

: Software engineering is a complicated subject for computer engineering students since the explained knowledge and necessary competencies are more related to engineering as a general knowledge area than to computer science. This article describes a software engineering learning application that aims to provide a solution to this problem. Two ideas are used for this. On the one hand, to facilitate its use it has been implemented as an Android app (in this way it can be used anywhere and at any time). In addition, and on the other hand, a gamiﬁcation system has been implemented with different learning paths that adapt to the learning styles of each student. In this way, the student is motivated by competing with other classmates, and on the other hand, the application adapts to the way of learning that each one has.


Introduction
Software engineering is a subject that generally does not motivate computer science students [1]. The theoretical and conceptual nature of the contents explained is far from the purely coding tasks [2], and is closer to the engineering tasks that are applied to execute a project [3]. For this reason, students do not show enthusiasm and often have difficulties [4] to understand the usefulness of these techniques and apply them in the development of a computer project. However, the contents and tools of software engineering are key for any computer engineer [5] in order to be able to develop and execute a project in the professional life. It is for this reason that teachers need tools to motivate them.
There are multiple options to motivate students such as actively monitoring less motivated students [6], carrying out internships [7] or curricular adaptation. In the particular case of software engineering, a very widespread technique consists of simulating the realization and execution of a computer project [8]. In this way, the student can experience the same problems and difficulties that occur when working in a company. There are variants in the implementation of this simulation [9]. The most common is to create workgroups that specify and run the same job. However, there is another variant that consists of changing [10] the roles of the students throughout the simulation so that they can play the role of analyst, designer and developer, or else they have to work with projects that have been specified by others partners.
In recent years, the usefulness of the use of gamification as a motivational element in education has been proven in different areas of knowledge [11]. Games promote competitiveness among students [12], and thus encourage them to become more involved in the study of the content [13] that the game deals with in order to obtain good results. There are quite a few studies [14,15] that support the positive effect of its use in education and its influence on a better understanding and comprehension of the contents [16], and on an improvement in academic results [17]. In this sense, different computer tools have been developed that allow the creation of games whose purpose is to show and teach the contents of a subject [18,19]. The result can be games with a significant multimedia load [20] being similar to a video game or simpler games where the important thing is the competitive nature that arises in it.
On the other hand, in the last decade, there has been a revolution in the way in which content is accessed [21]. Thus, it has moved towards digital access based on the use of mobile devices [22,23]. Most students use mobile devices as the main, and in many cases the only way, to access information and to interact with others [24]. In particular, intensive use is made for the consumption of multimedia elements [25] such as movies, video, photos and others. Mobile devices have important advantages in this regard, since they can be used at any time [26] and anywhere. This offers great flexibility as there are no restrictions in terms of schedules [27], leaving the user free to use it. Likewise, mobile devices have another advantage [28] with respect to the speed of access and updating of content. The content creator can keep the content updated in a very simple way [29], as well as report updates and news in the content immediately.
In this article, a tool is presented that aims to help a software engineering teacher to motivate students and complement their training. For this, two design principles have been considered; on the one hand, the advantages offered by using a game as a motivational element that favors the competitiveness of students and their involvement in the game. In addition, the second idea is the format of the game, for this it has been decided to implement it as an application for a mobile device [30], given the widespread use by students and the advantages it offers to be able to be used anywhere and at any time, offering great flexibility of schedules.
The structure of the paper is as follows. In Section 2, the architecture of the application, the data model used and the REST API implemented will be described. Next, in Section 3, the functionality of the application is presented according to the three types of users that can use it: administrator, student and teacher. Section 4 describes an evaluation of usability that has been carried out among a group of professors, students and non-university personnel. Finally, Section 5 presents a set of conclusions and lines of future work.

Architecture and Data Model
The application has been implemented using a client-server model where the client is an Android application that runs on the mobile device, which does requests to the server and waits for a response. The server implements a set of services that are used by clients. An API (application programming interface) of REST services has been implemented in the server that allows access to a specific service. When the client does requests through HTTP to the services exposed by the REST API, it retrieves the necessary data from the database, processes it and returns it to the client with the necessary structure. To use them, the client only needs to know the format and content of the response to the requested service.
The data model has been implemented using a MariaDB-type relational database consisting of nine tables:

•
User It contains the information that represents the information of the questions that a student has failed in a certain exam, that is, the ids of these questions.
Finally, regarding the implemented REST API, services have been defined for the following modules: • User Module. It contains all the services related to the user's profile, login and registration, all the achievements and milestones corresponding to the students and their statistics. The base URL on which these services would be mounted would be "/user". The description of the available endpoints is shown in Table 1.

•
Question module. It contains all the services related to the questions of the common repository for all teachers. The base URL on which these services will be mounted will be "/question". The description of the available endpoints is shown in Table 2. • Topic module. It contains all the services related to the themes of the common repository for all users. The base URL on which these services will be mounted will be "/topic". The description of the available endpoints is shown in Table 3. • NodoCA module. It contains all the services related to the nodes that together will represent a complete exam, that is, the tree corresponding to a learning path created by a teacher. The base URL on which these services will be mounted will be "/nodeca". The description of the available endpoints is shown in Table 4.

Functionality
The functionality of the Android application will be explained below. For this, the dynamics of the game will be explained first, and then the functions of each type of user will be explained: administrator, student and teacher.

The Quizz
From the student's perspective, the application implements a game that is structured in several phases or content modules. In each module there are different topics that have a certain level of difficulty associated with them. The four levels of the game are initial, bronze, silver or gold. The objective of a student is to obtain the highest possible level in each module. To pass a level you must take an exam that consists ( Figure 1) of 10 main questions and 10 alternatives for each main question. There are 30 s to answer each question so that if this time is exceeded, the system goes to the next one and it will be counted as a failure.  Structurally, each exam is represented as a question tree where in each node there is a child that represents the main question and another child that represents the alternative question. If the student fails, they lose 0.5 points, a message is displayed on the screen, and then an alternate question is displayed. If the alternative question is answered correctly then 0.5 points are added to it and if it is failed, again it is assigned 0 points. If the student answers the main question correctly, 0.5 points are added. This process continues ( Figure 2) until Question 10 (in the worst case it would be necessary to answer 20 questions in total).
When the exam ends, the student is informed by a sound according to the score, whether or not they have passed the exam. If the student passes, the application adds the percentage of the game. In the case of abandoning the exam, the student will drop one level with respect to the one they have at that moment. Each exam counts a percentage of the completed game based on whether an exam is being taken for a certain level, that is, the full gold level, adds 45% of the completed game, silver level 35% and bronze level 20%. If the user is in the initial level and takes an exam on Topic 1 to go up to the bronze level (there are 16 topics available) then in case of passing it, a percentage of the game completed of 20/16 = 1.25% will rise. In the same way, it is calculated for the levels of gold and silver.
The criteria to pass to the next level are as follows: • If the user had an initial level and obtains a score ≥5 in the exam, they will pass to the bronze level; • If the user was bronze level and gets a score ≥7 in the exam, they will pass to silver level; • If the user had a silver level and gets a score ≥8 in the exam, they will pass to the gold level; The game ends when the user reaches the gold level in all topics.

Student
The main functions of the student user are: • Take an exam. Figure 3 shows the screen where the different content modules appear. When clicking on a module, the user is asked if they want to take an exam to level up, and if they accept, the exam to take is shown. To do this, the student clicks on the "Game" ("Juego") menu tab, and a screen is displayed with all the available topics and the level of each one of them. Next, if it is clicked on one of the topics, then the student will be able to take an exam to obtain the next level in that particular topic. For it, the student must click on the "Play" ("Jugar") button. If there are published exams for that topic and that level, the student will be able to do the exam. Otherwise, the initial screen is returned and it is reported that there are no exams in the repository to obtain the next level.

•
View statistics. Figure 4 shows the screen where the modules that a user has made appear. When you click on an exam, the statistics of each module appear, and the incorrect answers are shown for each exam performed. The user can see the statistics of the exams taken, the average response time or the level obtained in each topic. To do this, the user must go to the Ranking screen of the menu where a list of all students is displayed, and click on the own profile or that of any other student, showing the levels in each topic. Regarding statistics, only the own statistics are visible but not those of the rest of students. On the other hand, if it is clicked on the "Show Fails" ("Mostrar Suspensos") button, a screen will be displayed with a summary with the exams it has been failed, and by clicking on a specific exam; the content of the exam and the failed questions will be displayed.

•
Reset state. The student can reset the game counter and clear all the statistics and tests taken. To do this, on the main screen it must be clicked on the "Reset Score and Achievements" ("Resetear Puntuación y Logros") button.

Teacher
The main functions of the teacher user are the following: • Check the status of a student. It is possible to view the ranking and the statistics associated with any student registered in the application. • Manage question repository. Figure 5 shows the teacher's screen with all the content modules. When you click on a module, another screen is displayed where the teacher can create or edit exams for that module. When a teacher user accesses the menu tab called "Game" ("Juego"), it is possible to view an interface where the course topics are listed but without levels associated with each topic. If it is clicked on a topic, a screen is displayed where the next actions are shown: 1.
Add question. Figure 6b shows the teacher's screen from which a new question can be created to include in the question repository. To do this, it is necessary to click on the "Create Question" ("Crear Pregunta") button that will display a new screen where the data for the question are entered. Then, click on the "Save" ("Guardar") button, being stored in the common repository of questions for all teacher users. The questions in the repository can be modified, deleted or used to create an exam by any teacher.

2.
Create a question repository. Figure 6a shows the teacher's screen from which a question repository can be created. To do this, it is necessary to click on the "Create repository" ("Crear Repositorio") button, which will display a form where the number of questions in the repository must be indicated. The same process of creating questions is repeated as many times as the number of questions indicated.

3.
Delete a question. To do this, it is necessary to click on the "Delete Question" ("Borrar Pregunta") button, showing a screen with all the questions available in the common repository of teachers. If it is clicked on any of the questions, it will be asked if the user would like to delete that question. If it is confirmed, then it will permanently delete it from the repository. If the question is used in some exam, then it cannot be deleted and an informational message will be displayed to the user. 4.
Modify question. To do this, it is necessary to click on the "Modify Question" ("Modificar Pregunta") button and a screen will appear with all of the questions available in the common repository of teachers. If it is clicked on any of the questions, the same screen used for "Add Question" appears but with the data filled in. Next, the data is modified, and when the modification is finished, it must be clicked on "Save" ("Guardar") button.

5.
Create an exam. Figure 7a shows the screen that shows the list of exams that have not been published and Figure 7b shows the screen for creating a new exam. The process is the following. It must be clicked on the "Create CA" ("Crear CA") button, and a screen will be displayed where it must be indicated the level of the exam (bronze, silver or gold). Next, it is shown the question repository where it must be repeated 10 times: choose a main question and choose an alternate question each time. The repository must have at least 11 questions in order to create an exam. 6.
Modify exam. Figure 7c shows the screen for modifying an exam and Figure 7d shows the screen that allows you to delete a specific exam. The process is the following. It is clicked on the "Modify CA" ("Modificar CA") button, showing a screen with a summary of the exams that have not yet been published. If it is clicked on one of them, all the information of the exam will be displayed, and below the repository of questions. If one of the exam questions is selected, the application will ask if the user would like to replace the main question or the alternative. The user must then select a question from the repository to replace the previous one. Finally, it must be clicked on the "Modify" ("Modificar") button.

7.
Delete exam. Figure 7d shows the screen that allows you to delete a specific exam. The process is the following. It is clicked on the "Delete CA" ("Borrar CA") button, showing a screen with a summary of all published and unpublished exams. If it is clicked on an exam, all the information of the exam will be displayed. Next, it must be clicked on "Delete" ("Borrar") button to delete it from the system. 8.
Publish exam. It is clicked on the "Publish CA" ("Publicar CA") button, showing a screen with a summary of all unpublished exams. If it is clicked on an exam, all the information of the exam will be displayed. Next, it must click on "Publish" ("Publicar") button to publish it in the system. sociated with any student registered in the application. • Manage question repository. Figure 5 shows the teacher's screen with all the con modules. When you click on a module, another screen is displayed where the tea can create or edit exams for that module. When a teacher user accesses the menu called "Game" ("Juego"), it is possible to view an interface where the course to are listed but without levels associated with each topic. If it is clicked on a top screen is displayed where the next actions are shown: 1. Add question. Figure 6b shows the teacher's screen from which a new ques can be created to include in the question repository. To do this, it is necessa click on the "Create Question" ("Crear Pregunta") button that will display a screen where the data for the question are entered. Then, click on the "S ("Guardar") button, being stored in the common repository of questions fo teacher users. The questions in the repository can be modified, deleted or use create an exam by any teacher. 2. Create a question repository. Figure 6a shows the teacher's screen from wh question repository can be created. To do this, it is necessary to click on the " ate repository" ("Crear Repositorio") button, which will display a form w the number of questions in the repository must be indicated. The same pro of creating questions is repeated as many times as the number of question dicated. 3. Delete a question. To do this, it is necessary to click on the "Delete Question" ("Borrar Pregunta") button, showing a screen with all the questions available in the common repository of teachers. If it is clicked on any of the questions, it will be asked if the user would like to delete that question. If it is confirmed, then it will permanently delete it from the repository. If the question is used in some exam, then it cannot be deleted and an informational message will be displayed to the user. 4. Modify question. To do this, it is necessary to click on the "Modify Question" ("Modificar Pregunta") button and a screen will appear with all of the questions available in the common repository of teachers. If it is clicked on any of the questions, the same screen used for "Add Question" appears but with the data filled in. Next, the data is modified, and when the modification is finished, it must be clicked on "Save" ("Guardar") button. 5. Create an exam. Figure 7a shows the screen that shows the list of exams that have not been published and Figure 7b shows the screen for creating a new exam. The If it is clicked on an exam, all the information of the exam will be displayed. Next, it must be clicked on "Delete" ("Borrar") button to delete it from the system. 8. Publish exam. It is clicked on the "Publish CA" ("Publicar CA") button, showing a screen with a summary of all unpublished exams. If it is clicked on an exam, all the information of the exam will be displayed. Next, it must click on "Publish" ("Publicar") button to publish it in the system.

Administrator
The main functions of the administrator user are the following: • Deactivate teacher Figure 8a shows the screen where a teacher can be deactivated. The process is the following. The administrator must search for the user that it must be deactivated, select it and click on the button "Unsubscribe Users" ("Dar de baja usuarios").

•
Activate teacher. Figure 8b shows how to activate a teacher. The process is the following. If there is a teacher user pending activation, when the administrator logs in a notification is displayed. Next, to activate the user, the administrator must click on the notification, and a screen appears where the activation must be confirmed by clicking "Accept" ("Aceptar").

usuarios") •
Activate teacher. Figure 8b shows how to activate a teacher. The process is the following. If there is a teacher user pending activation, when the administrator logs in a notification is displayed. Next, to activate the user, the administrator must click on the notification, and a screen appears where the activation must be confirmed by clicking "Accept" ("Aceptar").

Other Common Functions
The application has a set of functions common to all users: • Login. Figure 9a shows the login screen. The process is as follows: It is necessary to be registered in the application. In the login screen, the username and password must be entered. When the session starts, the user's home page is displayed. Always, it is

Other Common Functions
The application has a set of functions common to all users: • Login. Figure 9a shows the login screen. The process is as follows: It is necessary to be registered in the application. In the login screen, the username and password must be entered. When the session starts, the user's home page is displayed. Always, it is possible to log out and return to the login screen using the log out ("Cerrar sesión") button.

•
Register. Figure 9b shows the screen for editing a user's profile. The process is as follows: the "Register" ("Registro") button that appears on the login screen must be clicked, and the user must enter the requested data on the screen that appears. In particular, it must be indicated if the user will register as a teacher or as a student.

•
Edit profile. Figure 9c shows the screen for registering. The process is the following.
To do this, click on the edit button that appears on the user's home page and a screen is displayed with the user's data that can be modified: password, image and others.
To confirm the changes, it must be clicked on the "Update" ("Actualizar") button.
• Unsubscribe user. Figure 10c shows the screen to unsubscribe from the application. To do this, it must be clicked on the "Unsubscribe" ("Dar de baja") button that appears on the user's home page, and confirm the action.

•
Check ranking. Figure 10a shows the application options menu and Figure 10b shows the user profile edit screen. To do this, it must be clicked on the menu located at the top right of the user's home page. As a result, a list of students is shown, so that if it is selected one, then the name, nick, email and percentage of the game completed will be displayed.
mputers 2021, 10, x FOR PEER REVIEW 13 of possible to log out and return to the login screen using the log out ("Cerrar sesión button. • Register. Figure 9b shows the screen for editing a user's profile. The process is follows: the "Register" ("Registro") button that appears on the login screen must b clicked, and the user must enter the requested data on the screen that appears. particular, it must be indicated if the user will register as a teacher or as a student. • Edit profile. Figure 9c shows the screen for registering. The process is the followin To do this, click on the edit button that appears on the user's home page and a scree is displayed with the user's data that can be modified: password, image and other To confirm the changes, it must be clicked on the "Update" ("Actualizar") button. • Unsubscribe user. Figure 10c shows the screen to unsubscribe from the applicatio To do this, it must be clicked on the "Unsubscribe" ("Dar de baja") button that a pears on the user's home page, and confirm the action. • Check ranking. Figure 10a shows the application options menu and Figure 10b show the user profile edit screen. To do this, it must be clicked on the menu located at th top right of the user's home page. As a result, a list of students is shown, so that if is selected one, then the name, nick, email and percentage of the game completed w be displayed.

Evaluation
An evaluation of the usability of the implemented application has been carried out. For this, a study population of 43 people has been considered, made up of 13 teachers, 17 students and 13 people with no relation to the university. The administrator, student or teacher roles have been evaluated, and based on the type; one type of question or another has been shown (half of the respondents tested the application with the role of student, and the other half with the role of administrator and teacher). The questions asked in the evaluation are measured using a Likert scale between one and five where zero would be the least satisfied and five would be the most. The evaluation has been carried out using Google Forms. In each block of the survey, it is possible to see the steps to follow before asking the user the assessment question (Questions used in the assessment can be found in Appendix A). The classification of the question blocks is as follows: • The first block of questions shows general questions related to age, relationship with university, and gender. • The second block shows questions related to the user's role. At this point, the user must follow the steps indicated before evaluating the questions.
The third block of questions deals with the global evaluation of the application and proposals for improvements and changes where the user can freely give their opinion. The results of the evaluation have been as follows. The evaluation of the usability of the profile editing interface has been assessed in all cases with values greater than three points

Evaluation
An evaluation of the usability of the implemented application has been carried out. For this, a study population of 43 people has been considered, made up of 13 teachers, 17 students and 13 people with no relation to the university. The administrator, student or teacher roles have been evaluated, and based on the type; one type of question or another has been shown (half of the respondents tested the application with the role of student, and the other half with the role of administrator and teacher). The questions asked in the evaluation are measured using a Likert scale between one and five where zero would be the least satisfied and five would be the most. The evaluation has been carried out using Google Forms. In each block of the survey, it is possible to see the steps to follow before asking the user the assessment question (Questions used in the assessment can be found in Appendix A). The classification of the question blocks is as follows: • The first block of questions shows general questions related to age, relationship with university, and gender.

•
The second block shows questions related to the user's role. At this point, the user must follow the steps indicated before evaluating the questions.
The third block of questions deals with the global evaluation of the application and proposals for improvements and changes where the user can freely give their opinion. The results of the evaluation have been as follows. The evaluation of the usability of the profile editing interface has been assessed in all cases with values greater than three points (Figure 11a). Likewise, the interface of the game screen that shows the study topics has been evaluated with four and five points (Figure 11b), and has a high percentage with two and three points, in terms of the process of uploading an image to the profile (Figure 11c). Finally, all the respondents evaluate with five points, the process of taking an exam (Figure 11d). The process of editing the profile and uploading an image of the teacher role is uated with two points in most cases and three points in the rest (Figure 12a,b). O other hand, the game interface for the teacher role is evaluated in all cases with four five points (Figure 12c). The process of creating an exam or updating a question from repository is rated by participants above three points (Figure 12d). Finally, satisfa with the quiz post and delete screens for users taking the survey as teachers is rated a four in all cases (Figure 12e,f) The process of editing the profile and uploading an image of the teacher role is evaluated with two points in most cases and three points in the rest (Figure 12a,b). On the other hand, the game interface for the teacher role is evaluated in all cases with four and five points (Figure 12c). The process of creating an exam or updating a question from the repository is rated by participants above three points (Figure 12d). Finally, satisfaction with the quiz post and delete screens for users taking the survey as teachers is rated above four in all cases (Figure 12e,f).
(The usability of the interface of the role administrator has been evaluated by all participants with four points (Figure 13).
A total of 33% of those surveyed have evaluated the ease of use of the application with four points and 66% with five points (Figure 14a). Likewise, most of the participants evaluate with four and five points, the colors used in the application and the usability of the interface (Figure 14b), and only a few cases evaluate it with two and three points.
In Block 3 of the evaluation, there was a block of free response questions where the respondents have made some proposals for improvements such as:

•
View the screen horizontally. • Eliminate background sound when pressing. • Improve the colors and design of the interface. • Improve the editing of an exam. • Improve the display of some texts in the application. • Improve the color and font of some texts • Improve the identification of possible answers in question tests.
other hand, the game interface for the teacher role is evaluated in all cases with four and five points (Figure 12c). The process of creating an exam or updating a question from the repository is rated by participants above three points (Figure 12d). Finally, satisfaction with the quiz post and delete screens for users taking the survey as teachers is rated above four in all cases (Figure 12e   A total of 33% of those surveyed have evaluated the ease of use of the application with four points and 66% with five points (Figure 14a). Likewise, most of the participants evaluate with four and five points, the colors used in the application and the usability of the interface (Figure 14b), and only a few cases evaluate it with two and three points. A total of 33% of those surveyed have evaluated the ease of use of the applic with four points and 66% with five points (Figure 14a). Likewise, most of the particip evaluate with four and five points, the colors used in the application and the usabil the interface (Figure 14b), and only a few cases evaluate it with two and three points In Block 3 of the evaluation, there was a block of free response questions wher respondents have made some proposals for improvements such as: • View the screen horizontally. • Eliminate background sound when pressing. • Improve the colors and design of the interface. • Improve the editing of an exam. • Improve the display of some texts in the application. • Improve the color and font of some texts • Improve the identification of possible answers in question tests.

Conclusions and Future Work
This article has described an Android application that allows complementin training of university students in software engineering. The application impleme game of questions organized in 16 different topics with different levels of difficult finish the game it is necessary to obtain the maximum level in each one of the sub The game consists of taking exams with questions about the corresponding topic and the appropriate difficulty for the level at which it is being played. Each exam consi 10 main questions and 10 alternative questions for the case of failure the main quest For each correct answer to a main question, one point is obtained, and if it is an altern question, one half of a point is obtained. In all other cases, zero points are obtained students who participate in the game are organized in a ranking according to the p

Conclusions and Future Work
This article has described an Android application that allows complementing the training of university students in software engineering. The application implements a game of questions organized in 16 different topics with different levels of difficulty. To finish the game it is necessary to obtain the maximum level in each one of the subjects. The game consists of taking exams with questions about the corresponding topic and with the appropriate difficulty for the level at which it is being played. Each exam consists of 10 main questions and 10 alternative questions for the case of failure the main questions.
For each correct answer to a main question, one point is obtained, and if it is an alternative question, one half of a point is obtained. In all other cases, zero points are obtained. The students who participate in the game are organized in a ranking according to the points they have obtained in the different exams carried out, and can consult the points of the rest of the participants. In addition to the student user, the application administrator role and the teacher role in charge of preparing the questions and exams have been defined.
The application has been evaluated among students, professors and people outside the university, obtaining a good result and a good acceptance.
The advantages of the application are the use of gamification to introduce and complement a subject that is normally complex and not very motivating for computer science students. Through play and the promotion of the competitive aspect, students are motivated and receptive to the contents explained. Likewise, another advantage is the possibility of using the application from a mobile phone, so that it is easy to access anytime, anywhere. This aspect is key, given that the habits of current students demonstrate intensive use of mobile devices. On the other hand, it is important to highlight the intuitive and simple interfaces of the application, which facilitates its use and favors its use. Finally, from the teacher's point of view, the application is interesting since it constitutes an optimal tool to complement the regular training of face-to-face classes. In addition, it serves as an instrument to better know their students and their understanding of the subject: concepts they do not understand, the level of knowledge of the students, participation and motivation of the students.
There are a wide variety of systems that offer functionalities similar to those implemented in this work. However, the described tool presents some novelties and differences. In the first place, the learning process developed is novel since it allows the creation of different learning itineraries adapted to the levels of the students. For this, a tree-shaped structure of the exams is used in which alternative questions to the main ones can be created, functioning as a Socratic tutor. Second, from a technological point of view, the application presents as a novelty the implementation of a layer of REST-type web services that allows the modification and addition of new services in a simple way since all services are independent of each other, achieving a loosely coupled, consistent and easily extensible and maintainable system. Lastly, the tool implements a "learning by doing" strategy, given that learning is carried out through practical tests where the teacher can delve into a topic through questions aimed at reinforcing learning.
However, the application has some limitations that represent future lines of work. In the first place, with regard to the exams, it would be interesting to expand the types of questions that can be used as well as the possibility of obtaining a certificate of completion of the course. Regarding the services offered to students, the application could be improved with functions such as creating groups of friends among users so that they can follow the activity of friends, implement the interface in languages other than Spanish or provide new tools, providing communication for teachers and students. In addition, with regard to the operation of the application, it could be improved by allowing competitions between the best players, expanding the application to other areas of knowledge or connecting the application with the course management system used at the university to share information about students, the activity and the grades obtained.
On the other hand, it should be noted that the evaluation carried out consisted of conducting an exploratory investigation with a non-representative sample. However, it is proposed as an improvement to consider a more significant sample and perform an evaluation in a real software engineering class with the aim of evaluating the usefulness to improve student learning. The qualitative and quantitative data obtained would be analyzed using analysis tools such as SAS Enterprise Miner.   The third block of questions consists of a series of questions on the global evaluation of the application and proposals for improvements and changes ( Figure A13). The third block of questions consists of a series of questions on the global evaluation of the application and proposals for improvements and changes ( Figure A13).