1,696 research outputs found

    Holistic analysis of the effectiveness of a software engineering teaching approach

    Get PDF
    To provide the best training in software engineering, several approaches and strategies are carried out. Some of them are more theoretical, learned through books and manuals, while others have a practical focus and often done in collaboration with companies. In this paper, we share an approach based on a balanced mix to foster the assimilation of knowledge, the approximation with what is done in software companies and student motivation. Two questionnaires were also carried out, one involving students, who had successfully completed the subject in past academic years (some had already graduated, and others are still students), and other questionnaire involving companies, in the field of software development, which employ students from our school. The analysis of the perspectives of the different stakeholders allows an overall and holistic) view, and a general understanding, of the effectiveness of the software engineering teaching approach. We analyse the results of the questionnaires and share some of the experiences and lessons learned.info:eu-repo/semantics/publishedVersio

    Learning Soft Skills through Distributed Software Development

    Get PDF

    Beyond Surveys: Analyzing Software Development Artifacts to Assess Teaching Efforts

    Full text link
    This Innovative Practice Full Paper presents an approach of using software development artifacts to gauge student behavior and the effectiveness of changes to curriculum design. There is an ongoing need to adapt university courses to changing requirements and shifts in industry. As an educator it is therefore vital to have access to methods, with which to ascertain the effects of curriculum design changes. In this paper, we present our approach of analyzing software repositories in order to gauge student behavior during project work. We evaluate this approach in a case study of a university undergraduate software development course teaching agile development methodologies. Surveys revealed positive attitudes towards the course and the change of employed development methodology from Scrum to Kanban. However, surveys were not usable to ascertain the degree to which students had adapted their workflows and whether they had done so in accordance with course goals. Therefore, we analyzed students' software repository data, which represents information that can be collected by educators to reveal insights into learning successes and detailed student behavior. We analyze the software repositories created during the last five courses, and evaluate differences in workflows between Kanban and Scrum usage

    Using Distributed Scrum for Supporting an Online Community: A Qualitative Descriptive Study of Students’ Perceptions

    Get PDF
    One purpose of higher education is to prepare students for a modern and ever-changing global society characterized by increasing complexity and collaborative environments. Scrum is an agile, widely used framework for project management dealing with the development of complex products. Scrum projects are conducted in small, empowered teams with intense communication, interaction and collaboration between the team members, facilitated by a servant-leader Scrum master. Scrum has been commonly used in professional software development and is also now being adopted in other areas, including education. There have been few studies of the application of Scrum in higher education and very few of them have studied distributed Scrum in an online context. An online learning community has several positive effects for students such as increased learning, engagement, retention and lower risks for isolation and dropouts. Participating in and contributing to a team is dependent on a sense of community, which can be difficult to build up in a distributed environment where members are geographically dispersed and do not have the possibility to meet and communicate face to face. This study examines to what extent and how distributed Scrum can support building an online learning community, from a student perspective. Twenty students, enrolled in an online course in distributed software development, participated in four Scrum projects as members of distributed Scrum teams, each team consisting of five students. Students' perceptions were investigated by conducting semi-structured interviews. The interview transcripts were analyzed according to Rovai's four dimensions of a classroom community. The results indicate that students were very satisfied with their distributed Scrum projects and that they experienced a high degree of flexibility during the projects. The Scrum process promoted and initiated communication and interaction among students and they learned how to communicate and collaborate effectively in an online environment. The transparency in Scrum was perceived as a key factor to open communication and effective collaboration and also contributed to increasing their motivation and engagement in the projects. Another interesting outcome of this study was understanding the importance of creating a team with members who are similar regarding competence level, ambition and preferences in working schedule

    Walking Through the Method Zoo: Does Higher Education Really Meet Software Industry Demands?

    Get PDF
    Software engineering educators are continually challenged by rapidly evolving concepts, technologies, and industry demands. Due to the omnipresence of software in a digitalized society, higher education institutions (HEIs) have to educate the students such that they learn how to learn, and that they are equipped with a profound basic knowledge and with latest knowledge about modern software and system development. Since industry demands change constantly, HEIs are challenged in meeting such current and future demands in a timely manner. This paper analyzes the current state of practice in software engineering education. Specifically, we want to compare contemporary education with industrial practice to understand if frameworks, methods and practices for software and system development taught at HEIs reflect industrial practice. For this, we conducted an online survey and collected information about 67 software engineering courses. Our findings show that development approaches taught at HEIs quite closely reflect industrial practice. We also found that the choice of what process to teach is sometimes driven by the wish to make a course successful. Especially when this happens for project courses, it could be beneficial to put more emphasis on building learning sequences with other courses

    Scrum Game: An Agile Software Management Game

    No full text
    For the past few years, in their attempt to avoid the heavyweight bureaucracy of traditional project management methods such as the Waterfall model, companies have started incorporating agile methods (e.g. Extreme Programming, Scrum, Crystal) for their project development. These methods are characterised by their incremental and iterative delivery, their ability to incorporate change at any stage of the project lifecycle, as well as their small and co-located teams. Even though these methods are included in the syllabus of many software engineering modules at university level, many students currently feel more confident with traditional, rather than agile methods. Many employers find that recent graduates are not equipped with the desired skills of a software engineer because, even though they are knowledgeable in the different software engineering practices, they lack practical experience of these methods. The combination of these two factors show that the university’s approach to teaching software management methods is only theoretical and it does not give students the opportunity to apply them to their projects so they can get a better understanding of their use. The project developed the prototype of a computer game that simulates the use of the Scrum method within different projects, named Scrum Game. The game is supplementary material for a lecture course, and its purpose is to guide students through the Scrum lifecycle. Students can thereby get a small glimpse of the different phases of Scrum, the way that the different Scrum roles interact with each other, and the way that Scrum is used to implement real projects. In addition, the Scrum Game has an administrator mode enabling lecturers to view a log of the progress of all their students in the game. They can use this mode to create new projects or to alter existing ones by adding new tasks or problems, thereby adjusting the level of difficulty to the level of their students, or so that it fits their teaching. The web-based system was developed using PHP, MySQL, HTML, CSS, JavaScript, AJAX (jQuery) and Google Charts API. The system was thoroughly tested against the initial requirements and other system tests. The Scrum Game was evaluated by 22 peer colleagues reading for an MSc in Software Engineering at the University of Southampton, to identify whether the system achieved its goal of introducing students to the Scrum methodology and reaching a deeper understanding of its practical use during project implementation. The results of a questionnaire showed that little prior knowledge was assumed during the game, and that 86% of the participants felt that the game helped them learn more about Scrum. When asked, “Do you think that if this game was part of your Project Management module, would you get a better understanding about Scrum?” an impressive 95% (21 out of 22 participants) agreed that the game would be helpful, and rated the system 8 out of 10 on average

    Aligning Software Engineering Teaching Strategies and Practices with Industrial Needs

    Get PDF
    Several approaches have been proposed to reduce the gap between software engineering education and the needs and practices of the software industry. Many of them aim to promote a more active learning attitude in students and provide them with more realistic experiences, thus recreating industry software development environments and collaborative development and, in some cases, with the involvement of companies mainly acting as potential customers. Since many degree courses typically offer separate subjects to teach requirements engineering, analysis and design, coding, or validation, the integration of all these phases normally necessitates experience in a project context and is usually carried out in a final year project. The approach described in this article benefits from the close involvement of a software house company which goes beyond the common involvement of a potential customer. Students are integrated into distributed teams comprising students, teachers and IT professionals. Teams follow the agile Scrum methodology and use the OutSystems low-code development platform providing students with the experience of an almost real scenario. The results show that this approach complements the knowledge and practice acquired in course subjects, develops the students’ technical and non-technical skills, such as commitment, teamwork, and communication, and initiates them in the methodologies and development strategies used in these companies. The feedback from the teachers involved, software companies and students was very positive.info:eu-repo/semantics/publishedVersio
    • …
    corecore