Your SlideShare is downloading. ×
Teaching Software Engineering with Open Source Projects
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Teaching Software Engineering with Open Source Projects

692
views

Published on

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

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

Published in: Technology

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
692
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
5
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Teaching Software Engineering withOpen Source ProjectsIoannis StamelosAristotle University of ThessalonikiDept of InformaticsSoftware Engineering Grouphttp://sweng.csd.auth.grstamelos@csd.auth.gr
  • 2. Macau, UNU-IIST, 9/5/2013 2Presentation Outline● Introduction● General Idea● The AUTH / OPENSE project● The Social Infirmatory Project● Conclusion and Future work
  • 3. Macau, UNU-IIST, 9/5/2013 3Presentation Outline● Introduction● General Idea● The AUTH / OPENSE project● The Social Infirmatory Project● Conclusion and Future work
  • 4. Macau, UNU-IIST, 9/5/2013 4
  • 5. Macau, UNU-IIST, 9/5/2013 5
  • 6. Macau, UNU-IIST, 9/5/2013 6City of Thessaloniki● Capital of Macedonia region, northern Greece● ~1 M inhabitants, 2ndgreek city, major port of Balkan area● 2300 years of continuous history, joined modern Greece in1912
  • 7. Macau, UNU-IIST, 9/5/2013 7
  • 8. Macau, UNU-IIST, 9/5/2013 8Aristotle University ofThessaloniki● First school (Philosophy) established in 1925● Largest Greek University● 45 departments● > 60.000 students● > 3.000 staff / teacherswww.auth.gr•
  • 9. Macau, UNU-IIST, 9/5/2013 10Five Research Labs● Programming Languages and Software Engineering● Data Technologies and Engineering● Information Processing and Artificial Intelligence● Multimedia (Educational Technologies)● Networks, Communications and Architecture
  • 10. Macau, UNU-IIST, 9/5/2013 11Programming Languages and SoftwareEngineering 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
  • 11. Macau, UNU-IIST, 9/5/2013 12Software Engineering Group (SWENG)● 3 academic staff members:– Associate Professor I. Stamelos (FLOSS,Software Engineering)– Associate Professor L. Angelis (EmpiricalSoftware Engineering)– Assistant Professos P. Katsaros (FormalMethods, Software Quality)● 2 research associates● 14 PhD students● http://sweng.csd.auth.gr
  • 12. Macau, UNU-IIST, 9/5/2013 13SWENG: 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)
  • 13. Macau, UNU-IIST, 9/5/2013 14SWENG: 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)
  • 14. Macau, UNU-IIST, 9/5/2013 15SWENG: 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 andjournals
  • 15. Macau, UNU-IIST, 9/5/2013 16Presentation Outline● Introduction● General Idea● The OPENSE project● The Social Infirmary Project● Conclusion and Future work
  • 16. Macau, UNU-IIST, 9/5/2013 17One Major SoftwareEngineering EducationProblem● One of the major problems in software engineeringeducation is the involvement of students in real worldsoftware projects● Typical projects given to SE students:– “Toy” applications: not real projects– Funded research projects: too few, not always realprojects– Industry projects: too few, problems with studentfamiliarization, integration in enterprise environment
  • 17. Macau, UNU-IIST, 9/5/2013 18ACM Requirements for SECurricula● Need to comply with specific ACM requirements– Source: ACM Computing Curricula 2005: The Overview Report● Identification and acquisition of skill sets that go beyond technicalskills● Such skill sets include interpersonal communication skills, teamskills, and management skills● Exposure to an appropriate range of applications and case studiesthat connect theory and skills learned in academia to real-worldoccurrences to explicate their relevance and utility.
  • 18. Macau, UNU-IIST, 9/5/2013 19ACM Requirements for SECurricula, cont.● Attention to professional, legal, and ethical issues so thatstudents acquire, develop, and demonstrate attitudes andpriorities that honor, protect, and enhance the profession’sethical stature and standing.● Demonstration that each student has integrated the variouselements of the undergraduate experience by undertaking,completing, and presenting a capstone project
  • 19. Macau, UNU-IIST, 9/5/2013 20The 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 sourcecounterparts● However, ~80% are dead projects, care is needed...
  • 20. Macau, UNU-IIST, 9/5/2013 21Open Source offers thesolution to the problem● The abundance of Open Source projects provide asolution, offering multilingual,multi-culturalenvironments in every application domain, atdifferent levels of size, maturity, organization etc.● FLOSSPOLS survey: 35-47% of respondentsclaimed that “by being members of an OpenSource project, they acquired basic/introductoryprogramming, managing complex softwaresystems, testing etc skills in a period of two years”
  • 21. Macau, UNU-IIST, 9/5/2013 22Degree of educationalopportunities● Software engineering knowledge areas according toSWEBOK and degree of educational opportunities inFLOSS on a 1 to 5 scale per Area of SE Education(source: SWEBOK, Guide to the Software EngineeringBody 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
  • 22. Macau, UNU-IIST, 9/5/2013 23Degree of educational opportunities,cont.● Software requirements XXX● Software design XXX● Software construction XXX● Software testing XXXX● Software maintenance XXX
  • 23. Macau, UNU-IIST, 9/5/2013 24Justificaton of Degrees● Software ConfigurationManagement (XXX)– Omnipresent in OSS (CVS, SVN,GIT tools etc) – frequent releasing– However, it concerns only code andtests, little care for documentationconfiguration management
  • 24. Macau, UNU-IIST, 9/5/2013 25Justificaton of Degrees, 2● Software Engineering (Project)Management (XX)– PM in OSS is totally different in terms ofhuman resource management (no hiring, focuson participant retainment), costing (no budget),planning and scheduling (only occasional,quite loose schedules), etc.
  • 25. Macau, UNU-IIST, 9/5/2013 26Justificaton of Degrees, 3● Software Engineering Process– OSS is a sui generis process, not awaterfall, not a spiral model– In addition, forking or communityshifts makes the OSS process hard topredict
  • 26. Macau, UNU-IIST, 9/5/2013 27Justificaton of Degrees, 4● Software Engineering Tools and Methods (XXX)- Several coding and testing techniques are applied in OSS. However, not allprojects 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 ofstandards for comits, community quality
  • 27. Macau, UNU-IIST, 9/5/2013 28Justificaton of Degrees, 5● Software requirements (XXX)– rarely found in OSS– This may be seen as an opportunity for students toengage in OSS● Software Design– No prior design activities– However, design issues are often discussed in OSS andbest designs are chosen for inclusion in the codebase
  • 28. Macau, UNU-IIST, 9/5/2013 29Justificaton 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 areshallow”, E. Raymond● Software maintenance (XXX)–OSS projects evolve continuously, good opportunity for students tosee how software evolves in practice–Evolution is sometimes chaotic
  • 29. Macau, UNU-IIST, 9/5/2013 30Generic Conclusion● You cant teach everything in softwareengineering by looking only at OSS projects● But you can teach a lot– so lets proceed by looking at how students maybe engaged in OSS projects to learn specific SEareas and acquire specific skills
  • 30. Macau, UNU-IIST, 9/5/2013 31Presentation Outline● Introduction● General Idea● The AUTH / OPENSE project● The Social Infirmatory Project● Conclusion and Future work
  • 31. Macau, UNU-IIST, 9/5/2013 32AUTH Pilot Courses● 2008 EU/FLOSSCom project: investigatedlearning in FLOSS communities and FLOSSas a learning environment● 2007 / 2008 AUTH pilot courses withstudents volunteering to participate in OSSprojects as part of their course
  • 32. Macau, UNU-IIST, 9/5/2013 33The ISE/OOA Courses● Introduction to Software Engineering– 5th Semester, mandatory course– Basic SE concepts, software paradigms, life cycle modelsand development phases, testing● Object Oriented Analysis– 6th Semester, mandatory course for the Information Systemsstream– Object orientation, UML, RUP/ICONIX, analysis & design,components
  • 33. Macau, UNU-IIST, 9/5/2013 34Software Engineering: an ill-structured domain● Excluding formal methods, softwareengineering is largely based on informaltechniques, experiences, empiricalevidence● From an educational point of view, to alarge extent, it is an ill-structureddomain
  • 34. Macau, UNU-IIST, 9/5/2013 35Two ways to cope with ill-structureddomains● Project-based learning– Students become responsible for theiractivity, use several information sources,resolve a practical problem● Collaborative learning– Focuses on social learning aspects, learningoccurs through interactions
  • 35. Macau, UNU-IIST, 9/5/2013 36Approach● Students have to undertake an assignment(project-based learning), after receivingintroduction to theoretical concepts– They need to participate in an OSS project of theirchoice, taking one out of several possible roles,potentially interacting with peer students(collaborative learning)
  • 36. Macau, UNU-IIST, 9/5/2013 37Four student roles● ISE– Requirements Engineer– Tester– Coder● OOA– Analyst/Designer
  • 37. Macau, UNU-IIST, 9/5/2013 38Student 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 aquestionnaire on their assignment
  • 38. Macau, UNU-IIST, 9/5/2013 39Student Grading● Students are graded based on– Their presentation– Their learning project– The quality of their deliverables– Timeliness, Interaction with thecommunity (~40%)
  • 39. Macau, UNU-IIST, 9/5/2013 40Several Years of SystematicApplication08/09 09/10 10/11 11/12 TotalReq.Engineers19 16 117 63 215Testers 12 27 50 23 112Developers 0 7 20 5 32Designers/Analystsn.a. n.a. 26 23 49Total 31 50 213 114 408
  • 40. Macau, UNU-IIST, 9/5/2013 41Students Perspective● Students:– Have a very positive attitude towards the method (92%)– Found project selection a hard task (35%, had to visit 6 projectson 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
  • 41. Macau, UNU-IIST, 9/5/2013 42The EU/OPENSE Project● Start: October 2009● Duration: 25 month● Supported by: LifelongLearningProgramme, EuropeanCommission● 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
  • 42. Macau, UNU-IIST, 9/5/2013 43Project lead partners● Conceptual Framework, Methodology & Structure: AndreasMeiszner, UNU-MERIT – The Netherlands / SPI - Portugal● Pilot Lead: Ioannis Stamelos, Aristotle University ofThessaloniki – Greece● Content Framework Lead: Wouter Tebbens, Free TechnologyAcademy – The Netherlands● Learner Support Framework Lead: Ross Gardler, Universityof Oxford / OSSWatch, Research Technology Service (RTS),Oxford University Computing Services – UK
  • 43. Macau, UNU-IIST, 9/5/2013 44Project lead partners, cont.● Technical Framework Lead: Jesus M. Gonzalez-Barahona,Universidade Rey Juan Carlos, Departamento de SistemasTelemáticos y Computación – Spain● Evaluation Lead: Ruediger Glott, UNU-MERIT – The Netherlands● Project Co-ordination: Jose Carvalho, Sociedade Portuguesa deInovação – Portugal
  • 44. Macau, UNU-IIST, 9/5/2013 45Special 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 ofEducational Technology (IET) – UK● Olivier Ricou, EPITA, Ecole pour lInformatique et lesTechniques Avancées – France
  • 45. Macau, UNU-IIST, 9/5/2013 46OPENSE Activities● AUTH courses● TUT (FI) implemented a course based on a“community game”● Other academic partners provided open-sourcerelated courses● Produced the OPENSE framework● Www.opense.net●
  • 46. Macau, UNU-IIST, 9/5/2013 47
  • 47. Macau, UNU-IIST, 9/5/2013 48Learning 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 studentapproached the community, level of cooperation with community,difficulties encountered, ...)– Comitted (and uncomitted) deliverables– Useful resources used throughout the project– Personal remarks / comments
  • 48. Macau, UNU-IIST, 9/5/2013 49Past Learning Projects provide helpfor 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– ...
  • 49. Macau, UNU-IIST, 9/5/2013 50Learning Projects: Issues● Hundreds of learning projects● Not all of them of good quality● Tacit knowledge, not easy to manage
  • 50. Macau, UNU-IIST, 9/5/2013 51New Student Roles: ReverseEngineer● Goal: to reverse engineer the OSSproject– Produce one or more detailed classdiagrams– Produce sequence diagrams– Produce project documentation
  • 51. Macau, UNU-IIST, 9/5/2013 52New Student Roles: CommunityAnalyst● Goal: to provide an analysis of the OSScommunity– 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)
  • 52. Macau, UNU-IIST, 9/5/2013 53New Student Roles:Qualifier/Certifier● Goal: to identify quality problems (if any) in OSScode/design– Produce code/design measurements– Compare with quality thresholds (e.g. Number ofstatements per class method)– Further locate problematic areas (e.g. through “codesmell” detection)– Produce a comprehensive quality report
  • 53. Macau, UNU-IIST, 9/5/2013 54New Student Roles:Reuser/Component Maker● Goal: to produce reusable components out ofthe OSS project code (using OPENSMEtechnology, see opensme.eu)– Analyse project code for candidate components– Produce reusable components– Componentize the code (replace old code withthe components produced)
  • 54. Macau, UNU-IIST, 9/5/2013 55Presentation Outline● Introduction● General Idea● The AUTH / OPENSE project● The Social Infirmatory Project● Conclusion and Future work
  • 55. Macau, UNU-IIST, 9/5/2013 56A mixture of Open Sourceeducation and participationin social actions● Greece is in a deep financial crisis that hasproduced severe social problems– Official unemployment is ~27%, extremely high foryoung people and women– 25% of Greek citizens have no health insurance
  • 56. Macau, UNU-IIST, 9/5/2013 57A mixture of Open Sourceeducation and participationin social actions● Greece is in a deep financial crisis that hasproduced severe social problems– Official unemployment is ~27%, extremely high foryoung people and women– 25% of Greek citizens have no health insurance
  • 57. Macau, UNU-IIST, 9/5/2013 58Social Infirmaries● 15-20 Social Infirmaries have been established based onvolunteers–Physicians–Pharmacists–Dispensary Managers–Plain citizens● Thessaloniki Social Infirmary is particularly active● http://koinwniko-iatreio.gr/ (unfortunately in greek)
  • 58. Macau, UNU-IIST, 9/5/2013 59Powered by Greeklug/OPENEMR● IT support by the Greek Linux Users Group● http://www.greeklug.gr/index.php?lang=en● Greeklug volunteers have installed OPENEMR tosupport S.I. Activities● OPENEMR is an Open Electronic MedicalRecords application, based on LAMP (Linux,Apache Web Server, MySql, PhP)● http://www.open-emr.org/
  • 59. Macau, UNU-IIST, 9/5/2013 60OPENEMR PharmacyDispensary 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 hasfocused on other aspects, such as patient records● Social Infirmatories have both typical and non typicalrequirements
  • 60. Macau, UNU-IIST, 9/5/2013 61Typical S.I. Requirements● Basic Drug data base managementoperations– Official drugs list handling (some 6000drugs may be officially used inGreece)– Handling active ingredients– Out-of-stock control
  • 61. Macau, UNU-IIST, 9/5/2013 62Non Typical S.I. Requirements● Display expired drug boxes (oftendonated drugs are close to expire)● Display near expiration drug boxes● Handle multiple donations
  • 62. Macau, UNU-IIST, 9/5/2013 63Use Case Model for S.I. PharmacyDispensary
  • 63. Macau, UNU-IIST, 9/5/2013 64Next 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.saround the world may use it
  • 64. Macau, UNU-IIST, 9/5/2013 65Presentation Outline● Introduction● General Idea● The AUTH / OPENSE project● The Social Infirmatory Project● Conclusion and Future work
  • 65. Macau, UNU-IIST, 9/5/2013 66Conclusion● Blending Open Source projects and formal highereducation has a lot of benefits– Including real world experience and peer learning● Several practical problems are present– need to implement the approach with care andmonitor for recurring issues● Several opportunities are available– mixing open source + education + localsocial/market needs may boost the approach
  • 66. Macau, UNU-IIST, 9/5/2013 67Future Work: ImproveEducation 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 tochoose projects, handle community issues, produceuseful results: text mining, opinion mining, sentimentmining–Study student anti-patterns, package successful andunsuccessful past cases (case-based learning)
  • 67. Macau, UNU-IIST, 9/5/2013 68Future Work: ExtendApplication● Get the approach adopted by more Universities– Combine forces!● Extend student roles– Including open source certification / qualification, reverseengineering, community analysis, component reuse● Guide students to provide solutions to local social / marketneeds– Cope with the difficulty to find a suitable project– Make their open source experience a career start!
  • 68. Macau, UNU-IIST, 9/5/2013 69Conference Publication ListA 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 2006An Empirical Approach To Evaluate Students Participation In Open Source SoftwareProjects, S. Sowe, L. Angelis, I. Stamelos, , Proc. IADIS Cognitive and Exploratory Learningin the Digital Age (CELDA), pp. 304-308, CELDA 2006A 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 2009Students’ Perspectives On Learning Software Engineering With Open Source Projects -Lessons Learnt, P. Papadopoulos, I. Stamelos, A. Meiszner, Proceedings of InternationalConference on Computer Supported Education, CSEDU 2012Using Open Source Projects in Higher Education: A Two-Way Certification Framework, P.Papadopoulos, I. Stamelos, A, Cerone, Open Source Certification Workshop (OPENCERT) 2012
  • 69. Macau, UNU-IIST, 9/5/2013 70Journal Publication ListTeaching a Software Engineering Course in the Context of Free/Open Source SoftwareProjects: Experiences from a Pilot Study, S. Sowe, I. Stamelos, Journal of InformationSystems Education (JISE), EDSIG, 18 (4), pp.425-436, 2007Teaching Software Engineering with FLOSS Projects, I. Stamelos, Journal of Open SourceSoftware and Processes, IGI Global, International Journal of Open Source Software &Processes, Vol. 1, Issue 1, pp. 72-90, 2009Enhancing software engineering education through open source projects: Four years ofstudents’ perspectives, Pantelis M. Papadopoulos, Ioannis G. Stamelos, Andreas Meiszner,Education and Information Technologies, Springer, 18 (2) pp. 381-397, 2013
  • 70. Macau, UNU-IIST, 9/5/2013 71Book Chapters● Learning Outcome Recognition in the Context of OpenEducation: a Case-Study of Students Learning through OpenSource 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)