ROLES TRANSFORMATION WITHIN A SOFTWARE ENGINEERING MASTER BY IMMERSION
Abstract
Learning the software engineering (SE) profession is a difficult task. Most SE professionals will say that they learned it " by doing ". Hence, the main paradigm used is teaching software engineering by doing. Most academic curricula address this issue through projects, but academic projects are not sufficient to achieve the goal. Beyond the SE learning, more general questions arise : how can we teach/learn engineering ? What is a " long-term education " , particularly in computer science ? And in a general sense ? Since September 2002, Brest university has offered a dedicated second year of Master in computer science, called " Software engineering by immersion ". The main objectives are : mastering software engineering activities and skills, working in a team, coping with change. Except for English and Communication, no courses are offered. The plan of action is built on a 6-month team project, lead and tutored by an experienced software professional. A real corporate baseline (by the courtesy of a software services company) has been tailored to the apprenticeship paradigm and now sustains engineering activities and products delivery. The apprenticeship process is achieved in two iterations. During the first iteration (4 months), students are swapped around the different tasks needed by engineering activities and strongly guided by the tutor. During the second iteration (2 months), roles are fixed within each team and teams are relatively autonomous when completing the project, the tutor performing mainly a supervising and rescuing activity. The assessment process is essentially formative, due to the permanent feedback of tutoring. After a very positive first year, the outcome of the second year is rather disappointing. This year, we met with unexpected difficulties and this may be due to the roles transformation needed in the immersion paradigm, for the students as well as for the tutors. This paper attempts to present the new roles. Teachers have to deal with several kinds of tutoring activities : coordination between teams, software project management, individual and collective apprenticeship during the first iteration; peer review, sustaining the student acting as software manager, programme management during the second iteration. Students have to learn new skills but above all play new roles namely : citizen, builder, explorer, team member. Assessing the role playing process formally is very difficult, first in a purely quantitative manner and second in such a short time. Moreover, we are aware of very few similar experiments. So, this paper tries to evaluate the new roles within the constructivism paradigm, especially the apprenticeship paradigm described by Jacques Tardif. The teacher and student roles defined in this paradigm are compared with those defined in our immersion paradigm. Some problems are reported and possible improvements are drafted. As a conclusion, if the immersion system is exciting and innovative, on the other hand the system is fragile if both teachers and students are unable to play the new roles required. In addition to these first conclusions, the professional insertion and career evolution of students need to be observed over several years in order to evaluate the real benefits of this system.
Domains
Software Engineering [cs.SE]
Fichier principal
RolesTransformationWithinASoftwareEngineeringMasterByImmersion.pdf (413.98 Ko)
Télécharger le fichier
Origin | Publisher files allowed on an open archive |
---|
Loading...