{'fraction_non_alphanumeric': 0.014542936288088643, 'fraction_numerical': 0.0013850415512465374, 'mean_word_length': 5.337719298245614, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Comprehensive Simulation of a Software Project Throughout Several Subjects

Software projects are amongst the most common professional activities of computer engineers. Gaining competences on the design and development of software projects is, however, a complex issue that cannot be tackled within a single subject. In this article, we detail the design and implementation of a teaching methodology that aims at providing a comprehensive simulation of the whole life cycle of software projects throughout the coordination of the practical exercises of subjects of different courses. The proposal consists in developing the same software project in consecutive courses under the perspective of the three main roles involved in the project development: designer, developer and director. In the second course, the students exercise the developer role in teams of 4 people under the supervision of a student of the fourth course, who acts as the director. The director has previously proposed a formal design of the project in the third course (designer role). This methodology has been successfully deployed for 4 years in the Computer Engineering Degree at the Universitat Rovira i Virgili. The results show an improvement of the skills and competences related to the three involved subjects, which include better programming quality, better team coordination and fulfilment of deadlines, as well as a much practical view of the director’s role.