research

Método para el aprendizaje de entornos y lenguajes de programación basado en prototipado ágil

Abstract

Este artículo describe un método de enseñanza para el aprendizaje de un lenguaje de programación y entornos de desarrollo asociados. Este procedimiento de aprendizaje está basado en el desarrollo de un proyecto de cierta complejidad a partir de prototipos incrementales de baja complejidad. El método se inspira en principios del proceso de Desarrollo Rápido de Aplicaciones y de la metodología Desarrollo Ágil de Software. Para alcanzar un efectivo aprendizaje se emplean técnicas como programación en pareja, integración continua, refactorización, etc. Los alumnos, de tercer curso de ingeniería informática, cuentan con una base previa en metodología de la programación orientada a objetos y con un dominio medio de algún otro lenguaje de programación. Este método evita el estudio exhaustivo de los elementos y estructuras del lenguaje de programación, así como de su API. El aprendizaje se basa en el desarrollo guiado y supervisado de prototipos de complejidad incremental, quedando en manos de los grupos alumnos el perfeccionamiento de los prototipos y su integración en un proyecto único. En todo el proceso se introduce el uso de herramientas CASE para la definición y seguimiento de requisitos, el diseño rápido y su ágil desarrollo y prueba. La experiencia se ha desarrollado en la asignatura Herramientas y Entornos de programación durante 3 cursos en la Escuela Superior de Informática de Ciudad Real de las Universidad de Castilla-La Mancha.SUMMARY - This paper describes an educational method for programming languages and tools. The learning process is based on the development of a project integrating incremental simple prototypes. The method combines principles of rapid application development (RAD) and Agile Software Development methodology. Some learning techniques are used such as pair programming, continuous integration, and refactoring. The students of computer engineering (undergraduates in their third-year), had knowledge in object-oriented methodology and they mastered some other programming language. This method avoids the exhaustive study of the elements and structures of the programming language and its APIs. The learning process is based on the supervised development of prototypes with incremental complexity. Students have to improve these prototypes and integrate them into a whole project. Throughout the process we introduce the use of CASE tools for defining and monitoring requirements, the rapid design and agile development and testing. The experience has been developed in the course Programming Tools and Environments during three years at the School of Computer Science in Ciudad Real (University of Castilla-La Mancha, Spain)Peer Reviewe

    Similar works