[en] Virtual learning environments are tools in constant growth and development. They are the ideal complement to traditional face-to-face learning methods. One of the greatest advantages of this kind of system is that it allows the students to set their own pace of work. This personalization and interactivity encourage the student to be responsible for their own learning process. For this to be possible these platforms should grant full and structured access to the contents that will be taught, and that is why content management has great importance in the development of these applications. The development of this project has made it possible to add new modules to an existing online learning application. The application is an online training course intended for learning how to program in the C programming language. It provides a variety of different contents areas and activities aimed to students of computer science engineering. At the present time the application is already online and working. Some parts of it, like user management or the stats module are totally functional while other parts are still under development or the development has not yet begun. It is expected that new functionality will be added to the application in the near future without affecting the already working modules and without affecting the proper functioning of the website. Specifically the part that concerns the work explained in this document is that which is related to the edition and addition of new units and exercises included in the application. The contents are divided into units with an increasing difficulty level. Each of these units makes available to the user a series of contents that includes a brief explanation sometimes accompanied by exercises which the user needs to complete and which are automatically corrected in the application. It is also included in each page a section with a C language code that it is possible to modify, compile and execute by the user, allowing the students to test the learned skills. The main goal of this project is to make the task of adding or editing content in the application easier, so the teaching staff can do it more efficiently and without worrying about the errors that can occur when adding new content by editing the source code of each unit and also allowing people without a computer science background to do this task with a simple form. There will not be the need to edit the source code of the application, saving that laborious work. Another essential aspect of the project is to keep the application working while the new module is developing and at the same time, the new module has to be compatible with the old ones that are already operational and fully working. And finally the new parts that this project includes have to be able to expand or modify easily.

[es] Los entornos de aprendizaje virtual son una herramienta en continuo crecimiento hoy en día. Son un complemento ideal al aprendizaje tradicional y presencial y, sin duda, una de las mayores ventajas de este sistema es la posibilidad que otorga al alumno para imponerse su propio ritmo de trabajo. Esta personalización e interactividad fomentan que los estudiantes sean los responsables de su propio aprendizaje. Para que esto sea posible estas plataformas deben permitir un acceso completo y estructurado a los contenidos que se desean impartir, por ello la gestión de contenidos tiene un peso importante en el desarrollo de este tipo de aplicaciones. Mediante la realización de este Trabajo de fin de Grado, se ha conseguido añadir un módulo extra a una aplicación de enseñanza online. La aplicación en cuestión es un curso de introducción a la programación en lenguaje C, que proporciona distintos contenidos y actividades dirigidas a alumnos de estudios de Ingeniería informática. Actualmente la aplicación se encuentra en funcionamiento y algunas secciones ya se encuentran plenamente funcionales, como la gestión de los usuarios, o el módulo de visualización de estadísticas sobre el rendimiento de los alumnos. Otras, en cambio, aún no han sido desarrolladas y se espera que se añadan en un futuro sin afectar al correcto funcionamiento de la aplicación. En concreto, la parte que atañe a este Trabajo de Fin de Grado se corresponde con la edición y la ampliación del temario y actividades incluidos en la aplicación. Los contenidos se encuentran divididos en distintas unidades con un nivel de dificultad progresivamente más elevado. Cada una de estas unidades pone a disposición del alumno una serie de explicaciones teóricas acompañadas de ejercicios a los cuales el alumno debe responder y son corregidos de manera automática en la aplicación. También se incluye en cada una de las páginas un código en lenguaje C que es posible compilar, ejecutar y corregir, permitiendo al alumno realizar las modificaciones oportunas sobre el mismo. El objetivo principal de este Trabajo de Fin de Grado consiste en facilitar el trabajo a la hora de añadir contenidos en la aplicación mediante el desarrollo de un nuevo módulo independiente, de modo que el personal docente que la usa pueda realizar estas modificaciones de contenido de una manera eficiente. Esta nueva funcionalidad permitirá a las personas sin conocimientos de programación poder realizar estas tareas a través de un formulario estándar, ya que hasta el momento la manera de agregar o editar estas unidades era realizar modificaciones directamente en el código de la aplicación lo cual es un trabajo laborioso. Otro aspecto importante y esencial de este Trabajo de Fin de Grado es que todo el desarrollo de este módulo se lleve a cabo afectando mínimamente al resto de la aplicación, debe mantenerse funcional en todo momento, y a la vez, el nuevo módulo ha de ser compatible con los actuales que ya se encuentran operativos siendo también un requisito imprescindible que dicho modulo sea ampliable y/o modificable fácilmente en caso de ser necesario.