June 14, 2009
June 14, 2009
June 17, 2009
Software Engineering Constituent Committee
14.1066.1 - 14.1066.10
Software Projects Using Free and Open Source Software: Opportunities, Challenges, & Lessons Learned Abstract
Software projects play a major role in software engineering (SE) education, have a long history and extensive literature, and present instructors with a variety of pedagogical options. For example, if students build an entire system, they see more of the early development stages and may have more choices, but the scope is limited and they may have to make critical decisions based on insufficient experience. If students extend or enhance an existing system (often from previous terms), they experience larger systems, but see less of the early development stages.
Free and Open Source Software (FOSS) can provide useful alternatives. FOSS generally refers to software that is distributed without charge and with the original source code, so that anyone can fix defects, add enhancements, or otherwise modify the software and share their changes with others. FOSS can provide SE projects with several benefits. First, successful FOSS usually has a robust implementation, including high cohesion, low coupling, and effective tests and documentation, since many developers work on them briefly or intermittently. Second, FOSS usually has a varied user community, which demonstrates the role and value of communication and supporting tools, such as discussion forums, version control, and task or defect tracking systems. Third, students may already be familiar with FOSS as users.
Faculty can help students by using a five step “USABL” model in which students use FOSS projects, study the project as a worked example, add minor enhancements, build larger components, and finally leverage FOSS for other purposes. This paper describes experiences using FOSS and this approach across a computer science (CS) curriculum and particularly in a sophomore-level SE course and in capstone software projects. First, it briefly reviews SE course and project design, and FOSS. Second, it describes the five step model, and a series of related activities, assignments, and projects. Third, it concludes with benefits and future directions.
Software projects play a major role in software engineering (SE) education, and have a long history and extensive literature7. General principles for instructional design can help instructors to design more effective projects and project-based courses. These principles suggest that Free and Open Source Software (FOSS) can be used to support and enhance SE projects and project courses. This paper proposes that faculty can help students by using a five step “USABL” model in which students use FOSS projects, study the project as a worked example, add minor enhancements, build larger components, and finally leverage FOSS for other purposes.
This paper describes experiences using FOSS and this approach in a sophomore-level SE course and in capstone projects. Section 2 briefly reviews SE course and project design issues, as well as FOSS and ways in which people relate to FOSS. Section 3 outlines the five step USABL model, and describes activities, assignments, and projects involving the model. Section 4 concludes with discussion of benefits and future directions.
Kussmaul, C. (2009, June), Software Projects Using Free And Open Source Software: Opportunities, Challenges, And Lessons Learned Paper presented at 2009 Annual Conference & Exposition, Austin, Texas. 10.18260/1-2--5395
ASEE holds the copyright on this document. It may be read by the public free of charge. Authors may archive their work on personal websites or in institutional repositories with the following citation: © 2009 American Society for Engineering Education. Other scholars may excerpt or quote from these materials with the same citation. When excerpting or quoting from Conference Proceedings, authors should, in addition to noting the ASEE copyright, list all the original authors and their institutions and name the host city of the conference. - Last updated April 1, 2015