Presentation is loading. Please wait.

Presentation is loading. Please wait.

Using Open Source Projects in Higher Education: A Two-Way Certification Framework Pantelis M. Papadopoulos, United Nations University Ioannis G. Stamelos,

Similar presentations


Presentation on theme: "Using Open Source Projects in Higher Education: A Two-Way Certification Framework Pantelis M. Papadopoulos, United Nations University Ioannis G. Stamelos,"— Presentation transcript:

1 Using Open Source Projects in Higher Education: A Two-Way Certification Framework Pantelis M. Papadopoulos, United Nations University Ioannis G. Stamelos, Aristotle University of Thessaloniki Antonio Cerone, United Nations University

2 2 / 14 Overview Software and Certification Teaching Software Engineering with FLOSS FLOSS Assignment FLOSS and Certification Future work

3 3 / 14 Software and Certification In the Software world, certification is the assertion that a software product, organization, or person exhibits some significant characteristics Examples Software product Quality aspect, such as safety or reliability Organization CMMI model Person Knowledge/skills in programming languages, software project management, etc

4 4 / 14 Teaching SE with FLOSS Free/Libre Open Source Software (FLOSS) projects have been used for teaching SE in Aristotle University of Thessaloniki since 2005 The students participate in a real FLOSS project playing different roles Fifth semester: Introduction in Software Engineering course Requirements engineer Tester Developer Sixth semester: Object-Oriented Analysis course Analyst/designer

5 5 / 14 FLOSS Assignment (1/5) Hybrid approach of teaching Formal in-class education on the theoretical aspects of the domain Students become members of FLOSS project teams and start working online Step 1: Find a project Anywhere: Sourceforge.net, tigris.org, etc Proposed list of criteria such as: compatibility with the OS they use, highly active project community for timely feedback, and project maturity level. Testers should look for beta versions (more bugs to be found) Requirements engineers should go for the mature/stable projects

6 6 / 14 FLOSS Assignment (2/5) Step 2: Register the project Grant permission from the instructor to work on the selected project under the selected role Avoid conflicts between students and evaluate the appropriateness of the selected project Step 3: Preparation Testers: use the project and understand its functionalities and check the appropriate way of reporting bugs Developers: grant approval on the proposed functionalities and gain access to the version control system of the project Requirements engineers: grant approval to write a SRS document and receive all the necessary information to write such a document Analysts: grant approval to design UML diagrams for desired features.

7 7 / 14 FLOSS Assignment (3/5) Step 4: Work on the project Testers have to apply multiple techniques taught in class for finding bugs (e.g., smoke, recovery), submit unreported bugs, and monitor them if case additional information is requested Developers have to submit code gradually to the project and give time to the project community to respond with corrections and suggestions. Requirements engineers have to write the SRS document following a formal template, submit it to the project community, and revise according to comments and suggestions Analysts have to submit UML diagrams along with their analysis, following the assumptions and vocabulary of the previous submissions.

8 8 / 14 FLOSS Assignment (4/5) Step 5: Present the project Students have to submit a detailed report and give a slides presentation in class presenting the project Information about the interaction between the project community and links to submitted work should also be included. Assessment Quality of the work they produce Students’ actual involvement in the open source community Adoption of the submitted work from the community = full grade for the assignment

9 9 / 14 FLOSS Assignment (5/5) Schedule Students were allowed to work on their assignments beyond the typical 12.5 weeks of the official lecturing period and submit it at a later time at 3 pre-defined dates per year Acceptance Most of students said that they will remain active members of their FLOSS projects even after the course – almost all the Developers Students praised the fact that they were able to work on real projects and experience the development of open source software first hand

10 10 / 14 FLOSS and Certification (1/3) Argument The FLOSS Assignment can provide a two-way framework for certification in the FLOSS context Students can be taught to certify FLOSS artifacts and communities and get themselves certified as FLOSS participants Product A FLOSS artifact is certified for achieving certain levels of quality attribute thresholds For example, the degree of coverage according to some pre-defined testing criterion, such as statement, path coverage, and linear code sequence and jump (LCSAJ)

11 11 / 14 FLOSS and Certification (2/3) Organization A FLOSS project/community is certified for its ability to sustain a community Certification level according to a set of community-related measurements Speed of response to queries, speed of integration of artifacts, release frequency, number of postings per committers etc A subset of such measurements, e.g. response speed, is gathered during the students' endeavor with the project For most of them, special tooling, such as data mining and web scrapping, is necessary

12 12 / 14 FLOSS and Certification (3/3) Person A student is certified for his/her capability to participate successfully in a FLOSS project Certified as: requirements engineer, tester, coder, or analyst/designer Certification is awarded after successful completion of one pre-specified task in a real FLOSS project The results of the task and the overall experience (including communication and feedback from the project community) are reported in a pre-defined template (the learning project) Level ordering: Requirements, Testing or Analysis/Design, Coding

13 13 / 14 Future Work Further refinement of the available roles Defining certification levels and criteria Include new roles in the assignment Certifiers: have to use tools and perform well-defined tasks to certify FLOSS artifacts and communities Reverse engineers: have to use tools to analyze FLOSS code and provide higher-level analysis of the project These roles are scheduled for 2012-2013

14 14 / 14 Thank you! http://to.ly/fze6


Download ppt "Using Open Source Projects in Higher Education: A Two-Way Certification Framework Pantelis M. Papadopoulos, United Nations University Ioannis G. Stamelos,"

Similar presentations


Ads by Google