Development of a Management System for Short Online Learning Courses

In all areas of knowledge, there is a set of basic concepts or ideas that are essential to understand. A very common problem that arises among students is the difficulty in acquiring these concepts. One way to solve this problem is by carrying out small knowledge tests where these concepts are put into practice. To develop these tests there are multiple options, however, in general, the applications that allow for these tests to be implemented are usually very complex and are often included within other larger systems. This article describes a tool to develop short online courses that presents an interface and a functionality that allows a teacher to create and manage courses in a very simple and intuitive way. In the same way, it offers the student an Android app to be able to access the courses published by the teacher to be able to take them, as well as to manage all the activity of it.


Introduction
A common problem among students is the difficulty to assimilate certain concepts or ideas that are fundamental in the subjects they study [1]. Normally, these concepts are the basis for being able to understand others and thus be able to progress in knowledge [2]. This problem usually arises in subjects where programming language is taught. In this sense, it would be very interesting to have an alternative mechanism to lectures to complement the teaching received in class and which would also be motivating for students. A solution to this problem consists of reflecting on these concepts by presenting the students with multiple choice tests where it is put into practice [3] these concepts. In this way, the student is forced to go deeper in order to solve the questions proposed.
However, the implementation of these tests is a problem of several dimensions [4]. On the one hand, its completion in class time is not usually feasible since normally the syllabi are long and the time available for their teaching is very tight, so that if this new task is included, the teaching of the syllabi would be more complicated. On the other hand, carrying out many tests of this type and their subsequent correction would imply an extra workload for the teacher that would end up demotivating them to carry them out. Finally, in the context of today's society, it is a reality that students prefer to consume any type of content through their mobile devices [5] compared to other means such as traditional physical ones (e.g., paper) or the use of a computer. All these reasons point towards an implementation of this type of knowledge tests through apps that can be accessed from a mobile device [6]. In the first place, it does not take time away from face-to-face classes, it does not imply an extra workload for the teacher if the app automates the correction of these tests [7], it adapts to the style of consumption of the students, and the nature [8] of the implementation allows students to test asynchronously and wherever they are.
To implement this proposal, there are currently different alternatives. One option would be to use the quiz creation tools offered by most learning management systems (LMS) such as Moodle, Blackboard, and the like. These types of systems include among their functional modules [9] one that facilitates the creation of question banks of different types, from which different tests can be created for students enrolled in a course managed The implemented system consists of two different applications, an Android app and a web application, which share information through a common MongoDB-type document database. Through this design, the information managed by the system is always kept consistent and updated, since any change is immediately reflected in the shared database. Figure 1a shows the components of the designed architecture as well as the technology used in its implementation. droid app). Next, in Section 5, the system is discussed. Finally, Section 6 proposes the conclusions and a set of future lines of work.

Architecture and Data Model
The implemented system consists of two different applications, an Android app and a web application, which share information through a common MongoDB-type document database. Through this design, the information managed by the system is always kept consistent and updated, since any change is immediately reflected in the shared database. Figure 1a shows the components of the designed architecture as well as the technology used in its implementation.
In particular, it should be noted that both the browser and the mobile application act as clients of the system and make HTTP requests to the services exposed by a REST API (Figure 1b). The API processes the client's requests, receives the necessary data from the database, and sends the response back to the client.

Functionality
In the following sections the main functionalities of the implemented system will be described. Thus, on the one hand the functions of the Web application will be explained, and on the other hand, the functions of the Android app will be explained.

Web Application
The role of the user of the web application is that of a teacher, so that the implemented functions are oriented towards the creation and management of courses as well as their respective questions.
Access to the web application is done by username and password from the application's home page (Figure 2a), for which it is necessary to have previously registered. To do this, from the application login screen (Figure 2b) there is a link that allows access to a registration page (Figure 2c) where the teacher fills in a data set, thus obtaining the role of teacher. There is no verification system about whether the registered users are really teachers or not, however, it has been implemented in this way assuming that the entry address to the web application will only be provided to teachers. In particular, it should be noted that both the browser and the mobile application act as clients of the system and make HTTP requests to the services exposed by a REST API (Figure 1b). The API processes the client's requests, receives the necessary data from the database, and sends the response back to the client.

Functionality
In the following sections the main functionalities of the implemented system will be described. Thus, on the one hand the functions of the Web application will be explained, and on the other hand, the functions of the Android app will be explained.

Web Application
The role of the user of the web application is that of a teacher, so that the implemented functions are oriented towards the creation and management of courses as well as their respective questions.
Access to the web application is done by username and password from the application's home page (Figure 2a), for which it is necessary to have previously registered. To do this, from the application login screen (Figure 2b) there is a link that allows access to a registration page (Figure 2c) where the teacher fills in a data set, thus obtaining the role of teacher. There is no verification system about whether the registered users are really teachers or not, however, it has been implemented in this way assuming that the entry address to the web application will only be provided to teachers. When a teacher authenticates in the application, they access the main screen ( Figure 3) where the created courses are shown, and several options are available: create new courses, view the user ranking, manage the user, or close the session.
To create a course, it must be clicked on the link "Create course" that appears on the main screen and access a page ( Figure 4a) with a form in which the data of the course to be given is filled in. The form indicates the name of the course, a short description, and its level of difficulty. Likewise, there are other configuration options about the learning paths. The system has been designed so that the teacher can design a learning path, understanding as such the order in which the courses can be taken according to the results obtained. In this sense, when registering a course, you must specify which courses are accessible (Figure 4b) in case the student passes the course or not. In this way, the student's progress in the courses guides the content that she can access. Finally, note that a course can be created in "Unlocked" mode with the aim of serving as the beginning of a learning path. Educ. Sci. 2021, 11, x FOR PEER REVIEW 5 of 16 To create a course, it must be clicked on the link "Create course" that appears on the main screen and access a page ( Figure 4a) with a form in which the data of the course to be given is filled in. The form indicates the name of the course, a short description, and its level of difficulty. Likewise, there are other configuration options about the learning paths. The system has been designed so that the teacher can design a learning path, understanding as such the order in which the courses can be taken according to the results obtained. In this sense, when registering a course, you must specify which courses are accessible ( Figure 4b) in case the student passes the course or not. In this way, the student's progress in the courses guides the content that she can access. Finally, note that a course can be created in "Unlocked" mode with the aim of serving as the beginning of a learning path.
Once the course is created, it appears in the list of courses on the main page. Then, to manage the course, it is only necessary to click on the listed course, and it will access a page ( Figure 5) where you can perform the following operations on the course: Publish /Unpublish course, Delete course, Edit Course, Create Question, or Course Statistics.    Once the course is created, it appears in the list of courses on the main page. Then, to manage the course, it is only necessary to click on the listed course, and it will access a page ( Figure 5) where you can perform the following operations on the course: Publish/Unpublish course, Delete course, Edit Course, Create Question, or Course Statistics.  When a course is created, it is not accessible to students until it is published by the instructor. Thus, in the unpublished state, the teacher can create or delete the questions that will be part of the course without it being visible to the students (in the student app, only published courses appear). Note that the "Unpublish course" or "Publish course" button will appear in this interface, depending on the status of the course.
The "Edit course" option allows access to a form similar to the one used to register the course, but this time filled in with the current course data, so that the teacher can modify any of these data.
On the other hand, when the "Delete course" option is used, the references to it are eliminated for the users who had unlocked it so that they will not be able to take it again. Likewise, the grade obtained in the course is kept as part of the total points accumulated by the student, and the course will continue to appear in the list of courses completed by the same. When a course is created, it is not accessible to students until it is published by the instructor. Thus, in the unpublished state, the teacher can create or delete the questions that will be part of the course without it being visible to the students (in the student app, only published courses appear). Note that the "Unpublish course" or "Publish course" button will appear in this interface, depending on the status of the course.
The "Edit course" option allows access to a form similar to the one used to register the course, but this time filled in with the current course data, so that the teacher can modify any of these data.
On the other hand, when the "Delete course" option is used, the references to it are eliminated for the users who had unlocked it so that they will not be able to take it again. Likewise, the grade obtained in the course is kept as part of the total points accumulated by the student, and the course will continue to appear in the list of courses completed by the same.
The option "Course statistics" shown in Figure 6 gives access to a page that shows a list of all the students who have completed the course and the grade they obtained, as well as the average grade for the course.
The option "Course statistics" shown in Figure 6 gives access to a page that shows a list of all the students who have completed the course and the grade they obtained, as well as the average grade for the course. Finally, the option "Create question", shown in Figure 7, allows the teacher to add multiple choice questions to the course with four options to choose from using a form where the data that constitute the question are filled in. Finally, the option "Create question", shown in Figure 7, allows the teacher to add multiple choice questions to the course with four options to choose from using a form where the data that constitute the question are filled in. Finally, the option "Create question", shown in Figure 7, allows the teacher to add multiple choice questions to the course with four options to choose from using a form where the data that constitute the question are filled in. Each question created is listed on the course management page. Furthermore, each question can be managed by clicking on the listed question itself. When pressed, a new page is loaded (Figure 8) where the question data appears, and two management options are displayed: edit or delete the question. If the "Delete question" option is clicked, then the question is eliminated from the course in which it was defined along with all the references that exist to it in the system. If the "Edit question" option is clicked, then it allows access to a form similar to the one used to create the question, but this time filled with the current data of the question so that the teacher can modify any of these data.
Finally, the following options are also possible from the main page of the application: • View the ranking of students (Figure 9a). This option shows a list with the students ordered by the scores obtained in the courses. In addition, from the ranking of users, the teacher can access the profile of each user (Figure 9b) to see more details about it.
The profile of each user shows the name, email, the total score, and a list of all the courses that have been completed and the score obtained in each one. If the "Delete question" option is clicked, then the question is eliminated from the course in which it was defined along with all the references that exist to it in the system. If the "Edit question" option is clicked, then it allows access to a form similar to the one used to create the question, but this time filled with the current data of the question so that the teacher can modify any of these data.
Finally, the following options are also possible from the main page of the application: • View the ranking of students (Figure 9a). This option shows a list with the students ordered by the scores obtained in the courses. In addition, from the ranking of users, the teacher can access the profile of each user (Figure 9b) to see more details about it. The profile of each user shows the name, email, the total score, and a list of all the courses that have been completed and the score obtained in each one.
• Manage the user profile ( Figure 10). It is possible to edit or delete the user. The "Edit user" option allows access to a form similar to the one used to register users, but this time filled with the current user data so that the teacher can modify any of these data. The option "Delete user" deletes the current user, and the application session is closed.
course in which it was defined along with all the references that exist to it in the system. If the "Edit question" option is clicked, then it allows access to a form similar to the one used to create the question, but this time filled with the current data of the question so that the teacher can modify any of these data. Finally, the following options are also possible from the main page of the application: • View the ranking of students (Figure 9a). This option shows a list with the students ordered by the scores obtained in the courses. In addition, from the ranking of users, the teacher can access the profile of each user (Figure 9b) to see more details about it.
The profile of each user shows the name, email, the total score, and a list of all the courses that have been completed and the score obtained in each one. • Manage the user profile ( Figure 10). It is possible to edit or delete the user. The "Edit user" option allows access to a form similar to the one used to register users, but this time filled with the current user data so that the teacher can modify any of these data. The option "Delete user" deletes the current user, and the application session is closed.

Android App
The role of the mobile app user is that of a student. In this sense, the implemented functions are oriented towards the registration and realization of the courses published by the professors.
Access to the functionality of the mobile application is done by username and password, for which it is necessary to have previously registered. When the application is run, there is a link on the login screen (Figure 11a) that allows access to a registration page (Figure 11c) where the student fills in a data set, thus obtaining the student role of the app.

Android App
The role of the mobile app user is that of a student. In this sense, the implemented functions are oriented towards the registration and realization of the courses published by the professors.
Access to the functionality of the mobile application is done by username and password, for which it is necessary to have previously registered. When the application is run, there is a link on the login screen (Figure 11a) that allows access to a registration page (Figure 11c) where the student fills in a data set, thus obtaining the student role of the app.
functions are oriented towards the registration and realization of the courses published by the professors.
Access to the functionality of the mobile application is done by username and password, for which it is necessary to have previously registered. When the application is run, there is a link on the login screen (Figure 11a) that allows access to a registration page (Figure 11c) where the student fills in a data set, thus obtaining the student role of the app. When the student authenticates himself in the application, he accesses the main screen (Figure 11b) where the courses published by the teachers which are unlocked for their completion are shown (those courses that are not unlocked because they depend on the completion other previews are not shown to the student until they can perform them). When the student authenticates himself in the application, he accesses the main screen (Figure 11b) where the courses published by the teachers which are unlocked for their completion are shown (those courses that are not unlocked because they depend on the completion other previews are not shown to the student until they can perform them). In this sense, to take a course, it must be clicked on, thus accessing its questions. Each course is made up of 10 questions that are randomly shown to each student who takes it. They are multiple choice questions (Figure 12a) that in turn are randomly shown to each student. To answer a question, the chosen option is marked, and when moving to the next screen, the system displays a feedback message indicating whether or not the question posed was correct.
Once all the questions in the course have been answered, a screen will appear with the score obtained ( Figure 12b) and a link to complete the course. The score is calculated out of 10, so that it is approved by obtaining a score of at least 5. When clicking on the "Finish" link, you return to the main screen and, according to the score obtained, new courses will have been unlocked and the student can perform them. Note that a course can be done as many times as desired, but only the points from the first attempt are considered, and they only unlock one course. Thus, the rest of the attempts that are made will not count as new points or unlock other courses if a different result is obtained from the one obtained in the first attempt. On the other hand, from the main screen you can access through the link "Results" (Figure 13a) the list of completed courses and the score obtained.
In this sense, to take a course, it must be clicked on, thus accessing its questions. Each course is made up of 10 questions that are randomly shown to each student who takes it. They are multiple choice questions (Figure 12a) that in turn are randomly shown to each student. To answer a question, the chosen option is marked, and when moving to the next screen, the system displays a feedback message indicating whether or not the question posed was correct. Once all the questions in the course have been answered, a screen will appear with the score obtained ( Figure 12b) and a link to complete the course. The score is calculated out of 10, so that it is approved by obtaining a score of at least 5. When clicking on the "Finish" link, you return to the main screen and, according to the score obtained, new courses will have been unlocked and the student can perform them. Note that a course can be done as many times as desired, but only the points from the first attempt are considered, and they only unlock one course. Thus, the rest of the attempts that are made will not count as new points or unlock other courses if a different result is obtained from the one obtained in the first attempt. On the other hand, from the main screen you can access through the link "Results" (Figure 13a) the list of completed courses and the score obtained. Finally, from the main page there is an icon in the upper right that allows access to a page with various options (Figure 13b) about the account. Specifically, it is possible to edit or delete the current user's account. To edit the account, a form similar to that of the registry appears with the current account data so that the student can modify the data. If you click on the delete link, then a confirmation screen appears, so that if it is confirmed, the session is closed, and the user is sent to the login screen and the account is removed from the system.

Evaluation
An evaluation of the usability of the application has been carried out. For this, a sample of 27 people was selected, consisting of 8 teachers and 19 students, 13 of whom were men, and the rest were women. The respondents, regardless of whether they were teach- Finally, from the main page there is an icon in the upper right that allows access to a page with various options (Figure 13b) about the account. Specifically, it is possible to edit or delete the current user's account. To edit the account, a form similar to that of the registry appears with the current account data so that the student can modify the data. If you click on the delete link, then a confirmation screen appears, so that if it is confirmed, the session is closed, and the user is sent to the login screen and the account is removed from the system.

Evaluation
An evaluation of the usability of the application has been carried out. For this, a sample of 27 people was selected, consisting of 8 teachers and 19 students, 13 of whom were men, and the rest were women. The respondents, regardless of whether they were teachers or students, tested the application with the role of student or teacher. The evaluation consisted of carrying out different execution paths both in the web application and in the Android application according to whether it was acting as a teacher or as a student. The execution paths put the different functionalities of the application to the test. Once the executions were carried out, each person had to answer a form made in Google Forms where they were proposed a set of questions about the usability of the tested application. Each question was valued according to a Likert scale between 0 and 5 where 0 is very little satisfied and 5 is very satisfied. The questions asked can be grouped into three groups. The first block is related to age, gender, and profession. The second block includes questions about the functionalities that you have executed when testing the application. Finally, the third block includes questions about the global rating of the application and an open question where comments or improvements to the application can be freely indicated.
The main results obtained in the evaluation are the following: • Of the respondents, 59% carried out the evaluation with the role of student, and the remaining respondents carried out the evaluation with the role of teacher.

•
Regarding the usability evaluation on how to login and register in the application with the student role (Android app), all the results were above 3 points. • A total of 70% think that the main interface of the Android app is intuitive, and 30% think that it is very intuitive.

•
Regarding satisfaction about the presentation of the questions and the interaction process with the Android app, 10% think it is normal, 56% think it is intuitive, and the remaining users think it is very intuitive.

•
Regarding the feedback that the application returns when answering the questions, 80% of the respondents are satisfied and the rest are very satisfied.

•
Regarding the history of the results and the activity developed by the students, 15% think it is normal, 60% are satisfied, and the rest are very satisfied. • A total of 90% of the respondents evaluate the registration and login in the application for the teacher role as satisfactory. The remaining respondents evaluate it very satisfactorily. • A total of 70% of respondents satisfactorily evaluate the process of creating an exam and the questions in it, 10% consider it normal, and the remaining 30% consider it very satisfactory. • A total of 85% consider the functions available to the teacher for the management of the courses they have created to be satisfactory and 15% consider it very satisfactory. • Regarding the information offered by the tool to the teacher about the results of the students who use it, 65% consider it satisfactory, while the remaining 35% consider it very satisfactory.

•
The evaluation of the colors used in the interfaces shows that most of the scores are between 4 and 5 points, and in some cases, between 2 and 3 points. • Finally, the degree of satisfaction regarding the ease of use of the web application shows that 40% are satisfied and the rest are very satisfied. In the case of the Android application, 70% are satisfied and 30% are very satisfied.

Discussion
There are various systems aimed at creating courses. These systems offer a wide variety of services to both teachers and students. However, the system presented in this article presents a series of novelties and characteristics that make it different from this type of tool. In the first place, generally, these types of systems are proprietary [21], and they provide the entire service by subscribing a license that allows the teacher to set up their courses. In many cases, these licenses are subject [22] to the number of student users who are going to use it in order [23] to estimate the load that the server will bear. However, the system presented in this article is completely free, and can be used by anyone and anyone can modify it. Since it is free software and the hardware requirements are not very demanding (a laptop with Windows 10 installed is enough to run the application), it is simple enough that it can be used in multiple subjects. For this, it would be enough for each teacher who wants to use it to install an instance of the system on their personal machine, and for the students, all they would have to do is install the Android app and find the teacher they want to take the assessment with. This would give them access to the content generated by said teacher. Secondly, regarding the services offered, in commercial applications, the number of configuration options and functionalities offered is usually very large [24], so that the systems are not very intuitive [25] for the creator of the content, which, in this case, is the teacher. In this same sense, the teacher is limited to what the system offers him [26], so that if it is necessary to make a change in the coding [27], it will generally not be possible. However, in the proposed tool, the code is open, so whoever wishes to can make changes to adapt it to their needs. In addition, in relation to the configuration options and the functionalities themselves, the system is quite simple to use with intuitive actions [28] that do not require prior learning from the teacher. Anyone with a minimum knowledge [29] of user computing can use it. Third, the type of learning process it offers is novel because it allows the creation of different learning paths adapted to the levels of the students [30]. In addition, the very structure of the exams are in the form of a binary tree [31] in which there is a main question and an alternative question. In this way, as a Socratic tutor [32], if the student fails the main question, the system offers an alternative question related to the objective of having a second chance. Fourth, from an architectural point of view, the application presents as a novelty, on the one hand, being developed as a layer of REST-type web services, which offers the advantage that the modification and addition of new services [33] is very simple, since all services are independent of each other, and the only thing they share is information from the common database that they all use. On the other hand, the mixed system that combines a web application with an Android application is also original [34] for this type of system. This architecture delegates responsibility for maintaining consistency and synchronization of data in the common database used by the two applications. In this way, a loosely coupled, consistent, and easily extensible and maintainable system [35] is achieved.
From the pedagogical point of view, the described tool favors learning and ensures education. The starting point of this project is the need for students to have a mechanism that complements face-to-face and regulated training. In face-to-face classes, it is complicated, for time and capacity reasons, to delve into all aspects of the explained content. In this sense, it would be interesting for both the teacher and the students to have a means where the teacher could offer students content that delves into certain aspects of the content. For this, there are several alternatives. An alternative to solve this problem is through the strategy of "learning by doing". It consists of working the contents in a practical and directed way with the aim of learning. There are a variety of tools that could be used to implement this strategy, but most have some limitations such as the economic cost of using them, the complexity of their configuration and use, the lack of usability, or the rigidity of their functions. For these reasons, it was thought of creating a new tool that would allow for the implementation of the learning by doing strategy and that would not present the aforementioned limitations. The implemented tool responds to the requirements given that learning is carried out through practical tests where the teacher can delve into a topic through questions aimed at reinforcing certain aspects. In addition, the possibility of defining alternative learning paths allows adapting learning to different learning styles and levels of knowledge. On the other hand, another aspect that favors and ensures learning and education is the ease of use by both students and teachers. For a teacher, it is intuitive and simple to organize training and prepare learning modules. And the same is true for a student. In addition, for the latter case, the format of access to the tool through a mobile phone is motivating given the importance of mobile devices for students. In addition, the fact that it runs on a mobile phone has the additional advantages that it can be used anytime, anywhere. However, the system has some limitations with respect to other similar systems such as the type of questions that can be created, since they are all of the type with several options. An improvement of the application would be to be able to select between more types of questions [36]. Another limitation is the integration of the system with the LMS that is normally used in universities or the student management system [37], so that the grades obtained by the students could be managed globally, and that the professor would not have to be in charge of this task [38]. Other systems also introduce other gamification elements such as [39] the possibility of creating competition groups, following certain users [40], awarding badges to participants as they pass levels of difficulty, or proposing challenges in which all participants compete with each other [41]. Some of these features would be desirable to add to the presented system.

Conclusions and Future Work
In this work, a system for the development of short online courses designed to complement the main learning process that takes place in the classrooms has been presented. The system consists of a web application and an Android app which share a common MongoDB database. In addition, an API Rest of services has been implemented that is responsible for managing the requests made through the client applications, in such a way that the maintenance and extension of the system to new functionalities is facilitated. The web application is oriented towards the role of a teacher who designs the courses. That is why the application offers all the necessary functionality to create and manage a course as well as the questions that comprise it. On the other hand, the Android app is oriented towards the role of a student who will take the courses published by the teacher and where they will be able to manage all the activity that they develop in the system. The objective of the project was to have a simple but functional system that will not present the complexities of other similar systems. This objective has been met, however a set of possible future lines of work can be defined as follows:

•
Incorporate the possibility of creating other types of questions other than multiple choice questions such as relationship questions, true/false questions, questions with several possible answers, and others. • Implement a reward mechanism in order to motivate students through the competitive factor. These prizes could be badges or rewards such as being able to access a course before certain users or publicly show the ranking of students by points.

•
Expand the user profile so that a photo can be added, as well as the possibility of connecting the activity carried out in the application with the accounts they have on their social networks.

•
Offer the possibility of taking a course several times in order to improve the grades obtained and thus be able to access new courses. • Implement a system for importing courses into standard formats such as SCORM 2004 so that they could be deployed on other platforms. • Develop a communication system between students registered on the platform as well as other communication tools between teacher and students. • Facilitate the exploitation of the data of the results and the activity of the students in the system.

•
The evaluation carried out with 27 people is not a representative sample and was intended to carry out an exploratory investigation. That is why it is proposed, as a line of future work, an evaluation of the tool will be carried out with a representative sample of a larger size.
Funding: This research received no external funding.
Institutional Review Board Statement: Not applicable.

Informed Consent Statement: Not applicable.
Data Availability Statement: Not applicable.