Title :
Teaching software maintenance with open source software: Experiences and lessons
Author :
Gokhale, Swapna ; Smith, Tim ; McCartney, Robert
Author_Institution :
Dept. of Comput. Sci. & Eng., Univ. of Connecticut, Storrs, CT, USA
Abstract :
Software Engineering (SE) careers are overwhelmingly devoted to the maintenance and evolution of existing, large software systems, where the key challenge is code comprehension especially in the face of inadequate documentation and support. SE courses must thus prepare students to meet this challenge. Open Source Software (OSS) furnishes a valuable source of realistic, sizeable projects for inculcating the appreciation and skills involved in code comprehension and evolution. This paper describes experiences and lessons learnt in using OSS projects to teach an introductory, sophomore/junior-level SE course with an emphasis on comprehension, maintenance, and evolution. Students´ reactions and undertakings, acquired through participant observation and homework assignments, suggest that OSS can meaningfully illustrate comprehension and evolution difficulties. Finally, it describes the characteristics of OSS projects that are conducive to highlighting maintenance challenges.
Keywords :
computer science education; educational courses; further education; public domain software; reverse engineering; software maintenance; teaching; OSS; code comprehension; code evolution; homework assignment; inadequate software documentation; inadequate software support; introductory junior-level SE course; introductory sophomore-level SE course; maintenance challenges; open source software; software engineering; software evolution; software maintenance; software system; teaching; Computer architecture; Documentation; Games; Graphical user interfaces; Maintenance engineering; Servers; Software;
Conference_Titel :
Frontiers in Education Conference, 2013 IEEE
Conference_Location :
Oklahoma City, OK
DOI :
10.1109/FIE.2013.6685121