Related papers: Beyond the Code: A Multi-Modal Assessment Strategy…
Software Engineering is an applied discipline and concepts are difficult to grasp only at a theoretical level alone. In the context of a project management course, we introduced and evaluated the use of software process simulation (SPS)…
Programming is a crucial skill in today's world and being taught worldwide at different levels. However, in the literature there is little research investigating a formal approach to embedding public engagement into programming module…
Programming skills are rapidly becoming essential for many educational paths and career opportunities. Yet, for many international students, the traditional approach to teaching introductory programming courses can be a significant…
Machine learning has seen a vast increase of interest in recent years, along with an abundance of learning resources. While conventional lectures provide students with important information and knowledge, we also believe that additional…
Assessments help in evaluating the knowledge gained by a learner at any specific point as well as in continuous improvement of the curriculum design and the whole learning process. However, with the increase in students' enrollment at…
Design skills are increasingly recognized as a core competency for software professionals. Unfortunately, these skills are difficult to teach because design requires freedom and open-ended thinking, but new designers require a structured…
Educating students from diverse disciplinary backgrounds is challenging. In this article, we report on our interdisciplinary course coding interaction and design (Coding IxD), which is designed for computer science and design students…
Generative artificial intelligence poses new challenges around assessment, increasingly driving introductory programming educators to employ invigilated exams. But exams do not afford more authentic programming experiences that involve…
[Context] Software Engineering (SE) education constantly seeks to bridge the gap between academic knowledge and industry demands, with active learning methods like Problem-Based Learning (PBL) gaining prominence. Despite these efforts,…
Software Architecture, from definition to maintenance and evolution, is a complex aspect of software development and, consequently, a challenging subject when it comes to teaching it, and learning it. Many research efforts have been devoted…
Software Engineering is an engineering discipline but lacks a solid theoretical foundation. One effort in remedying this situation has been the SEMAT Essence specification. Essence consists of a language for modeling Software Engineering…
Traditional teaching, usually based on lectures and tutorials fosters the idea of instruction-driven learning model where students are passive listeners. Besides this approach, Project Based Learning (PBL) as a different learning paradigm…
Computer Science (CS) has experienced significant growth and diversification in recent decades. However, there is a lack of diversity in CS learning approaches. Traditional teaching methods and hands-on learning dominate this field, with…
This study examines how AI code assistants shape novice programmers experiences during a two-part exam in an introductory programming course. In the first part, students completed a programming task with access to AI support; in the second,…
Increasingly, courses on Empirical Software Engineering research methods are being offered in higher education institutes across the world, mostly at the M.Sc. and Ph.D. levels. While the need for such courses is evident and in line with…
Role models are widely discussed in educational research as influential in students identity development and sense of belonging, yet less attention has been given to how role model visibility can be systematically embedded within everyday…
Problem-based learning (PBL) is a constructivist learner-centered instructional approach based on the analysis, resolution and discussion of a given problem. It can be applied to any subject, indeed it is especially useful for the teaching…
Building and maintaining production-grade ML-enabled components is a complex endeavor that goes beyond the current approach of academic education, focused on the optimization of ML model performance in the lab. In this paper, we present a…
When software is designed by people from diverse identities and experiences, it is more likely to be inclusive and address a broader range of user needs. However, for transgender and non-binary students in software engineering, the path to…
When writing software code, developers typically prioritise functionality over security, either consciously or unconsciously through biases and heuristics. This is often attributed to tangible pressures such as client requirements, but…