Learning software engineering principles using open source software

Author(s):  
Jagadeesh Nandigam ◽  
Venkat N. Gudivada ◽  
Abdelwahab Hamou-Lhadj
Electronics ◽  
2021 ◽  
Vol 10 (10) ◽  
pp. 1181
Author(s):  
Juanan Pereira

(1) Background: final year students of computer science engineering degrees must carry out a final degree project (FDP) in order to graduate. Students’ contributions to improve open source software (OSS) through FDPs can offer multiple benefits and challenges, both for the students, the instructors and for the project itself. This work reports on a practical experience developed by four students contributing to mature OSS projects during their FDPs, detailing how they addressed the multiple challenges involved, both from the students and teachers perspective. (2) Methods: we followed the work of four students contributing to two established OSS projects for two academic years and analyzed their work on GitHub and their responses to a survey. (3) Results: we obtained a set of specific recommendations for future practitioners and detailed a list of benefits achieved by steering FDP towards OSS contributions, for students, teachers and the OSS projects. (4) Conclusion: we find out that FDPs oriented towards enhancing OSS projects can introduce students into real-world, practical examples of software engineering principles, give them a boost in their confidence about their technical and communication skills and help them build a portfolio of contributions to daily used worldwide open source applications.


2015 ◽  
pp. 997-1012
Author(s):  
Jagadeesh Nandigam ◽  
Venkat N Gudivada

This chapter describes a pragmatic approach to using open source and free software tools as valuable resources to affect learning of software industry practices using iterative and incremental development methods. The authors discuss how the above resources are used in teaching undergraduate Software Engineering (SE) courses. More specifically, they illustrate iterative and incremental development, documenting software requirements, version control and source code management, coding standards compliance, design visualization, software testing, software metrics, release deliverables, software engineering ethics, and professional practices. The authors also present how they positioned the activities of this course to qualify it for writing intensive designation. End of semester course evaluations and anecdotal evidence indicate that the proposed approach is effective in educating students in software industry practices.


2012 ◽  
Vol 4 (1) ◽  
pp. 37-59 ◽  
Author(s):  
Megan Squire

Artifacts of the software development process, such as source code or emails between developers, are a frequent object of study in empirical software engineering literature. One of the hallmarks of free, libre, and open source software (FLOSS) projects is that the artifacts of the development process are publicly-accessible and therefore easily collected and studied. Thus, there is a long history in the FLOSS research community of using these artifacts to gain understanding about the phenomenon of open source software, which could then be compared to studies of software engineering more generally. This paper looks specifically at how the FLOSS research community has used email artifacts from free and open source projects. It provides a classification of the relevant literature using a publicly-available online repository of papers about FLOSS development using email. The outcome of this paper is to provide a broad overview for the software engineering and FLOSS research communities of how other researchers have used FLOSS email message artifacts in their work.


First Monday ◽  
2005 ◽  
Author(s):  
Stefan Koch ◽  
Jesus M. Gonzalez-Barahona

The following commentary is part of First Monday's Special Issue #2: Open Source.


2020 ◽  
Author(s):  
Naser El-Bathy ◽  
Clay Gloster ◽  
Ghassan Azar ◽  
Cameron Seay ◽  
Mohammed El-Bathy ◽  
...  

Sign in / Sign up

Export Citation Format

Share Document