teaching software engineering with open source projects

70
Teaching Software Engineering with Open Source Projects Ioannis Stamelos Aristotle University of Thessaloniki Dept of Informatics Software Engineering Group http://sweng.csd.auth.gr [email protected]

Upload: aristotle-university-of-thessaloniki

Post on 18-May-2015

714 views

Category:

Technology


0 download

DESCRIPTION

A presentation on how OSS projects may be used for providing practical training for undergraduate software engineering students. Host: UNU-IIST, Macau-SAR, China

TRANSCRIPT

Page 1: Teaching Software Engineering with Open Source Projects

Teaching Software Engineering with Open Source Projects

Ioannis Stamelos

Aristotle University of ThessalonikiDept of Informatics

Software Engineering Grouphttp://sweng.csd.auth.gr

[email protected]

Page 2: Teaching Software Engineering with Open Source Projects

Macau, UNU-IIST, 9/5/2013 2

Presentation Outline● Introduction

● General Idea

● The AUTH / OPENSE project

● The Social Infirmatory Project

● Conclusion and Future work

Page 3: Teaching Software Engineering with Open Source Projects

Macau, UNU-IIST, 9/5/2013 3

Presentation Outline● Introduction● General Idea● The AUTH / OPENSE project● The Social Infirmatory Project● Conclusion and Future work

Page 4: Teaching Software Engineering with Open Source Projects

Macau, UNU-IIST, 9/5/2013 4

Page 5: Teaching Software Engineering with Open Source Projects

Macau, UNU-IIST, 9/5/2013 5

Page 6: Teaching Software Engineering with Open Source Projects

Macau, UNU-IIST, 9/5/2013 6

City of Thessaloniki

● Capital of Macedonia region, northern Greece

● ~1 M inhabitants, 2nd greek city, major port of Balkan area

● 2300 years of continuous history, joined modern Greece in 1912

Page 7: Teaching Software Engineering with Open Source Projects

Macau, UNU-IIST, 9/5/2013 7

Page 8: Teaching Software Engineering with Open Source Projects

Macau, UNU-IIST, 9/5/2013 8

Aristotle University of Thessaloniki

● First school (Philosophy) established in 1925

● Largest Greek University

● 45 departments

● > 60.000 students

● > 3.000 staff / teachers

www.auth.gr

Page 9: Teaching Software Engineering with Open Source Projects

Macau, UNU-IIST, 9/5/2013 10

Five Research Labs● Programming Languages and Software Engineering

● Data Technologies and Engineering

● Information Processing and Artificial Intelligence

● Multimedia (Educational Technologies)

● Networks, Communications and Architecture

Page 10: Teaching Software Engineering with Open Source Projects

Macau, UNU-IIST, 9/5/2013 11

Programming Languages and Software Engineering Lab

● 7 staff members● several research associates● 30 PhD students● Major research areas:

– Intelligent Systems– Knowledge Engineering– Software Engineering– Statistics in Information Systems– Web Information Systems

Page 11: Teaching Software Engineering with Open Source Projects

Macau, UNU-IIST, 9/5/2013 12

Software Engineering Group (SWENG)

● 3 academic staff members:– Associate Professor I. Stamelos (FLOSS,

Software Engineering)– Associate Professor L. Angelis (Empirical

Software Engineering) – Assistant Professos P. Katsaros (Formal

Methods, Software Quality)● 2 research associates● 14 PhD students● http://sweng.csd.auth.gr

Page 12: Teaching Software Engineering with Open Source Projects

Macau, UNU-IIST, 9/5/2013 13

SWENG: Teaching

● Dept. of Informatics – Introduction to Software Engineering– Object Oriented Analysis / Java– Software Security and Reliability

● Master Courses– Software Project Management– Enterprise Information Systems – Advanced Information Systems Development

(International Hellenic Open University)

Page 13: Teaching Software Engineering with Open Source Projects

Macau, UNU-IIST, 9/5/2013 14

SWENG: R&D Activities● Basic Research● Funded Applied Research & Development from

– Greek Secretariat for Research and Technology– EU (FLOSS topics)– Greek Private Companies– Greek Secretariat for Sports

● Collaboration with other research teams:– Malardalen Univ (Vasteras, Sweden), – UNU-MERIT (Maastricht), UNU-IIST (Macau)– Pol. Lausanne (CH, prof. Sifakis, Turing Award)– Stonybrook Univ. (USA)– Tampere Univ (Tampere, Finland), – Univ. Juan Carlos (Madrid), – Athens Univ. of Business & Economy,– Politecnico di Torino, Univ. LAMSADE (Paris)

Page 14: Teaching Software Engineering with Open Source Projects

Macau, UNU-IIST, 9/5/2013 15

SWENG: Major Research Areas

● Software Quality● Software Cost Estimation● Software Management and Evaluation● Software Engineering Education● Software Architecture

– All the above applied on FLOSS

● Extreme Programming● Formal Methods

● ~300 publications on international refereed conferences and journals

Page 15: Teaching Software Engineering with Open Source Projects

Macau, UNU-IIST, 9/5/2013 16

Presentation Outline● Introduction● General Idea● The OPENSE project● The Social Infirmary Project● Conclusion and Future work

Page 16: Teaching Software Engineering with Open Source Projects

Macau, UNU-IIST, 9/5/2013 17

One Major Software Engineering Education

Problem● One of the major problems in software engineering

education is the involvement of students in real world software projects

● Typical projects given to SE students:

– “Toy” applications: not real projects

– Funded research projects: too few, not always real projects

– Industry projects: too few, problems with student familiarization, integration in enterprise environment

Page 17: Teaching Software Engineering with Open Source Projects

Macau, UNU-IIST, 9/5/2013 18

ACM Requirements for SE Curricula

●Need to comply with specific ACM requirements

– Source: ACM Computing Curricula 2005: The Overview Report● Identification and acquisition of skill sets that go beyond technical skills

●Such skill sets include interpersonal communication skills, team skills, and management skills

●Exposure to an appropriate range of applications and case studies that connect theory and skills learned in academia to real-world occurrences to explicate their relevance and utility.

Page 18: Teaching Software Engineering with Open Source Projects

Macau, UNU-IIST, 9/5/2013 19

ACM Requirements for SE Curricula, cont.

● Attention to professional, legal, and ethical issues so that students acquire, develop, and demonstrate attitudes and priorities that honor, protect, and enhance the profession’s ethical stature and standing.

● Demonstration that each student has integrated the various elements of the undergraduate experience by undertaking, completing, and presenting a capstone project

Page 19: Teaching Software Engineering with Open Source Projects

Macau, UNU-IIST, 9/5/2013 20

The Open Source Ecosystem

● ~500K open source projects, billions of lines of code, several thriving communities

● Several forges (SourceForge, GitHub,...)

● Hundreds of successful results (Linux, Apache Web Server, Firefox, LibreOffice...) in almost all application domains

● Typically, quality is equal or better than closed source counterparts

● However, ~80% are dead projects, care is needed...

Page 20: Teaching Software Engineering with Open Source Projects

Macau, UNU-IIST, 9/5/2013 21

Open Source offers the solution to the problem

● The abundance of Open Source projects provide a solution, offering multilingual,multi-cultural environments in every application domain, at different levels of size, maturity, organization etc.

● FLOSSPOLS survey: 35-47% of respondents claimed that “by being members of an Open Source project, they acquired basic/introductory programming, managing complex software systems, testing etc skills in a period of two years”

Page 21: Teaching Software Engineering with Open Source Projects

Macau, UNU-IIST, 9/5/2013 22

Degree of educational opportunities

● Software engineering knowledge areas according to SWEBOK and degree of educational opportunities in FLOSS on a 1 to 5 scale per Area of SE Education (source: SWEBOK, Guide to the Software Engineering Body of Knowledge. IEEE Computer Society Press, 2004)

● Software configuration management XXX

● Software engineering management XX

● Software engineering process XX

● Software engineering tools and methods XXX

● Software quality XXXX

Page 22: Teaching Software Engineering with Open Source Projects

Macau, UNU-IIST, 9/5/2013 23

Degree of educational opportunities, cont.

● Software requirements XXX

● Software design XXX

● Software construction XXX

● Software testing XXXX

● Software maintenance XXX

Page 23: Teaching Software Engineering with Open Source Projects

Macau, UNU-IIST, 9/5/2013 24

Justificaton of Degrees

● Software Configuration Management (XXX)

– Omnipresent in OSS (CVS, SVN, GIT tools etc) – frequent releasing

– However, it concerns only code and tests, little care for documentation configuration management

Page 24: Teaching Software Engineering with Open Source Projects

Macau, UNU-IIST, 9/5/2013 25

Justificaton of Degrees, 2

● Software Engineering (Project) Management (XX)

–PM in OSS is totally different in terms of human resource management (no hiring, focus on participant retainment), costing (no budget), planning and scheduling (only occasional, quite loose schedules), etc.

Page 25: Teaching Software Engineering with Open Source Projects

Macau, UNU-IIST, 9/5/2013 26

Justificaton of Degrees, 3

● Software Engineering Process

–OSS is a sui generis process, not a waterfall, not a spiral model

– In addition, forking or community shifts makes the OSS process hard to predict

Page 26: Teaching Software Engineering with Open Source Projects

Macau, UNU-IIST, 9/5/2013 27

Justificaton of Degrees, 4

● Software Engineering Tools and Methods (XXX)

- Several coding and testing techniques are applied in OSS. However, not all projects have strict guidelines on how to develop and test code.

● Software Quality has much to learn from OSS (XXXX)

–Quality is based on informal people activities, similar to agile methods

– Software quality achieved through proper project organization, high levels of standards for comits, community quality

Page 27: Teaching Software Engineering with Open Source Projects

Macau, UNU-IIST, 9/5/2013 28

Justificaton of Degrees, 5

● Software requirements (XXX)

– rarely found in OSS

–This may be seen as an opportunity for students to engage in OSS

● Software Design

–No prior design activities

–However, design issues are often discussed in OSS and best designs are chosen for inclusion in the codebase

Page 28: Teaching Software Engineering with Open Source Projects

Macau, UNU-IIST, 9/5/2013 29

Justificaton of Degrees, 6

● Software construction (XXX)

–Intense coding

–Not always specific code standards are adopted● Software testing (XXXX)

–Great results in many OSS projects

– Informal techniques adopted, “Given enough eyeballs, all bugs are shallow”, E. Raymond

● Software maintenance (XXX)

–OSS projects evolve continuously, good opportunity for students to see how software evolves in practice

–Evolution is sometimes chaotic

Page 29: Teaching Software Engineering with Open Source Projects

Macau, UNU-IIST, 9/5/2013 30

Generic Conclusion

● You can't teach everything in software engineering by looking only at OSS projects

● But you can teach a lot

– so let's proceed by looking at how students may be engaged in OSS projects to learn specific SE areas and acquire specific skills

Page 30: Teaching Software Engineering with Open Source Projects

Macau, UNU-IIST, 9/5/2013 31

Presentation Outline● Introduction

● General Idea

● The AUTH / OPENSE project

● The Social Infirmatory Project

● Conclusion and Future work

Page 31: Teaching Software Engineering with Open Source Projects

Macau, UNU-IIST, 9/5/2013 32

AUTH Pilot Courses

● 2008 EU/FLOSSCom project: investigated learning in FLOSS communities and FLOSS as a learning environment

● 2007 / 2008 AUTH pilot courses with students volunteering to participate in OSS projects as part of their course

Page 32: Teaching Software Engineering with Open Source Projects

Macau, UNU-IIST, 9/5/2013 33

The ISE/OOA Courses

● Introduction to Software Engineering

– 5th Semester, mandatory course

– Basic SE concepts, software paradigms, life cycle models and development phases, testing

● Object Oriented Analysis

– 6th Semester, mandatory course for the Information Systems stream

– Object orientation, UML, RUP/ICONIX, analysis & design, components

Page 33: Teaching Software Engineering with Open Source Projects

Macau, UNU-IIST, 9/5/2013 34

Software Engineering: an ill-structured domain

● Excluding formal methods, software engineering is largely based on informal techniques, experiences, empirical evidence

● From an educational point of view, to a large extent, it is an ill-structured domain

Page 34: Teaching Software Engineering with Open Source Projects

Macau, UNU-IIST, 9/5/2013 35

Two ways to cope with ill-structured domains

● Project-based learning

– Students become responsible for their activity, use several information sources, resolve a practical problem

● Collaborative learning

– Focuses on social learning aspects, learning occurs through interactions

Page 35: Teaching Software Engineering with Open Source Projects

Macau, UNU-IIST, 9/5/2013 36

Approach

● Students have to undertake an assignment (project-based learning), after receiving introduction to theoretical concepts

– They need to participate in an OSS project of their choice, taking one out of several possible roles, potentially interacting with peer students (collaborative learning)

Page 36: Teaching Software Engineering with Open Source Projects

Macau, UNU-IIST, 9/5/2013 37

Four student roles

● ISE

– Requirements Engineer

– Tester

– Coder

● OOA

– Analyst/Designer

Page 37: Teaching Software Engineering with Open Source Projects

Macau, UNU-IIST, 9/5/2013 38

Student Assignment Steps

● Attend theory lectures / exercises / labs

● Find a suitable project – iterate through many if necessary

● Interact with project community to define his/her deliverables

● Produce deliverables

● Report deliverables to the project

● Receive community comments, obtain acceptance

● Produce assignment report, make a public presentation, fill in a questionnaire on their assignment

Page 38: Teaching Software Engineering with Open Source Projects

Macau, UNU-IIST, 9/5/2013 39

Student Grading

● Students are graded based on

– Their presentation

– Their learning project

– The quality of their deliverables

– Timeliness, Interaction with the community (~40%)

Page 39: Teaching Software Engineering with Open Source Projects

Macau, UNU-IIST, 9/5/2013 40

Several Years of Systematic Application

08/09 09/10 10/11 11/12 Total

Req. Engineers

19 16 117 63 215

Testers 12 27 50 23 112

Developers 0 7 20 5 32

Designers/Analysts

n.a. n.a. 26 23 49

Total 31 50 213 114 408

Page 40: Teaching Software Engineering with Open Source Projects

Macau, UNU-IIST, 9/5/2013 41

Students' Perspective

● Students:

– Have a very positive attitude towards the method (92%)

– Found project selection a hard task (35%, had to visit 6 projects on average before deciding)

– 44% could fix the bugs they found

– 78% could understand the project code

– 67% will continue to participate in their project

– 54% would be interested in helping next student generation

– Little interaction with peers

Page 41: Teaching Software Engineering with Open Source Projects

Macau, UNU-IIST, 9/5/2013 42

The EU/OPENSE Project

● Start: October 2009

● Duration: 25 month

● Supported by: LifelongLearningProgramme, European Commission

● Number of project partner: 10 entities from 8 EU countries (Universities and Enterprises)

● Countries represented: Austria, Finland, France, Greece, Portugal, Spain, The Netherlands, United Kingdom

Page 42: Teaching Software Engineering with Open Source Projects

Macau, UNU-IIST, 9/5/2013 43

Project lead partners

● Conceptual Framework, Methodology & Structure: Andreas Meiszner, UNU-MERIT – The Netherlands / SPI - Portugal

● Pilot Lead: Ioannis Stamelos, Aristotle University of Thessaloniki – Greece

● Content Framework Lead: Wouter Tebbens, Free Technology Academy – The Netherlands

● Learner Support Framework Lead: Ross Gardler, University of Oxford / OSSWatch, Research Technology Service (RTS), Oxford University Computing Services – UK

Page 43: Teaching Software Engineering with Open Source Projects

Macau, UNU-IIST, 9/5/2013 44

Project lead partners, cont.

● Technical Framework Lead: Jesus M. Gonzalez-Barahona, Universidade Rey Juan Carlos, Departamento de Sistemas Telemáticos y Computación – Spain

● Evaluation Lead: Ruediger Glott, UNU-MERIT – The Netherlands

● Project Co-ordination: Jose Carvalho, Sociedade Portuguesa de Inovação – Portugal

Page 44: Teaching Software Engineering with Open Source Projects

Macau, UNU-IIST, 9/5/2013 45

Special expertise partners

● Elmar Husmann, European Learning Industry Group (ELIG) – Austria

● Imed Hammouda, Tampere University of Technology, Department of Software Systems – Finland

● Patrick McAndrew, The Open University, Institute of Educational Technology (IET) – UK

● Olivier Ricou, EPITA, Ecole pour l'Informatique et les Techniques Avancées – France

Page 45: Teaching Software Engineering with Open Source Projects

Macau, UNU-IIST, 9/5/2013 46

OPENSE Activities

● AUTH courses

● TUT (FI) implemented a course based on a “community game”

● Other academic partners provided open-source related courses

● Produced the OPENSE framework

● Www.opense.net

Page 46: Teaching Software Engineering with Open Source Projects

Macau, UNU-IIST, 9/5/2013 47

Page 47: Teaching Software Engineering with Open Source Projects

Macau, UNU-IIST, 9/5/2013 48

Learning Project

● Students are asked to report their experience as a 'learning project', providing:

– A description of their OSS project

– Main project developer/community members

– Student involvement (how project was chosen, how student approached the community, level of cooperation with community, difficulties encountered, ...)

– Comitted (and uncomitted) deliverables

– Useful resources used throughout the project

– Personal remarks / comments

Page 48: Teaching Software Engineering with Open Source Projects

Macau, UNU-IIST, 9/5/2013 49

Past Learning Projects provide help for new students

● They may help new students

– Choose an OSS project

– Find whom to talk to

– Decide what to do in the project

– Manage the relationship with the community

– ...

Page 49: Teaching Software Engineering with Open Source Projects

Macau, UNU-IIST, 9/5/2013 50

Learning Projects: Issues

● Hundreds of learning projects

● Not all of them of good quality

● Tacit knowledge, not easy to manage

Page 50: Teaching Software Engineering with Open Source Projects

Macau, UNU-IIST, 9/5/2013 51

New Student Roles: Reverse Engineer

● Goal: to reverse engineer the OSS project

– Produce one or more detailed class diagrams

– Produce sequence diagrams

– Produce project documentation

Page 51: Teaching Software Engineering with Open Source Projects

Macau, UNU-IIST, 9/5/2013 52

New Student Roles: Community Analyst

● Goal: to provide an analysis of the OSS community

– Social Network Analysis

– Analysis of knowledge sharing activities (e.g. how fast community responds to inquiries)

– Analysis of community effectiveness (e.g. average time to fix bugs)

Page 52: Teaching Software Engineering with Open Source Projects

Macau, UNU-IIST, 9/5/2013 53

New Student Roles: Qualifier/Certifier

● Goal: to identify quality problems (if any) in OSS code/design

– Produce code/design measurements

– Compare with quality thresholds (e.g. Number of statements per class method)

– Further locate problematic areas (e.g. through “code smell” detection)

– Produce a comprehensive quality report

Page 53: Teaching Software Engineering with Open Source Projects

Macau, UNU-IIST, 9/5/2013 54

New Student Roles: Reuser/Component Maker

● Goal: to produce reusable components out of the OSS project code (using OPENSME technology, see opensme.eu)

– Analyse project code for candidate components

– Produce reusable components

– Componentize the code (replace old code with the components produced)

Page 54: Teaching Software Engineering with Open Source Projects

Macau, UNU-IIST, 9/5/2013 55

Presentation Outline● Introduction

● General Idea

● The AUTH / OPENSE project

● The Social Infirmatory Project

● Conclusion and Future work

Page 55: Teaching Software Engineering with Open Source Projects

Macau, UNU-IIST, 9/5/2013 56

A mixture of Open Source education and participation

in social actions

● Greece is in a deep financial crisis that has produced severe social problems

– Official unemployment is ~27%, extremely high for young people and women

– 25% of Greek citizens have no health insurance

Page 56: Teaching Software Engineering with Open Source Projects

Macau, UNU-IIST, 9/5/2013 57

A mixture of Open Source education and participation

in social actions

● Greece is in a deep financial crisis that has produced severe social problems

– Official unemployment is ~27%, extremely high for young people and women

– 25% of Greek citizens have no health insurance

Page 57: Teaching Software Engineering with Open Source Projects

Macau, UNU-IIST, 9/5/2013 58

Social Infirmaries

● 15-20 Social Infirmaries have been established based on volunteers

–Physicians

–Pharmacists

–Dispensary Managers

–Plain citizens● Thessaloniki Social Infirmary is particularly active

● http://koinwniko-iatreio.gr/ (unfortunately in greek)

Page 58: Teaching Software Engineering with Open Source Projects

Macau, UNU-IIST, 9/5/2013 59

Powered by Greeklug/ OPENEMR

● IT support by the Greek Linux Users Group

● http://www.greeklug.gr/index.php?lang=en

● Greeklug volunteers have installed OPENEMR to support S.I. Activities

● OPENEMR is an Open Electronic Medical Records application, based on LAMP (Linux, Apache Web Server, MySql, PhP)

● http://www.open-emr.org/

Page 59: Teaching Software Engineering with Open Source Projects

Macau, UNU-IIST, 9/5/2013 60

OPENEMR Pharmacy Dispensary Module

● A pharmacy dispensary module is available

● http://www.open-emr.org/wiki/index.php/Pharmacy_Dispensary_Module

● However, it is not well developed – OPENEMR has focused on other aspects, such as patient records

● Social Infirmatories have both typical and non typical requirements

Page 60: Teaching Software Engineering with Open Source Projects

Macau, UNU-IIST, 9/5/2013 61

Typical S.I. Requirements

● Basic Drug data base management operations

–Official drugs list handling (some 6000 drugs may be officially used in Greece)

–Handling active ingredients

–Out-of-stock control

Page 61: Teaching Software Engineering with Open Source Projects

Macau, UNU-IIST, 9/5/2013 62

Non Typical S.I. Requirements

● Display expired drug boxes (often donated drugs are close to expire)

● Display near expiration drug boxes

● Handle multiple donations

Page 62: Teaching Software Engineering with Open Source Projects

Macau, UNU-IIST, 9/5/2013 63

Use Case Model for S.I. Pharmacy Dispensary

Page 63: Teaching Software Engineering with Open Source Projects

Macau, UNU-IIST, 9/5/2013 64

Next Steps

● Ready to announce the project to the community

● Hoping to receive positive reaction

● Will proceed with project implementation until July

● Will provide the module to all Greek S.I.s

● Will produce the GUI in English, so that all S.I.s around the world may use it

Page 64: Teaching Software Engineering with Open Source Projects

Macau, UNU-IIST, 9/5/2013 65

Presentation Outline● Introduction

● General Idea

● The AUTH / OPENSE project

● The Social Infirmatory Project

● Conclusion and Future work

Page 65: Teaching Software Engineering with Open Source Projects

Macau, UNU-IIST, 9/5/2013 66

Conclusion

● Blending Open Source projects and formal higher education has a lot of benefits

– Including real world experience and peer learning

● Several practical problems are present

– need to implement the approach with care and monitor for recurring issues

● Several opportunities are available

–mixing open source + education + local social/market needs may boost the approach

Page 66: Teaching Software Engineering with Open Source Projects

Macau, UNU-IIST, 9/5/2013 67

Future Work: Improve Education Process

● Focus on peer learning and assessment

–Leverage peer learning and assessment

–Peer assessment by students ● Manage accumulated knowledge

–Provide tools for exploiting knowledge on how to choose projects, handle community issues, produce useful results: text mining, opinion mining, sentiment mining

–Study student anti-patterns, package successful and unsuccessful past cases (case-based learning)

Page 67: Teaching Software Engineering with Open Source Projects

Macau, UNU-IIST, 9/5/2013 68

Future Work: Extend Application

● Get the approach adopted by more Universities

– Combine forces!

● Extend student roles

– Including open source certification / qualification, reverse engineering, community analysis, component reuse

● Guide students to provide solutions to local social / market needs

– Cope with the difficulty to find a suitable project

– Make their open source experience a career start!

Page 68: Teaching Software Engineering with Open Source Projects

Macau, UNU-IIST, 9/5/2013 69

Conference Publication List

A Framework for Teaching Software Testing using F/OSS Methodology, S. Sowe, I. Stamelos, Proc. 2nd International Conference on Open Source Systems (OSS), Springer, pp. 261-266, OSS 2006

An Empirical Approach To Evaluate Students Participation In Open Source Software Projects, S. Sowe, L. Angelis, I. Stamelos, , Proc. IADIS Cognitive and Exploratory Learning in the Digital Age (CELDA), pp. 304-308, CELDA 2006

A Hybrid Approach to Computer Science Education, A. Meiszner, K. Moustaka, I. Stamelos, Proceedings of International Conference on Computer Supported Education, INSTICC Press, pp. 39-46, CSEDU 2009

Students’ Perspectives On Learning Software Engineering With Open Source Projects - Lessons Learnt, P. Papadopoulos, I. Stamelos, A. Meiszner, Proceedings of International Conference on Computer Supported Education, CSEDU 2012

Using Open Source Projects in Higher Education: A Two-Way Certification Framework, P. Papadopoulos, I. Stamelos, A, Cerone, Open Source Certification Workshop (OPENCERT) 2012

Page 69: Teaching Software Engineering with Open Source Projects

Macau, UNU-IIST, 9/5/2013 70

Journal Publication List

Teaching a Software Engineering Course in the Context of Free/Open Source Software Projects: Experiences from a Pilot Study, S. Sowe, I. Stamelos, Journal of Information Systems Education (JISE), EDSIG, 18 (4), pp.425-436, 2007

Teaching Software Engineering with FLOSS Projects, I. Stamelos, Journal of Open Source Software and Processes, IGI Global, International Journal of Open Source Software & Processes, Vol. 1, Issue 1, pp. 72-90, 2009

Enhancing software engineering education through open source projects: Four years of students’ perspectives, Pantelis M. Papadopoulos, Ioannis G. Stamelos, Andreas Meiszner, Education and Information Technologies, Springer, 18 (2) pp. 381-397, 2013

Page 70: Teaching Software Engineering with Open Source Projects

Macau, UNU-IIST, 9/5/2013 71

Book Chapters

● Learning Outcome Recognition in the Context of Open Education: a Case-Study of Students Learning through Open Source Project Participation, I. Stamelos, P. Papadopoulos, in A. Meiszner, Ed. ELIG/ONU Open Education (forthcoming)

● Management and Coordination of Free/Open Source Projects, I. Stamelos, in Future Project Management, C. Wohlin, G. Ruhe, Eds, Springer (forthcoming)