Asee peer logo

Software Projects Using Free And Open Source Software: Opportunities, Challenges, And Lessons Learned

Download Paper |

Conference

2009 Annual Conference & Exposition

Location

Austin, Texas

Publication Date

June 14, 2009

Start Date

June 14, 2009

End Date

June 17, 2009

ISSN

2153-5965

Conference Session

Software Engineering Teaching Techniques

Tagged Division

Software Engineering Constituent Committee

Page Count

10

Page Numbers

14.1066.1 - 14.1066.10

DOI

10.18260/1-2--5395

Permanent URL

https://peer.asee.org/5395

Download Count

349

Request a correction

Paper Authors

biography

Clifton Kussmaul Muhlenberg College

visit author page

Clif Kussmaul is Associate Professor of Computer Science at Muhlenberg College and Chief Technology Officer for Elegance Technologies, Inc., which develops software products and provides software development services. Previously he worked at NeST Technologies, and Moravian College. He has a PhD in Computer Science from the University of California, Davis, master's degrees from Dartmouth College, and bachelor's degrees from Swarthmore College. His professional interests and activities include software engineering, entrepreneurship, digital signal processing, cognitive neuroscience, and music.

visit author page

Download Paper |

Abstract
NOTE: The first page of text has been automatically extracted and included below in lieu of an abstract

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.

1. Introduction

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