Affiliation:
1. Technische Universität München, Garching, Germany
Abstract
There is an acknowledged need for teaching realistic software development in project courses. The design space for such courses is wide, ranging from single-semester to two-semester courses, from single-client to multicustomer courses, from local to globally distributed courses, and from toy projects to projects with real clients. The challenge for a nontrivial project course is how to make the project complex enough to enrich students’ software engineering experience, yet realistic enough to have a teaching environment that does not unduly burden students or the instructor. We describe a methodology for project courses that is realizable for instructors, improves students’ skills, and leads to viable results for industry partners.
In particular, recent advances in release management and collaboration workflows reduce the effort of students and instructors during delivery and increase the quality of the deliverables. To enable release and feedback management, we introduce Rugby, an agile process model based on Scrum that allows reacting to changing requirements. To improve early communication, we use Tornado, a scenario-based design approach that emphasizes the use of informal models for the interaction between clients and students. The combination of Rugby and Tornado allows students to deal with changing requirements, produce multiple releases, and obtain client feedback through the duration of the course.
We describe our experience with more than 300 students working on 40 projects with external clients over a 4-year period. In the latest instance of our course, the students have produced more than 7000 builds with 600 releases for eleven clients. In an evaluation of the courses, we found that the introduction of Rugby and Tornado significantly increased students’ technical skills, especially with respect to software engineering, usability engineering, and configuration management, as well as their nontechnical skills such as communication with the client, teamwork, presentation, and demo management. Finally, we discuss how other instructors can adapt the course concept.
Publisher
Association for Computing Machinery (ACM)
Subject
Education,General Computer Science
Cited by
87 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Technology Acquisition Plans to Foster Supply Chain Risk Management Learning Outcomes in Project-Based Software Development Courses;2024 36th International Conference on Software Engineering Education and Training (CSEE&T);2024-07-29
2. External Projects and Partners: Addressing Challenges and Minimizing Risks from the Outset;Proceedings of the 2024 on Innovation and Technology in Computer Science Education V. 1;2024-07-03
3. Digging Data: Using Archaeology to Teach Responsible Data Practices in a Study Abroad Context;Proceedings of the 55th ACM Technical Symposium on Computer Science Education V. 1;2024-03-07
4. Mobile User Experience from the Lens of Project-Based Learning;Lecture Notes of the Institute for Computer Sciences, Social Informatics and Telecommunications Engineering;2024
5. Designing An Overseas Experiential Course in Data Science;2023 IEEE International Conference on Teaching, Assessment and Learning for Engineering (TALE);2023-11-28