Mental models and software maintenance
Journal of Systems and Software
Teaching practical software maintenance skills in a software engineering course
SIGCSE '89 Proceedings of the twentieth SIGCSE technical symposium on Computer science education
An empirical study of software maintenance tasks
Journal of Software Maintenance: Research and Practice
Software reconnaissance: mapping program features to code
Journal of Software Maintenance: Research and Practice
Program understanding behaviour during enhancement of large-scale software
Journal of Software Maintenance: Research and Practice
Characteristics of application software maintenance
Communications of the ACM
Including Practical Software Evolution in Software Engineering Education
CSEET '01 Proceedings of the 14th Conference on Software Engineering Education and Training
A Practical Approach of Teaching Software Engineering
CSEET '03 Proceedings of the 16th Conference on Software Engineering Education and Training
Comprehending Reality " Practical Barriers to Industrial Adoption of Software Maintenance Automation
IWPC '03 Proceedings of the 11th IEEE International Workshop on Program Comprehension
Incremental Change in Object-Oriented Programming
IEEE Software
Software Comprehension/Maintenance: An Introductory Course
ICSENG '05 Proceedings of the 18th International Conference on Systems Engineering
Improving software practice through education: Challenges and future trends
FOSE '07 2007 Future of Software Engineering
Proceedings of the 12th annual SIGCSE conference on Innovation and technology in computer science education
Multi-site evaluation of SimSE
Proceedings of the 40th ACM technical symposium on Computer science education
Software Engineering
Experiments with Adding to the Experience that Can be Acquired from Software Courses
QUATIC '10 Proceedings of the 2010 Seventh International Conference on the Quality of Information and Communications Technology
Gaps between industry expectations and the abilities of graduates
Proceeding of the 44th ACM technical symposium on Computer science education
Hi-index | 0.00 |
Teaching software engineering through group-based project work supported by theory lectures is effective, as recognized by both academia and industry. However, exposing students to practical software maintenance is often overlooked in favor of building software from scratch under the guidance of a lecturer or client. The developed software is usually delivered to the lecturer/client and no maintenance efforts are further required. In contrast, industry projects require fresh graduates to perform maintenance exercises and very rarely to build software from scratch. To address this issue, existing software maintenance assignments usually focus on small codebases of very good quality, in which artificial issues are introduced. In this paper, we propose to enhance a group-based project course with a software maintenance assignment that uses a medium-sized, student-produced codebase with real software bugs. Our analysis shows the effectiveness of our approach and highlights future avenues for improvement.