Related papers: "Software is the easy part of Software Engineering…
Software Engineering concepts such as version control, continuous integration, and unit testing are often not presented in college computer science curriculums until the third year of study, after completing several semesters of programming…
Software is a key component of solutions for 21st Century problems. These problems are often "wicked", complex, and unpredictable. To provide the best possible solution, millennial software engineers must be prepared to make ethical…
Case study-based learning has been successfully integrated into various courses, including software engineering education. In the context of software design courses, the use of case studies often entails sharing of real successful or failed…
In order to solve today's complex problems in the world of software development, technical knowledge is no longer enough. Previous studies investigating and identifying non-technical skills of software engineers show that creative skills…
The DataSquad at Carleton College addresses a common problem at small liberal arts colleges: limited capacity for data services and few opportunities for students to gain practical experience with data and software development. Academic…
Agile Software Development (ASD) methodology has become widely used in the industry. Understanding the challenges facing software engineering students is important to designing effective training methods to equip students with proper skills…
Cloud Computing skills have been increasing in demand. Many software engineers are learning these skills and taking cloud certification examinations to be job competitive. Preparing undergraduates to be cloud-certified remains challenging…
Cooperative learning theory has shown that stable membership is a hallmark of effective work teams. According to relation strength and social network centrality, this paper proposes an approach to measure team stability reasons in…
Creativity is a critical skill that professional software engineers leverage to tackle difficult problems. In higher education, multiple efforts have been made to spark creative skills of engineering students. However, creativity is a vague…
Edge computing requires the complex software interaction of geo-distributed, heterogeneous components. The growing research and industry interest in edge computing software systems has necessitated exploring ways of testing and evaluating…
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…
Multi-Agent Large Language Models (LLMs) are gaining significant attention for their ability to harness collective intelligence in complex problem-solving, decision-making, and planning tasks. This aligns with the concept of the wisdom of…
Context: Evidence-based software engineering (EBSE) can be an effective resource to bridge the gap between academia and industry by balancing research of practical relevance and academic rigor. To achieve this, it seems necessary to…
This work presents a structured systematic process for undergraduate capstone research projects embodying computational thinking (CT) practices. Students learn to conduct research with a decision support system utilizing CT. The system is…
Developers frequently move into new teams or environments across software companies. Their onboarding experience is correlated with productivity, job satisfaction, and other short-term and long-term outcomes. The majority of the onboarding…
Productive software engineering teams require effective communication and balanced contributions between team members. However, teams are often ineffective at these skills, which is detrimental to project success. Project-based university…
G\'EANT project is an example of a large organization with around 30 software projects and around 20 software development teams. Software development teams consist of many skilled associates coming from all members National Research and…
A considerable increase in enrollment numbers poses major challenges in course management, such as fragmented information sharing, inefficient meetings, and poor understanding of course activities among a large team of teaching assistants.…
Making successful use of cloud computing requires nuanced approaches to both system design and deployment methodology, involving reasoning about the elasticity, cost, and security models of cloud services. Building cloud-native applications…
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…