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

Slides:



Advertisements
Similar presentations
Professional Services Developer Program Services
Advertisements

Validating and Improving Test- Case Effectiveness Yuri Chernak Presented by Michelle Straughan.
Software Quality Assurance Plan
SEP1 - 1 Introduction to Software Engineering Processes SWENET SEP1 Module Developed with support from the National Science Foundation.
Learning and Teaching Conference 2012 Skill integration for students through in-class feedback and continuous assessment. Konstantinos Dimopoulos City.
Agile Project Management with Scrum
1 Software Requirement Analysis Deployment Package for the Basic Profile Version 0.1, January 11th 2008.
Stepan Potiyenko ISS Sr.SW Developer.
Introduction to the State-Level Mitigation 20/20 TM Software for Management of State-Level Hazard Mitigation Planning and Programming A software program.
Chapter 15 Design, Coding, and Testing. Copyright © 2005 Pearson Addison-Wesley. All rights reserved Design Document The next step in the Software.
IS 421 Information Systems Management James Nowotarski 16 September 2002.
SE 555 Software Requirements & Specification Requirements Validation.
Systems Analysis & Design Sixth Edition Systems Analysis & Design Sixth Edition Toolkit Part 5.
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
 QUALITY ASSURANCE:  QA is defined as a procedure or set of procedures intended to ensure that a product or service under development (before work is.
Expectations for the Week & the Software Development Lifecycle JAMS Workshop Makerere University September 2010.
1 CMPT 275 Software Engineering Requirements Analysis Process Janice Regan,
Software Engineering Lecture No:12. Lecture # 7
Copyright © 2003, Scott Higgins and Marianne Hollis Copyright Statement This work is the intellectual property of the authors. Permission is granted for.
Software Engineering Tutorial. Tutorial objectives  Direct application for the SW engineering activities.  Discuss real software development case studies.
Process: A Generic View
University of Palestine software engineering department Testing of Software Systems Fundamentals of testing instructor: Tasneem Darwish.
Process: A Generic View n A software process  is a roadmap to building high quality software products.  provides a framework for managing activities.
1 Integrating Google Apps for Education to Business English Student Trainees’ On-the-Job Training English Reports Asst.Prof. Phunsuk Kannarik.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 3, Project Organization and Communication.
S/W Project Management
UML - Development Process 1 Software Development Process Using UML (2)
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
Software Testing Lifecycle Practice
Dr Andy Brooks1 FOR0383 Software Quality Assurance Lecture 1 Introduction Forkröfur/prerequisite: FOR0283 Programming II Website:
Test Organization and Management
Overview of the Department’s ABET Criterion 3 Assessment Process.
Project Management : Techniques and Tools (60-499) Fall 2014 / Winter 2015.
Demystifying the Business Analysis Body of Knowledge Central Iowa IIBA Chapter December 7, 2005.
Preceptor Orientation
IT 499 Bachelor Capstone Week 8. Adgenda Administrative Review UNIT Seven UNIT Eight Project UNIT Nine Preview Project Status Summary.
PBL in Team Applied to Software Engineering Education Liubo Ouyang Software School, Hunan University CEIS-SIOE, January 2006, Harbin.
The IR Role in Subscriber Managed Course Reviews QM Institution Representative Training © MarylandOnline, Inc., All rights reserved.
WXGE 6103 Digital Image Processing Semester 2, Session 2013/2014.
What is a Business Analyst? A Business Analyst is someone who works as a liaison among stakeholders in order to elicit, analyze, communicate and validate.
Software Engineering Principles Principles form the basis of methods, techniques, methodologies and tools Principles form the basis of methods, techniques,
CS 3610: Software Engineering – Fall 2009 Dr. Hisham Haddad – CSIS Dept. Chapter 2 The Software Process Discussion of the Software Process: Process Framework,
Process Improvement. Improving the Test Process In the Software V&V course, Prof. Uwe asked the question: How to improve the Testing Process?
Advanced Database Course (ESED5204) Eng. Hanan Alyazji University of Palestine Software Engineering Department.
INFO 637Lecture #101 Software Engineering Process II Review INFO 637 Glenn Booker.
Systems Analysis and Design 8 th Edition Chapter 6 Object Modeling.
Teaching Software Testing as a Problem-based Learning Course Stephanie Ludi Software Engineering Dept. Rochester Institute of Technology
Latifa AlAbdlkarim King Saud University October,2009.
Senior Design II proposal A step-by-Step review. What is Senior Design?  Senior Design is a sequence of two courses during two consecutive semesters.
Process: A Generic View
Computing and SE II Chapter 15: Software Process Management Er-Yu Ding Software Institute, NJU.
CONTENTS OF THE SRS REPORT. Software Requirements Specification (SRS) template The SRS document describes recommended approaches for the specification.
Course Introduction CEN 5016 Software Engineering Dr. David A. Workman School of EE and Computer Science January 9, 2007.
27/3/2008 1/16 A FRAMEWORK FOR REQUIREMENTS ENGINEERING PROCESS DEVELOPMENT (FRERE) Dr. Li Jiang School of Computer Science The.
CSPC 464 Fall 2014 Son Nguyen.  Attendance/Roster  Introduction ◦ Instructor ◦ Students  Syllabus  Q & A.
Evaluate Phase Pertemuan Matakuliah: A0774/Information Technology Capital Budgeting Tahun: 2009.
Software Engineering (CSI 321) Software Process: A Generic View 1.
Certificate IV in Project Management Assessment Outline Course Number Qualification Code BSB41507.
Introduction to Software Engineering 1. Software Engineering Failures – Complexity – Change 2. What is Software Engineering? – Using engineering approaches.
CHAPTER 6 OBJECT ANALYSIS.
M253 Students Study Guide Mrs. Fatheya Al Mubarak – AOU Dammam.
Pedagogical aspects in assuring quality in virtual education environments University of Gothenburg, Sweden.
Adaptive Software Development Process Framework. Version / 21 / 2001Page Project Initiation 2.0 Adaptive Cycle Planning 5.0 Final Q/A and.
Project Management PTM721S
Chapter 10 Software Quality Assurance& Test Plan Software Testing
Software Engineering (CSI 321)
SKILL ASSESSMENT OF SOFTWARE TESTERS Case Study
Software engineering -1
UML Design for an Automated Registration System
Presentation transcript:

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 / 14 Overview Software and Certification Teaching Software Engineering with FLOSS FLOSS Assignment FLOSS and Certification Future work

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 / 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 / 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 / 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 / 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 / 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 / 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 / 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 / 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 / 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 / 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

14 / 14 Thank you!