Student Software Engineering Learning via Participation in Humanitarian FOSS Projects

Software engineering education has long sought to provide students with real-world software development and professional experience. The use of Free and Open Source Software (FOSS) projects is one attractive approach for providing students with easy access to a complex, ongoing project of size that is supported by a professional community. Humanitarian FOSS (HFOSS) projects hold the additional appeal to students of developing software that will benefit the human condition. However, student involvement in HFOSS projects can be somewhat unpredictable and less controllable than the development of home-grown projects or projects with an industry partner. Student participation in an HFOSS project means that students are dependent, at least somewhat, on the goals, schedule, and constraints of the HFOSS project itself. Therefore, learning is somewhat reliant on the progress of the HFOSS project. This paper presents results of a multi-year study of student perceptions of learning related to software engineering knowledge and skills while involved in an HFOSS project. The paper includes a background of work in student participation in HFOSS, an outline of the study approach and an explanation of the results. Implications of the results and future directions are also described.

[1]  Kajal T. Claypool,et al.  Teaching software engineering through game design , 2005, ITiCSE '05.

[2]  Dennis J. Sweeney,et al.  Statistics for Business and Economics (11th Edition) , 2011 .

[3]  Thomas J. Reichlmay Collaborating with industry: strategies for an undergraduate software engineering program , 2006, SSEE '06.

[4]  Ralph Morelli,et al.  Can humanitarian open-source software development draw new students to CS? , 2007, SIGCSE '07.

[5]  Raymond Lister,et al.  Proceedings of the fifth Australasian conference on Computing education - Volume 20 , 2003 .

[6]  Mark J. Sebern,et al.  Revisions to Software Engineering 2004: Curriculum Guidelines for Undergraduate Degree Programs in Software Engineering , 2012 .

[7]  Thomas P. Way,et al.  A company-based framework for a software engineering course , 2005, SIGCSE '05.

[8]  Edward J. Mirielli,et al.  Student reflections on an academic service learning experience in a computer science classroom , 2007, SIGITE '07.

[9]  Soon-Kyeong Kim,et al.  Teaching software design with open source software , 2003, 33rd Annual Frontiers in Education, 2003. FIE 2003..

[10]  Thomas L. Naps,et al.  Proceedings of the 16th annual joint conference on Innovation and technology in computer science education , 2011 .

[11]  Ralph Morelli,et al.  Evaluating student experiences in developing software for humanity , 2009, ITiCSE '09.

[12]  Z. Alzamil Towards an effective software engineering course project , 2005, Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005..

[13]  Kal Toth,et al.  Experiences with Open Source Software Engineering Tools , 2006, IEEE Software.

[14]  L. Jaccheri,et al.  Open Source Software: A Source of Possibilities for Software Engineering Education and Empirical Software Engineering , 2007, First International Workshop on Emerging Trends in FLOSS Research and Development (FLOSS'07: ICSE Workshops 2007).

[15]  Ralph Morelli,et al.  Foss 101: engaging introductory students in the open source movement , 2009, SIGCSE '09.

[16]  V.N. Gudivada,et al.  Learning software engineering principles using open source software , 2008, 2008 38th Annual Frontiers in Education Conference.

[17]  David M. Weiss,et al.  Proceedings of the 2011 Community Building Workshop on Collaborative Teaching of Globally Distributed Software Development, CTGDSD 2011, Waikiki, Honolulu, HI, USA, May 21-28, 2011 , 2011, CTGDSD@ICSE.

[18]  Ralph Morelli,et al.  A global collaboration to deploy help to China , 2010, Commun. ACM.

[19]  Margaret R. Heil,et al.  Reflections on 10 years of sponsored senior design projects: Students win-clients win! , 2007, J. Syst. Softw..

[20]  Matthew B. Dwyer,et al.  Proceedings of the 30th international conference on Software engineering , 2008, ICSE 2008.

[21]  Bonnie MacKellar A software engineering course with a large-scale project and diverse roles for students , 2011 .

[22]  Gregory W. Hislop,et al.  An approach for evaluating FOSS projects for student participation , 2012, SIGCSE '12.

[23]  Walt Scacchi,et al.  Proceedings of the Fourth International Workshop on Games and Software Engineering , 2011, ICSE 2011.

[24]  Eleni Stroulia,et al.  Teaching distributed software engineering with UCOSP: the undergraduate capstone open-source project , 2011, CTGDSD '11.

[25]  G.W. Hislop,et al.  Support for Educating Software Engineers Through Humanitarian Open Source Projects , 2008, 2008 21st IEEE-CS Conference on Software Engineering Education and Training Workshop.

[26]  Clifton Kussmaul Software Projects Using Free And Open Source Software: Opportunities, Challenges, And Lessons Learned , 2009 .

[27]  K. Shockey,et al.  Using open source to enhance learning , 2005, 2005 6th International Conference on Information Technology Based Higher Education and Training.

[28]  Gregory W. Hislop,et al.  How to involve students in FOSS projects , 2011, 2011 Frontiers in Education Conference (FIE).

[29]  Samuel Mann,et al.  Software engineering class eating its own tail , 2007 .

[30]  James M. Hogan,et al.  Tight Spirals and Industry Clients: The Modern SE Education Experience , 2005, ACE.

[31]  Andrew Begel,et al.  Struggles of new college graduates in their first software development job , 2008, SIGCSE '08.

[32]  Stephanie Ludi The benefits and challenges of using educational game projects in an undergraduate software engineering course , 2011, GAS '11.

[33]  Bendik Bygstad,et al.  Cross-Community Collaboration and Learning in Customer-Driven Software Engineering Student Projects , 2007, 20th Conference on Software Engineering Education & Training (CSEET'07).

[34]  Robert M. Marmorstein Open source contribution as an effective software engineering class project , 2011, ITiCSE '11.

[35]  J. Barrie Thompson,et al.  Proceedings of the 2006 international workshop on Summit on software engineering education , 2006, ICSE 2006.