Aransay, Jesús, Heras, Jónathan Uso de herramientas y técnicas DevOps para la gestión y corrección de prácticas de programación Aransay, Jesús; Heras, Jónathan. “Uso de herramientas y técnicas DevOps para la gestión y corrección de prácticas de programación”. En: Cánovas Reverte, Óscar, et al. (eds.). Actas de las XXV Jornadas sobre la Enseñanza Universitaria de la Informática, Murcia, 3-5 de julio de 2019. Murcia: Asociación de Enseñantes Universitarios de la Informática, 2019, pp. 349-356 URI: http://hdl.handle.net/10045/125252 DOI: ISSN: 2531-0607 Abstract: En este trabajo se presenta cómo diversas técnicas y herramientas utilizadas en metodologías DevOps han sido empleadas para la gestión y realización de prácticas de una asignatura de programación. En concreto, un gestor de tareas (classroom.github.com) ha sido usado para asignar los trabajos a los estudiantes, un gestor de versiones (GitHub) ha sido utilizado para que los estudiantes gestionen su código, tests unitarios (en Catch y JUnit) han sido usados para proporcionar feedback inmediato a los estudiantes, y el servidor de integración continua Travis CI, junto a los tests unitarios, ha sido usado para ayudar en la validación y corrección de prácticas. Esta aproximación para la gestión de las prácticas no solo facilita la tarea de corrección por parte de los profesores, sino que también sirve para inculcar a los estudiantes conceptos de Ingeniería del Software (como son la entrega continua y el uso de tests) e introducirles en el uso de herramientas que serán habituales en su vida profesional. Además de presentar la solución tecnológica usada para implantar este sistema de gestión de prácticas, en este trabajo se incluye una valoración basada en la observación de las mejoras en el aprendizaje de los estudiantes obtenidas a través del mismo, una valoración de los estudiantes del uso y aprendizaje obtenido de las herramientas, y se comparan los resultados con los obtenidos en cursos anteriores, donde se utilizaban otras herramientas. In this work we present how DevOps techniques and tools have been applied to manage labs in a programming course. Namely, a task manager (classroom.github.com) has been used to assign the tasks to the students, a version control system (GitHub) has been used by students to handle their code, unit tests (using Catch and JUnit) to provide immediate feedback to the students, and the continuous integration server Travis CI, together with unit tests to help in the validation and grading of assignments. This approach to handle assignments not only makes the correction task easier, but also serves to instill Software Engineering concepts (such as continuous delivery or the usage of tests) in the students. In this work, we present the technical solution to implant this lab handling system; and, in addition, we include an assessment based on the improvements of the students obtained thanks to this system. We also compare the results with previous years where other tools were employed. Keywords:Prácticas de programación, Gestores de versiones, Integración Continua, DevOps, Testing Asociación de Enseñantes Universitarios de la Informática (AENUI) info:eu-repo/semantics/conferenceObject