Teaching software engineering using open source software
Proceedings of the 48th Annual Southeast Regional Conference
Software studio: teaching professional software engineering
Proceedings of the 42nd ACM technical symposium on Computer science education
Teaching distributed software engineering with UCOSP: the undergraduate capstone open-source project
Proceedings of the 2011 Community Building Workshop on Collaborative Teaching of Globally Distributed Software Development
Open source contribution as an effective software engineering class project
Proceedings of the 16th annual joint conference on Innovation and technology in computer science education
Real-world testing: using FOSS for software development courses
Proceedings of the 13th annual conference on Information technology education
Selecting open source software projects to teach software engineering
Proceedings of the 45th ACM technical symposium on Computer science education
Hi-index | 0.00 |
Software engineering (SE) careers are overwhelmingly devoted to maintenance and evolution of existing large software systems, rather than building such systems from ground up. Code comprehension, especially in the face of inadequate documentation and support, is a key challenge in efficiently conducting these maintenance activities. Therefore, SE courses in the computing curricula must adequately prepare the students to meet this challenge. We believe that Open Source Software (OSS) furnishes a useful source of realistic, sizeable projects for inculcating the appreciation and skills useful for comprehension and maintenance. We evaluate and observe that an OSS-based SE course emphasizing maintenance and evolution expanded students' appreciation of the difficulty in comprehending existing code and designs, especially when not well documented. We hope that this learned appreciation will encourage them to value and adopt a systematic, disciplined approach in building and documenting software systems.