An integrated software engineering workshops program

Workshops are a fundamental part of software engineering education, as they give practical training in principles, methods and procedures under similar conditions to real software products development. Students acquire the necessary experience in team dynamics, management and leadership techniques; and require them to improve their report writing and oral presentation skills. Having explicit technical and process roles for each student in the workshop, help them to understand and cope with the inherent software project complexity. In this paper, we describe the first implementation of workshops designed to accomplish the above mentioned objectives. They use "by research" or "problem solving" techniques as a way to integrate previously acquired knowledge with modern software engineering techniques. It is a "learner centered education model" which encourages a metacognitive student debate, proposing solutions, discussing and negotiating them, implementing and finally, comparing and analyzing goals and results.