Análisis automático del código en prácticas de programación en orientación a objetos

espanolLa ensenanza y aprendizaje de habilidades de programacion informatica son procesos complejos para el profesor y para el alumno respectivamente. Como tal, haciendo uso de avances tecnologicos, en los ultimos anos han surgido diversas propuestas para apoyar al alumno en esta tarea, asi como para ayudar al profesor en la evaluacion de asignaturas en las que se imparten estas habilidades. Entre estas propuestas es popular la ejecucion de conjuntos de casos de prueba, lo cual permite comprobar que el programa que escribe el alumno en las practicas satisface la funcionalidad requerida. Sin embargo, este enfoque no permite detectar si el alumno cumple ciertos requisitos que estaban establecidos. Este capitulo se centra en el analisis directo del codigo para la comprobacion del cumplimiento de los requisitos requeridos en los enunciados de las practicas. Este analisis, conocido como estatico, es automatico y cuenta con varios beneficios tanto para el alumno como para el profesor, destacando que se acelera la retroalimentacion que obtiene el estudiante en todo momento. El objetivo del capitulo es describir la experiencia en una asignatura de programacion orientada a objetos durante dos cursos aplicando dichas comprobaciones sobre el codigo, mostrando en que consiste y como se ha desarrollado tal innovacion. Ademas, se muestran resultados orientativos de su aceptacion por parte de los alumnos y su utilidad. EnglishTeaching and learning programming skills in computer science are complex processes for the lecturer and the student respectively. As such, making use of technological advances, several proposals have emerged in order to support both the student in this task and the professor in the evaluation of subjects where these skills are taught. Among these proposals, it is popular the execution of test suites, which allow checking that the program developed by the student satisfies the requested functionality. However, this option cannot help detect whether that program complies with certain established requirements or not. This chapter focuses on the direct analysis of the code to verify that the solutions provided by the students meet the conditions set in the practice statement. This analysis, known as static analysis, is automatic and beneficial both for the professor and the student, highlighting the quick feedback obtained by the student at all times. The aim of this chapter is to describe the experience in a subject about object-oriented programming in a two-year period applying the aforementioned checks on the code. We explain what the innovation is used for and how it was developed. In addition, we show illustrative results related to its acceptance by the student body and its utility.