Example-Based Learning in Software Engineering Education: A Systematic Mapping Study
By: Tiago P. Bonetti, Williamson Silva, Thelma E. Colanzi
Potential Business Impact:
Teaches computer coding better using real examples.
The discipline of Software Engineering (SE) allows students to understand specific concepts or problems while designing software. Empowering students with the necessary knowledge and skills for the software industry is challenging for universities. One key problem is that traditional methodologies often leave students as passive agents, limiting engagement and learning effectiveness. To address this issue, instructors must promote active learning in the classroom. Among the teaching methodologies, Example-Based Learning (EBL) has shown promise in improving the quality of Software Engineering Education (SEE). This study aims to investigate and classify the existing empirical evidence about using EBL in SEE. We carried out a systematic mapping to collect existing studies and evidence that describe how instructors have been employing EBL to teach SE concepts. By analyzing 30 studies, we identified the benefits and difficulties of using EBL, the SE contents taught by instructors, and the artifacts that support the methodology's use in the classroom. Besides, we identified the main types of examples used in SEE through EBL. We realized that EBL contributes to student learning, helping in students' interaction, interpreting and applying concepts, and increasing student motivation and confidence. However, some barriers to adopting EBL in SEE are increasing the effort required by instructors, lack of adequate learning support, and time spent constructing diagrams with errors. Overall, our findings suggest that EBL can improve the effectiveness of SEE, but more research is needed to address the gaps and challenges identified in our study.
Similar Papers
ACM SIGSOFT SEN Empirical Software Engineering: Introducing Our New Regular Column
Software Engineering
Improves how scientists study computer programs.
Advancing Problem-Based Learning with Clinical Reasoning for Improved Differential Diagnosis in Medical Education
Human-Computer Interaction
Helps doctors learn to solve patient problems better.
A Mapping Study About Training in Industry Context in Software Engineering
Software Engineering
Improves how companies teach software workers.