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
82 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Designing An Overseas Experiential Course in Data Science;2023 IEEE International Conference on Teaching, Assessment and Learning for Engineering (TALE);2023-11-28
2. Experiences and Lessons Learned from Real-World Projects in Software Engineering Subject;2023 IEEE 35th International Conference on Software Engineering Education and Training (CSEE&T);2023-08
3. Is Online Teaching Dead After COVID-19? Student Preferences for Programming Courses;2023 IEEE 35th International Conference on Software Engineering Education and Training (CSEE&T);2023-08
4. Combining GitHub, Chat, and Peer Evaluation Data to Assess Individual Contributions to Team Software Development Projects;ACM Transactions on Computing Education;2023-07-22
5. Team Composition in Software Engineering Education;Proceedings of the 27th International Conference on Evaluation and Assessment in Software Engineering;2023-06-14