Transformer l'éducation en ingénierie logicielle grâce à l'apprentissage actif
Impliquer les étudiants dans les tests logiciels avec l'apprentissage en équipe et des projets open source.
― 7 min lire
Table des matières
Ces dernières années, il y a eu un mouvement dans l'éducation pour s'éloigner des méthodes d'enseignement traditionnelles, surtout dans des domaines comme l'ingénierie logicielle. On se concentre maintenant sur l'implication plus active des étudiants dans leur apprentissage. C'est particulièrement important dans les cours de Test de logiciels, où les étudiants peuvent bénéficier d'une expérience pratique. Cet article parle d'une approche pédagogique qui relie théorie et pratique en utilisant l'apprentissage en équipe (TBL) et la participation à des projets de logiciels open source (OSS).
Le besoin de changement dans l'éducation en ingénierie logicielle
Historiquement, de nombreux programmes éducatifs reposaient beaucoup sur des cours magistraux, où les étudiants écoutaient passivement les enseignants. Cependant, cette méthode devient moins efficace pour capter l'attention des étudiants. Au lieu de ça, des stratégies d'apprentissage actif qui impliquent les étudiants dans des projets et le travail en équipe se sont révélées plus efficaces pour les aider à comprendre des concepts complexes. Cette approche encourage une réflexion plus approfondie et la collaboration, les préparant aux environnements de travail réels.
Apprentissage en équipe (TBL)
L'apprentissage en équipe est une méthode d'enseignement qui encourage les étudiants à travailler ensemble en équipes. Dans le TBL, le processus d'apprentissage est divisé en trois étapes principales :
- Préparation : Les étudiants étudient le matériel par eux-mêmes avant le cours. Ça inclut la lecture de manuels ou le visionnage de vidéos.
- Assurance de préparation : Cette phase inclut des quiz individuels suivis de quiz en équipe. Les étudiants passent d'abord un quiz seuls et ensuite discutent des réponses dans leurs équipes, ce qui leur permet d'apprendre les uns des autres.
- Application : Après les évaluations, les étudiants participent à des activités où ils appliquent ce qu'ils ont appris pour résoudre des problèmes réels.
L'objectif du TBL est de passer de l'acquisition de connaissances individuelles à l'application collaborative des connaissances. Ça met aussi en avant l'importance des retours des pairs, ce qui peut améliorer l'apprentissage en classe comme dans les carrières futures.
Le rôle des logiciels open source (OSS)
Incorporer des OSS dans l'éducation sert de pont entre la connaissance théorique et l'expérience pratique. Les projets OSS sont des projets logiciels disponibles publiquement et créés par des communautés. Ces projets permettent aux étudiants de voir des pratiques et des défis de codage réels. En contribuant aux OSS, les étudiants peuvent pratiquer le codage, les tests et la collaboration au sein d'une communauté.
Utiliser l'OSS dans l'éducation a plusieurs avantages :
- Expérience réelle : Les étudiants peuvent s'engager avec de véritables projets logiciels, ce qui les aide à comprendre à quoi ressemble le travail dans l'industrie du logiciel.
- Développement de compétences : Les étudiants peuvent améliorer leurs compétences en codage, apprendre à naviguer dans des bases de code complexes et se familiariser avec les outils utilisés dans l'industrie.
- Réseautage : Contribuer à des projets OSS permet aux étudiants de se connecter avec des développeurs expérimentés et d'autres étudiants, offrant des opportunités de mentorat et de collaboration.
Conception du cours
Le cours en question est un cours obligatoire de test de logiciels pour les étudiants de premier cycle en ingénierie logicielle. Il se compose de six modules, le premier module introduisant les étudiants au TBL et à l'OSS.
Structure du cours
Le cours est structuré en divers modules :
Module 0 : Ce module initial présente le cours et couvre les bases du TBL. Les étudiants remplissent une enquête qui aide à former des équipes pour les activités de groupe.
Modules 1 à 5 : Chaque module se concentre sur différentes techniques de test et inclut à la fois l'apprentissage théorique et des travaux pratiques liés aux projets OSS.
Aperçu des devoirs
- Module 1 : Introduction aux concepts et stratégies de test.
- Module 2 : Focus sur les techniques de test fonctionnel, où les étudiants créent des cas de test pour des fonctionnalités logicielles.
- Module 3 : Couvre le test structurel et exige que les étudiants améliorent les tests existants et identifient les problèmes de couverture.
- Module 4 : Introduction au développement piloté par les tests (TDD), où les étudiants conçoivent des fonctionnalités en utilisant des pratiques TDD.
- Module 5 : Focus sur les aspects de test non fonctionnels, en particulier le test de sécurité.
Évaluation par les pairs
L'évaluation par les pairs est un élément essentiel du TBL dans ce cours. À mi-parcours et à la fin du semestre, les étudiants donnent des retours sur les contributions de leurs coéquipiers. Cela encourage la responsabilité et offre des opportunités de critiques constructives. Le processus d'évaluation inclut des évaluations anonymes, permettant aux étudiants de distribuer équitablement des points en fonction des efforts de leurs pairs.
Expérience et retours des étudiants
Sur quatre semestres, le cours a engagé plus de 300 étudiants. Après avoir terminé le cours, les étudiants ont été invités à donner leurs retours via des enquêtes. Les réponses ont montré une appréciation générale pour l'approche TBL et l'opportunité de travailler sur des projets OSS.
Perceptions des étudiants
Les retours des étudiants ont mis en avant plusieurs points clés :
- Beaucoup d'étudiants ont trouvé que le TBL améliorait leur apprentissage par rapport aux cours traditionnels.
- Les exercices d'application en classe étaient particulièrement utiles pour relier théorie et pratique.
- Les étudiants ont signalé qu'ils aimaient travailler en équipe et croyaient que cette collaboration améliorait leur compréhension du matériel.
Cependant, certains étudiants ont exprimé des défis :
- Beaucoup ont rencontré des difficultés en contribuant aux projets OSS, surtout en essayant de configurer leurs environnements de développement.
- Certains se sont sentis submergés par la charge de travail, car le TBL demande un effort constant tout au long du semestre.
Défis et axes d'amélioration
Premières contributions à l'OSS
Pour de nombreux étudiants, ce cours était leur première expérience de contributions à l'OSS. Configurer les outils requis et comprendre l'environnement OSS peut être difficile. Pour mieux soutenir les étudiants, il est vital de choisir des projets qui sont non seulement pertinents pour le programme mais aussi gérables pour les débutants.
Évaluation des contributions OSS
Évaluer les devoirs OSS peut prendre beaucoup de temps en raison du nombre d'étudiants. Pour rationaliser ce processus, il est recommandé d'utiliser des modèles structurés pour les rapports et des grilles d'évaluation claires. Cela peut aider à garantir l'équité et l'efficacité dans l'évaluation des contributions des étudiants.
Sélection de projets OSS adaptés
Trouver les bons projets OSS auxquels les étudiants peuvent contribuer peut aussi être difficile. Les projets doivent être actifs, bien documentés et avoir une communauté de soutien. Les enseignants peuvent faciliter le processus de sélection en élaborant une liste de projets recommandés et en encourageant les étudiants à choisir en fonction de leurs intérêts et compétences.
Résumé et conclusion
En conclusion, le passage des méthodes d'enseignement traditionnelles à une approche plus interactive et centrée sur l'étudiant dans l'éducation en ingénierie logicielle s'est avéré efficace. La combinaison de l'apprentissage en équipe et des contributions à des projets de logiciels open source crée une expérience d'apprentissage riche qui prépare les étudiants aux défis du monde réel.
Bien que des défis demeurent, comme la courbe d'apprentissage des contributions OSS et la gestion des charges de cours, les retours positifs des étudiants soulignent les avantages de cette approche pédagogique. Une adaptation continue et des retours des étudiants aideront à affiner et améliorer la structure du cours, garantissant qu'elle répond aux besoins des futurs apprenants.
En favorisant un environnement d'apprentissage collaboratif et en comblant le fossé entre théorie et pratique, les éducateurs peuvent donner aux étudiants les compétences et la confiance dont ils ont besoin pour réussir dans le domaine de l'ingénierie logicielle.
Titre: Bridging Theory to Practice in Software Testing Teaching through Team-based Learning (TBL) and Open Source Software (OSS) Contribution
Résumé: Curricula recommendation for undergraduate Software Engineering courses underscore the importance of transcending from traditional lecture format to actively involving students in time-limited, iterative development practices. This paper presents a teaching approach for a software testing course that integrates theory and practical experience through the utilization of both TBL and active contributions to OSS projects. The paper reports on our experience implementing the pedagogical approach over four consecutive semesters of a Software Testing course within an undergraduate Software Engineering program. The experience encompassed both online and in-person classes, involving a substantial cohort of over 300 students spanning four semesters. Students' perceptions regarding the course are analyzed and compared with previous, related studies. Our results are positively aligned with the existing literature of software engineering teaching, confirming the effectiveness of combining TBL with OSS contributions. Additionally, our survey has shed light on the challenges that students encounter during their first contribution to OSS projects, highlighting the need for targeted solutions. Overall, the experience demonstrates that the proposed pedagogical structure can effectively facilitate the transition from theoretical knowledge to real-world practice in the domain of Software Testing.
Auteurs: Elaine Venson, Reem Alfayez
Dernière mise à jour: 2024-04-16 00:00:00
Langue: English
Source URL: https://arxiv.org/abs/2404.10912
Source PDF: https://arxiv.org/pdf/2404.10912
Licence: https://creativecommons.org/licenses/by-nc-sa/4.0/
Changements: Ce résumé a été créé avec l'aide de l'IA et peut contenir des inexactitudes. Pour obtenir des informations précises, veuillez vous référer aux documents sources originaux dont les liens figurent ici.
Merci à arxiv pour l'utilisation de son interopérabilité en libre accès.
Liens de référence
- https://conf.researchr.org/track/icse-2024/icse-2024-software-engineering-education-and-training-track
- https://www.acm.org/publications/taps/whitelist-of-latex-packages
- https://dl.acm.org/ccs.cfm
- https://dl.acm.org/doi/abs/10.1145/3266237.3266249?casa_token=vMZA56O8QTYAAAAA:HErTdnXsGG1IsASZfhqacKe8U4lv0rAWaFuKWHSUYI9-5-PJgwETXVDOrA6int9BnmrNXQShwO0YEHo
- https://www.tandfonline.com/doi/full/10.1080/08993408.2015.1033159?casa_token=2mVB9hD-uroAAAAA%3A1aY5bAg_lw4tyVEcM6E_4bOX9SYh26vvyF5D2fnU0i91iNBlpH84iX_VS6-ihAQH5yGZs8uIKdnhS9w
- https://ieeexplore.ieee.org/document/8166691
- https://dl.acm.org/doi/abs/10.1145/3304221.3319765
- https://ieeexplore.ieee.org/document/8802111
- https://link.springer.com/chapter/10.1007/978-3-030-20883-7_14
- https://ieeexplore.ieee.org/document/9825764/
- https://www.selenium.dev
- https://teammatesv4.appspot.com/
- https://github.com/TEAMMATES/teammates