229,966 research outputs found

    A systematic literature review of capstone courses in software engineering

    Get PDF
    Context: Tertiary education institutions aim to prepare their computer science and software engineering students for working life. While much of the technical principles are covered in lower-level courses, team-based capstone courses are a common way to provide students with hands-on experience and teach soft skills. Objective: This paper explores the characteristics of project-based software engineering capstone courses presented in the literature. The goal of this work is to understand the pros and cons of different approaches by synthesising the various aspects of software engineering capstone courses and related experiences. Method: In a systematic literature review for 2007–2022, we identified 127 articles describing real-world capstone courses. These articles were analysed based on their presented course characteristics and the reported course outcomes. Results: The characteristics were synthesised into a taxonomy consisting of duration, team sizes, client and project sources, project implementation, and student assessment. We found out that capstone courses generally last one semester and divide students into groups of 4–5 where they work on a project for a client. For a slight majority of courses, the clients are external to the course staff and students are often expected to produce a proof-of-concept level software product as the main end deliverable. The courses generally include various forms of student assessment both during and at the end of the course. Conclusions: This paper provides researchers and educators with a classification of characteristics of software engineering capstone courses based on previous research. We also further synthesise insights on the reported course outcomes. Our review study aims to help educators to identify various ways of organising capstones and effectively plan and deliver their own capstone courses. The characterisation also helps researchers to conduct further studies on software engineering capstones.Context: Tertiary education institutions aim to prepare their computer science and software engineering students for working life. While much of the technical principles are covered in lower-level courses, team-based capstone courses are a common way to provide students with hands-on experience and teach soft skills. Objective: This paper explores the characteristics of project-based software engineering capstone courses presented in the literature. The goal of this work is to understand the pros and cons of different approaches by synthesising the various aspects of software engineering capstone courses and related experiences. Method: In a systematic literature review for 2007–2022, we identified 127 articles describing real-world capstone courses. These articles were analysed based on their presented course characteristics and the reported course outcomes. Results: The characteristics were synthesised into a taxonomy consisting of duration, team sizes, client and project sources, project implementation, and student assessment. We found out that capstone courses generally last one semester and divide students into groups of 4–5 where they work on a project for a client. For a slight majority of courses, the clients are external to the course staff and students are often expected to produce a proof-of-concept level software product as the main end deliverable. The courses generally include various forms of student assessment both during and at the end of the course. Conclusions: This paper provides researchers and educators with a classification of characteristics of software engineering capstone courses based on previous research. We also further synthesise insights on the reported course outcomes. Our review study aims to help educators to identify various ways of organising capstones and effectively plan and deliver their own capstone courses. The characterisation also helps researchers to conduct further studies on software engineering capstones.Peer reviewe

    Using 4GL Tools in Project-Oriented Courses

    Get PDF
    The widespread availability of fourth generation languages (4GL\u27s) and CASE (computer-aided software engineering) tools has presented students with the opportunity to design and implement real-world systems as class projects within the span of a one-semester course. The use of these tools during the systems development life cycle is discussed based on experiences with a microcomputer-based system which was developed by students in an upper division MIS class. The methodology used for directing student projects and some particular problems faced when using 4GL\u27s as development tools are addressed

    Investigating the Dynamics of Authentic Learning in a Project-based Engineering Course

    Get PDF
    Educational researchers and practitioners have long lamented the chasm between education and real-world experiences or issues. A popular way to mitigate this gap is through designing authentic learning experiences, and much previous work has focused on developing models for this design. The paper addresses a gap in such frameworks, namely the occurrence of tensions and negotiations between ways of working that students and teachers find authentic and meaningful. Focusing on the strategies employed by teachers in the design of an authentic learning environment and students’ reactions to these, we present a qualitative case study of a project-based engineering course in which student teams created software applications in collaboration with an external stakeholder. We find that tensions between what students and teachers deemed meaningful arose from on the one hand students’ readiness to take on self-directed learning and on the other hand differences between disciplinary views and students’ habits of mind related to software development. We illustrate how the teachers’ ability to bridge these tensions seemed hinged on their understanding of students’ prior learning experiences, and the enminding of these into learning activities. To enhance the value of contemporary models of authentic learning as practical and explanatory frameworks, we argue for adding two theoretical constructs – tensions and negotiations – and we call for more and longitudinal research on thes

    Experimenting with Realism in Software Engineering Team Projects: An Experience Report

    Get PDF
    Over Several years, we observed that our students were sceptical of Software Engineering practices, because we did not convey the experience and demands of production quality software development. Assessment focused on features delivered, rather than imposing responsibility for longer term `technical debt'. Academics acting as 'uncertain' customers were rejected as malevolent and implausible. Student teams composed of novices lacked the benefits of leadership provided by more experienced engineers. To address these shortcomings, real customers were introduced, exposing students to real requirements uncertainty. Flipped classroom teaching was adopted, giving teams one day each week to work on their project in a redesigned laboratory. Software process and quality were emphasised in the course assessment, imposing technical debt. Finally, we introduced a leadership course for senior students, who acted as mentors to the project team students. This paper reports on the experience of these changes, from the perspective of different stakeholders

    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

    Involving External Stakeholders in Project Courses

    Full text link
    Problem: The involvement of external stakeholders in capstone projects and project courses is desirable due to its potential positive effects on the students. Capstone projects particularly profit from the inclusion of an industrial partner to make the project relevant and help students acquire professional skills. In addition, an increasing push towards education that is aligned with industry and incorporates industrial partners can be observed. However, the involvement of external stakeholders in teaching moments can create friction and could, in the worst case, lead to frustration of all involved parties. Contribution: We developed a model that allows analysing the involvement of external stakeholders in university courses both in a retrospective fashion, to gain insights from past course instances, and in a constructive fashion, to plan the involvement of external stakeholders. Key Concepts: The conceptual model and the accompanying guideline guide the teachers in their analysis of stakeholder involvement. The model is comprised of several activities (define, execute, and evaluate the collaboration). The guideline provides questions that the teachers should answer for each of these activities. In the constructive use, the model allows teachers to define an action plan based on an analysis of potential stakeholders and the pedagogical objectives. In the retrospective use, the model allows teachers to identify issues that appeared during the project and their underlying causes. Drawing from ideas of the reflective practitioner, the model contains an emphasis on reflection and interpretation of the observations made by the teacher and other groups involved in the courses. Key Lessons: Applying the model retrospectively to a total of eight courses shows that it is possible to reveal hitherto implicit risks and assumptions and to gain a better insight into the interaction...Comment: Abstract shortened since arxiv.org limits length of abstracts. See paper/pdf for full abstract. Paper is forthcoming, accepted August 2017. Arxiv version 2 corrects misspelled author nam

    Free and open source software in computing education

    Get PDF
    Free and Open Source Software (FOSS) exemplifies the merit and successes of open content, understood broadly as creative work that explicitly allows sharing and further changes by anyone, whether an individual or organization. Although the benefits of improving computing education with open source practices are largely acknowledged, transforming teaching to create effective learning environments has many challenges. The panelists will bring different perspectives on teaching strategies and curricular content they have used in their classrooms. These perspectives will exemplify key issues with FOSS-based education and FOSS-based IT systems. The developer and user communities established around FOSS-based IT systems are of particular interest to the IT discipline because of its focus on user centeredness and advocacy for advancing professional practices in authentic environments

    Contemporary developments in teaching and learning introductory programming: Towards a research proposal

    Get PDF
    The teaching and learning of introductory programming in tertiary institutions is problematic. Failure rates are high and the inability of students to complete small programming tasks at the completion of introductory units is not unusual. The literature on teaching programming contains many examples of changes in teaching strategies and curricula that have been implemented in an effort to reduce failure rates. This paper analyses contemporary research into the area, and summarises developments in the teaching of introductory programming. It also focuses on areas for future research which will potentially lead to improvements in both the teaching and learning of introductory programming. A graphical representation of the issues from the literature that are covered in the document is provided in the introduction

    A Competency-based Approach toward Curricular Guidelines for Information Technology Education

    Get PDF
    The Association for Computing Machinery and the IEEE Computer Society have launched a new report titled, Curriculum Guidelines for Baccalaureate Degree Programs in Information Technology (IT2017). This paper discusses significant aspects of the IT2017 report and focuses on competency-driven learning rather than delivery of knowledge in information technology (IT) programs. It also highlights an IT curricular framework that meets the growing demands of a changing technological world in the next decade. Specifically, the paper outlines ways by which baccalaureate IT programs might implement the IT curricular framework and prepare students with knowledge, skills, and dispositions to equip graduates with competencies that matter in the workplace. The paper suggests that a focus on competencies allows academic departments to forge collaborations with employers and engage students in professional practice experiences. It also shows how professionals and educators might use the report in reviewing, updating, and creating baccalaureate IT degree programs worldwide
    • …
    corecore