Abstract

A common criticism of undergraduate computer science is a disconnect from software development in the real world. To remedy this shortcoming, we introduced an actively developed open-source software project into a third-year software engineering course. We selected a humanitarian software project, Ushahidi, a crisis-mapping web application that is deployed worldwide to track events as diverse as election violence in developing countries, natural disasters and recently, Hurricane Sandy.The primary learning outcome of working with open-source software is that communication skills are as important as programming skills when developing software on a large scale. Working with an active open-source project exposed students to interesting issues related to real-world software development and facilitated direct interaction with expert, professional developers. Positive experiences included successfully understanding, modifying and debugging software written by someone else -- a rare activity in most curricula. The students also had to work with Ushahidi's distributed development model, common to many open-source projects, which reinforced the importance of communication skills and associated tools. Students also experienced some negative realities such as non-existent or outdated documentation and inconsistent software interfaces.Aside from the technical learning outcomes, an intangible benefit of our approach was the motivation students experienced from having someone other than their instructor interested in their progress. As well, the use of a humanitarian software project exposed students to the changing face of computing from its business and scientific roots into new application areas.

Full Text
Paper version not known

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.