ECEASST Using Free/Libre Open Source Software Projects as E-learning Tools (original) (raw)

Using Free/Libre Open Source Software Projects as E-learning Tools

2010

Free/Libre Open Source Software (FLOSS) projects can be considered as learning environments in which heterogeneous communities get together to exchange knowledge through discussion and put it into practice through actual contributions to software development, revision and testing. This has encouraged tertiary educators to attempt the inclusion of participation in FLOSS projects as part of the requirements of Software Engineering courses, and pilot studies have been conducted to test the effectiveness of such an attempt. This paper discusses two pilot studies with reference to several studies concerning the role of learning in FLOSS projects and shows how using FLOSS projects as E-learning tools has a potential to increase the quality of the software product.

A Preliminary Analysis of Learning Awareness in FLOSS Projects

Lecture Notes in Computer Science, 2014

It can be argued that participating in free/libre open source software (FLOSS) projects can have a positive effect in the contributor's learning process. The need to interact with other contributors, to read other people's code, write documentation, or use different tools, can motivate and implicitly foster learning. In order to validate this statement we design an appropriate questionnaire asking FLOSS contributors about their experience in FLOSS projects. In this paper, we illustrate how this questionnaire was designed and what we expect to learn from the answers. We conclude the paper with a preview of the results from three cases studies.

Free/Libre/Open Source Software Development in Software Engineering Education: Opportunities and Experiences

Abstract. Free/Libre/Open Source Software (FLOSS) presents a strategy for developing software products that is substantially different from what is usually taught in Software Engineering courses. This paper discusses the benefits of using FLOSS in Software Engineering Education, proposes a list of topics that should be covered in FLOSS-based Software Engineering courses and briefly reports our experience at two Brazilian universities.

Utilizing Open Source Software in Teaching Practice- based Software Engineering Courses

2016 IEEE Frontiers in Education Conference (FIE), 2016

— Software engineering courses face the challenge of covering all the stages of analysis, development, maintenance, and support while addressing practical issues such as dealing with large codebase. Free and open source software (FOSS) and more specifically humanitarian free and open source software (HFOSS) have been used by many educators to bring many add-ons to computer science education such as innovation and motivation. In addition, FOSS/HFOSS could give a better understanding of real world projects to students. In this work, we are looking at some activities developed for teaching upper division undergraduate and graduate software engineering courses using open source software projects and analyze the impacts of using this approach on students.

Using Open Source Projects in Higher Education: A Two-Way Certification Framework

Lecture Notes in Computer Science, 2014

The paper proposes a framework for the certification of free/libre open source software (FLOSS) projects. The process is two-fold and is based on our experience over the last four years of using FLOSS for teaching software engineering in Aristotle University of Thessaloniki. The premise of the paper is that students' engagement with real open source projects, and more specifically with the respective open source communities, can be an effective instructional method for skill development. We argue that through such a process, the students are able to get familiar with tools and technologies used in FLOSS and receive certification as FLOSS participants. On the other hand, the students can also review and evaluate the FLOSS project they use during the learning activity from different perspectives. In more advanced learning activities, this evaluation can be based on certification standards, providing in that way a valuable source of feedback to the open source community.

Engaging Students in Open Source: Establishing FOSS Development at a University

Proceedings of the Annual Hawaii International Conference on System Sciences, 2019

Open source is widely used for educational purposes in higher education around the world. While many educators use open source resources for teaching, there seems to be few contributions to such projects of students as part of their university courses. In this work we present our experience on establishing open source development from student contributors as part of their university curriculum. Since 2010 more than 300 students from Graz University of Technology have been involved in the presented Catrobat project and have gained knowledge about agile software development as well as several related domains, e.g., project management, marketing, or graphical design. In this paper we provide detailed insights into the project's organization and evaluate in a study how students feel in this setting. As we conclude, bringing open source to university courses is an effective practical approach based on social learning and provides benefits for students and researchers.

Using Open Source Projects in Software Engineering Education: A Systematic Mapping Study

Context: It is common practice in academia to have students work with "toy" projects in software engineering courses. One way to make such courses more realistic and reduce the gap between academic courses and industry needs is getting students involved in Open Source Projects with faculty supervision. Objective: This study aims to summarize existing information on how open source projects have been used to facilitate students' learning of software engineering. Method: A systematic mapping study was undertaken by identifying, filtering and classifying primary studies using a predefined strategy. Results: 53 papers were selected and classified. The main results were: a) most studies focus on comprehensive software engineering courses, although some papers deal with specific areas; b) the most prevalent approach was the traditional project method; c) surveys are the main learning assessment instrument, especially for student self-assessment; d) conferences are the typical publication venue; and e) more than half of the studies were published in the last five years. Conclusions: The resulting map gives an overview of the existing initiatives in this context and shows gaps where further research can be pursued.

Panel — Teaching students to participate in Open Source Software projects

2010

This panel will present several experiences in involving students in Open Source Software (OSS) projects from the perspectives of both the instructor and a member of the OSS community. OSS is growing rapidly and gaining market share in both industry (e.g., Linux and Mozilla) as well as academia (e.g, Moodle, Greenfoot, and Drupal). OSS projects have a culture built on volunteer participation to support software development. Computing degree programs desire to involve students in large-scale software projects to provide students with real-world experience and an understanding of the issues found in large, complex software projects. Involving computing students in OSS projects serves both the OSS community by providing development resources for the project while also serving the academic community by providing access to large software projects in which students can gain experience. However, the marriage of student and OSS project presents some challenges including identification of approachable OSS projects, creation of appropriate educational infrastructure, evaluation and grading, and more. Panelists will address the factors that contribute to student success in an OSS project.

Training Software Engineers Using Open-Source Software: The Professors' Perspective

2017 IEEE 30th Conference on Software Engineering Education and Training (CSEE&T)

Traditional Software Engineering (SE) courses often prioritize methodologies and concepts in small, controlled environments: naive projects used as a proof of concept instead of full-fledged real software systems. Although this strategy has clear benefits, it does not place enough care in training students to face complex, non-trivial legacy software projects. To bridge this gap, novel SE courses are leveraging the rich variety of open-source software (OSS) projects to illustrate how these methodologies and concepts are applied to existing, non-trivial software systems. To better understand the benefits, challenges, and opportunities of this transition, in this paper, we interview seven SE professors that changed their academic setting to aspire students to comprehend, maintain, and evolve OSS systems as part of their SE course. We found that there are different ways to make use of OSS projects in SE courses in terms of project choice, assessment, and learning goals. Moreover, we evidence clear benefits of this approach, including improving students' social and technical skills, and helping students enhancing their resume. Also, we observed that this strategy comes with costs: the activity demands effort and time from the professor and the barrier for one getting involved with and, therefore, placing a meaningful contribution, in an OSS community is often high. Index Terms-Open-source software; Teaching Software Engineering; Open-Source Contributions; • RQ1. What makes a good OSS project for training SE students?