teaching software engineering using foss

35
Didymo Designs ABN 91 109 275 265 P.O.Box 410 North Sydney, NSW 2059 Australia P.O. Box 1122 Wollongong NSW 2500 Australia Ph +61 1300 762 599 Fax +61 2 8002 0071 www.didymodesigns.com.au FOSS in the Teaching of Software Engineering Ashley Maher Ashley Maher Education Mini-Conference LCA Tuesday 19 th January, 2010

Upload: tabitha-roder

Post on 01-Nov-2014

1.371 views

Category:

Technology


0 download

DESCRIPTION

Ashley's presentation from LCA2010 education miniconference, Wellington.

TRANSCRIPT

Page 1: Teaching software engineering using FOSS

Didymo DesignsABN 91 109 275 265 P.O.Box 410North Sydney, NSW 2059 AustraliaP.O. Box 1122WollongongNSW 2500 Australia

Ph +61 1300 762 599Fax +61 2 8002 0071www.didymodesigns.com.au

FOSS in the Teaching of Software Engineering

Ashley Maher

Ashley Maher Education Mini-Conference LCA Tuesday 19th January, 2010

Page 2: Teaching software engineering using FOSS

Didymo DesignsABN 91 109 275 265 P.O.Box 410North Sydney, NSW 2059 AustraliaP.O. Box 1122WollongongNSW 2500 Australia

Ph +61 1300 762 599Fax +61 2 8002 0071www.didymodesigns.com.au

FOSS in the Teaching of Software Engineering

Questions?

When the presentation is only 15 - 20 minutes in length there is very limited time to be properly interactive during the presentation, sorry.

Education Mini-Conference LCA Tuesday 19th January, 2010 Ashley Maher

Page 3: Teaching software engineering using FOSS

Didymo DesignsABN 91 109 275 265 P.O.Box 410North Sydney, NSW 2059 AustraliaP.O. Box 1122WollongongNSW 2500 Australia

Ph +61 1300 762 599Fax +61 2 8002 0071www.didymodesigns.com.au

FOSS in the Teaching of Software Engineering

BackgroundHow did Software Engineering come into being?DefinitionsCourse work – Text BooksWhat is missing?The Group ProjectOut comesMoving forwardQuestions

Education Mini-Conference LCA Tuesday 19th January, 2010 Ashley Maher

Page 4: Teaching software engineering using FOSS

Didymo DesignsABN 91 109 275 265 P.O.Box 410North Sydney, NSW 2059 AustraliaP.O. Box 1122WollongongNSW 2500 Australia

Ph +61 1300 762 599Fax +61 2 8002 0071www.didymodesigns.com.au

FOSS in the Teaching of Software Engineering

I am not an academic

Several of my close friends and colleagues are academics

Education Mini-Conference LCA Tuesday 19th January, 2010 Ashley Maher

Page 5: Teaching software engineering using FOSS

Didymo DesignsABN 91 109 275 265 P.O.Box 410North Sydney, NSW 2059 AustraliaP.O. Box 1122WollongongNSW 2500 Australia

Ph +61 1300 762 599Fax +61 2 8002 0071www.didymodesigns.com.au

FOSS in the Teaching of Software Engineering

A new academic could not take up position until later in the Year, so I was invited from Industry to teach the Spring Session 2009

Software Engineering Subject at the University of Wollongong.

Ashley Maher Education Mini-Conference LCA Tuesday 19th January, 2010

Page 6: Teaching software engineering using FOSS

Didymo DesignsABN 91 109 275 265 P.O.Box 410North Sydney, NSW 2059 AustraliaP.O. Box 1122WollongongNSW 2500 Australia

Ph +61 1300 762 599Fax +61 2 8002 0071www.didymodesigns.com.au

FOSS in the Teaching of Software Engineering

Ashley Maher Education Mini-Conference LCA Tuesday 19th January, 2010

● The field of software engineering was born in 1968 in response to chronic failures of large software projects to meet schedule and budget constraints ● Recognition of "the software crisis"

● Term became popular after NATO Conference in Garmisch Partenkirchen (Germany), 1968

Page 7: Teaching software engineering using FOSS

Didymo DesignsABN 91 109 275 265 P.O.Box 410North Sydney, NSW 2059 AustraliaP.O. Box 1122WollongongNSW 2500 Australia

Ph +61 1300 762 599Fax +61 2 8002 0071www.didymodesigns.com.au

FOSS in the Teaching of Software Engineering

Ashley Maher Education Mini-Conference LCA Tuesday 19th January, 2010

http://war.wikipedia.org/wiki/File:01_khafre_north.jpg

Page 8: Teaching software engineering using FOSS

Didymo DesignsABN 91 109 275 265 P.O.Box 410North Sydney, NSW 2059 AustraliaP.O. Box 1122WollongongNSW 2500 Australia

Ph +61 1300 762 599Fax +61 2 8002 0071www.didymodesigns.com.au

FOSS in the Teaching of Software Engineering

Ashley Maher Education Mini-Conference LCA Tuesday 19th January, 2010

http://en.wikipedia.org/wiki/File:20090529_Great_Wall_8185.jpg

Page 9: Teaching software engineering using FOSS

Didymo DesignsABN 91 109 275 265 P.O.Box 410North Sydney, NSW 2059 AustraliaP.O. Box 1122WollongongNSW 2500 Australia

Ph +61 1300 762 599Fax +61 2 8002 0071www.didymodesigns.com.au

FOSS in the Teaching of Software Engineering

Ashley Maher Education Mini-Conference LCA Tuesday 19th January, 2010

http://commons.wikimedia.org/wiki/File:Tacoma_Narrows_Bridge_destruction.ogg

Page 10: Teaching software engineering using FOSS

Didymo DesignsABN 91 109 275 265 P.O.Box 410North Sydney, NSW 2059 AustraliaP.O. Box 1122WollongongNSW 2500 Australia

Ph +61 1300 762 599Fax +61 2 8002 0071www.didymodesigns.com.au

FOSS in the Teaching of Software Engineering

Ashley Maher Education Mini-Conference LCA Tuesday 19th January, 2010

Let us consider some modern definitions● The IEEE Computer Society defines software

engineering as: "(1) The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software; that is, the application of engineering to software. (2) The study of approaches as in (1).”● "IEEE Standard Glossary of Software Engineering

Terminology," IEEE std 610.12-1990, 1990.

Page 11: Teaching software engineering using FOSS

Didymo DesignsABN 91 109 275 265 P.O.Box 410North Sydney, NSW 2059 AustraliaP.O. Box 1122WollongongNSW 2500 Australia

Ph +61 1300 762 599Fax +61 2 8002 0071www.didymodesigns.com.au

FOSS in the Teaching of Software Engineering

Ashley Maher Education Mini-Conference LCA Tuesday 19th January, 2010

Let us have a quick look at some course outlines and some text books

Page 12: Teaching software engineering using FOSS

Didymo DesignsABN 91 109 275 265 P.O.Box 410North Sydney, NSW 2059 AustraliaP.O. Box 1122WollongongNSW 2500 Australia

Ph +61 1300 762 599Fax +61 2 8002 0071www.didymodesigns.com.au

FOSS in the Teaching of Software Engineering

Ashley Maher Education Mini-Conference LCA Tuesday 19th January, 2010

● Quickly we notice points like:● principles● qualities● processes● requirements elicitation● formal methods● diagrams● Testing● OO [and UML]

Page 13: Teaching software engineering using FOSS

Didymo DesignsABN 91 109 275 265 P.O.Box 410North Sydney, NSW 2059 AustraliaP.O. Box 1122WollongongNSW 2500 Australia

Ph +61 1300 762 599Fax +61 2 8002 0071www.didymodesigns.com.au

FOSS in the Teaching of Software Engineering

Such courses are very good.

Some students have great results and excellent understanding following such courses.

There is however no comment on Programming in the Large.

Ashley Maher Education Mini-Conference LCA Tuesday 19th January, 2010

Page 14: Teaching software engineering using FOSS

Didymo DesignsABN 91 109 275 265 P.O.Box 410North Sydney, NSW 2059 AustraliaP.O. Box 1122WollongongNSW 2500 Australia

Ph +61 1300 762 599Fax +61 2 8002 0071www.didymodesigns.com.au

FOSS in the Teaching of Software Engineering

Ashley Maher Education Mini-Conference LCA Tuesday 19th January, 2010

● Points of understanding:● principles● qualities● processes● requirements elicitation● formal methods● diagrams● Testing● OO [and UML]● communication

Page 15: Teaching software engineering using FOSS

Didymo DesignsABN 91 109 275 265 P.O.Box 410North Sydney, NSW 2059 AustraliaP.O. Box 1122WollongongNSW 2500 Australia

Ph +61 1300 762 599Fax +61 2 8002 0071www.didymodesigns.com.au

FOSS in the Teaching of Software Engineering

Then placing the student in a situation similar environment to those developers in the 1960's gives the learner a far greater insight to what is needed to be understood rather than something more to learn.

I will expand on this.

Ashley Maher Education Mini-Conference LCA Tuesday 19th January, 2010

Page 16: Teaching software engineering using FOSS

Didymo DesignsABN 91 109 275 265 P.O.Box 410North Sydney, NSW 2059 AustraliaP.O. Box 1122WollongongNSW 2500 Australia

Ph +61 1300 762 599Fax +61 2 8002 0071www.didymodesigns.com.au

FOSS in the Teaching of Software Engineering

Software Engineering Practices & PrinciplesCSCI318- MCS9318Spring Session 2009

Group Project Description

Ashley Maher Education Mini-Conference LCA Tuesday 19th January, 2010

Page 17: Teaching software engineering using FOSS

Didymo DesignsABN 91 109 275 265 P.O.Box 410North Sydney, NSW 2059 AustraliaP.O. Box 1122WollongongNSW 2500 Australia

Ph +61 1300 762 599Fax +61 2 8002 0071www.didymodesigns.com.au

FOSS in the Teaching of Software Engineering

Ashley Maher Education Mini-Conference LCA Tuesday 19th January, 2010

● Projects Approved● School web project● Timetable project (Multi-Lingual)● Real Estate Project● YouTube style site● Team Management Project● POS-ERP Project

Page 18: Teaching software engineering using FOSS

Didymo DesignsABN 91 109 275 265 P.O.Box 410North Sydney, NSW 2059 AustraliaP.O. Box 1122WollongongNSW 2500 Australia

Ph +61 1300 762 599Fax +61 2 8002 0071www.didymodesigns.com.au

FOSS in the Teaching of Software Engineering

Ashley Maher Education Mini-Conference LCA Tuesday 19th January, 2010

● FOSS Projects used as basis● Drupal ==> Drupal has installation profiles,

the first 5 projects aim was to create installation profiles to achieve their end goals. So an end user could down load Drupal with their installation profile and have a functioning application quickly

● OpenBravo ==> Is a FOSS ERP-POS their aim was to customise OpenBravo for use in a Furniture Store.

Page 19: Teaching software engineering using FOSS

Didymo DesignsABN 91 109 275 265 P.O.Box 410North Sydney, NSW 2059 AustraliaP.O. Box 1122WollongongNSW 2500 Australia

Ph +61 1300 762 599Fax +61 2 8002 0071www.didymodesigns.com.au

FOSS in the Teaching of Software Engineering

Ashley Maher Education Mini-Conference LCA Tuesday 19th January, 2010

● The project is a Software Engineering Teaching, Learning and Evaluation exercise, it is not a software project per sea.

● This was not about FOSS● Morally wrong to turn the students into FOSS

experts in a Software Engineering Course, the aim of taking such a course is to learn SE.

Page 20: Teaching software engineering using FOSS

Didymo DesignsABN 91 109 275 265 P.O.Box 410North Sydney, NSW 2059 AustraliaP.O. Box 1122WollongongNSW 2500 Australia

Ph +61 1300 762 599Fax +61 2 8002 0071www.didymodesigns.com.au

FOSS in the Teaching of Software Engineering

Ashley Maher Education Mini-Conference LCA Tuesday 19th January, 2010

● Students should feel comfortable to be able to pursue any career path● One students career goal is to work for

Microsoft, this student very much enjoyed the project and felt he had learned a great deal from the exercise.

Page 21: Teaching software engineering using FOSS

Didymo DesignsABN 91 109 275 265 P.O.Box 410North Sydney, NSW 2059 AustraliaP.O. Box 1122WollongongNSW 2500 Australia

Ph +61 1300 762 599Fax +61 2 8002 0071www.didymodesigns.com.au

FOSS in the Teaching of Software Engineering

Lecture DiscussionsRefinement of the Assignment was undertaken in Lectures under direction from the Lecturer or by Student question

Ashley Maher Education Mini-Conference LCA Tuesday 19th January, 2010

Page 22: Teaching software engineering using FOSS

Didymo DesignsABN 91 109 275 265 P.O.Box 410North Sydney, NSW 2059 AustraliaP.O. Box 1122WollongongNSW 2500 Australia

Ph +61 1300 762 599Fax +61 2 8002 0071www.didymodesigns.com.au

FOSS in the Teaching of Software Engineering

Lecture DiscussionsSo if I am claiming the students learned by participating in larger projects, how large?469 contributors to Drupal 7.x core

4940 contributed modules

Ashley Maher Education Mini-Conference LCA Tuesday 19th January, 2010

Page 23: Teaching software engineering using FOSS

Didymo DesignsABN 91 109 275 265 P.O.Box 410North Sydney, NSW 2059 AustraliaP.O. Box 1122WollongongNSW 2500 Australia

Ph +61 1300 762 599Fax +61 2 8002 0071www.didymodesigns.com.au

FOSS in the Teaching of Software Engineering

Lecture DiscussionsOO is mentioned in many SE coursesWe see here:http://drupal.org/node/547518“Drupal programming from an object-oriented perspective”

Modularity – Reuse code

Ashley Maher Education Mini-Conference LCA Tuesday 19th January, 2010

Page 24: Teaching software engineering using FOSS

Didymo DesignsABN 91 109 275 265 P.O.Box 410North Sydney, NSW 2059 AustraliaP.O. Box 1122WollongongNSW 2500 Australia

Ph +61 1300 762 599Fax +61 2 8002 0071www.didymodesigns.com.au

FOSS in the Teaching of Software Engineering

Lecture Discussions●Information hiding●Code Quality

● http://drupal.org/contributors-guide● http://drupal.org/developing/modules● Why have these tools? Why even specify white space?

●Large to Small● Mindset

●point

Ashley Maher Education Mini-Conference LCA Tuesday 19th January, 2010

Page 25: Teaching software engineering using FOSS

Didymo DesignsABN 91 109 275 265 P.O.Box 410North Sydney, NSW 2059 AustraliaP.O. Box 1122WollongongNSW 2500 Australia

Ph +61 1300 762 599Fax +61 2 8002 0071www.didymodesigns.com.au

FOSS in the Teaching of Software Engineering

Results of Student Survey37 students in the course24 attended the final lectureAll those attending the final lecture completed the assessment of the Group Project Assignment.

Ashley Maher Education Mini-Conference LCA Tuesday 19th January, 2010

Page 26: Teaching software engineering using FOSS

Didymo DesignsABN 91 109 275 265 P.O.Box 410North Sydney, NSW 2059 AustraliaP.O. Box 1122WollongongNSW 2500 Australia

Ph +61 1300 762 599Fax +61 2 8002 0071www.didymodesigns.com.au

FOSS in the Teaching of Software Engineering

Results of Student Survey

How well did the project full fill its role of giving students an understanding of programming in the large (Sliding scale out of 5)

Mean: 4.5

Standard Deviation: 0.5

Ashley Maher Education Mini-Conference LCA Tuesday 19th January, 2010

Page 27: Teaching software engineering using FOSS

Didymo DesignsABN 91 109 275 265 P.O.Box 410North Sydney, NSW 2059 AustraliaP.O. Box 1122WollongongNSW 2500 Australia

Ph +61 1300 762 599Fax +61 2 8002 0071www.didymodesigns.com.au

FOSS in the Teaching of Software EngineeringResults of Student Survey

How well did the project full fill its role of giving students skills and experience transferable to the workplace (Sliding scale out of 5)

Mean: 4.28

Standard Deviation: 0.6

Ashley Maher Education Mini-Conference LCA Tuesday 19th January, 2010

Page 28: Teaching software engineering using FOSS

Didymo DesignsABN 91 109 275 265 P.O.Box 410North Sydney, NSW 2059 AustraliaP.O. Box 1122WollongongNSW 2500 Australia

Ph +61 1300 762 599Fax +61 2 8002 0071www.didymodesigns.com.au

FOSS in the Teaching of Software EngineeringResults of Student Survey

Would you run the Project in the same way if you were the lecturer?

22 yes or pretty much1 smaller deliverables1 no

Ashley Maher Education Mini-Conference LCA Tuesday 19th January, 2010

Page 29: Teaching software engineering using FOSS

Didymo DesignsABN 91 109 275 265 P.O.Box 410North Sydney, NSW 2059 AustraliaP.O. Box 1122WollongongNSW 2500 Australia

Ph +61 1300 762 599Fax +61 2 8002 0071www.didymodesigns.com.au

FOSS in the Teaching of Software EngineeringResults of Student Survey

Why to answer of previous question:taught valuable lessonsgreat programming is not allclear to understand SEclear and effective showing students working in groups

Ashley Maher Education Mini-Conference LCA Tuesday 19th January, 2010

Page 30: Teaching software engineering using FOSS

Didymo DesignsABN 91 109 275 265 P.O.Box 410North Sydney, NSW 2059 AustraliaP.O. Box 1122WollongongNSW 2500 Australia

Ph +61 1300 762 599Fax +61 2 8002 0071www.didymodesigns.com.au

FOSS in the Teaching of Software EngineeringResults of Student Survey

good project, good group size gives idea of larger, good open sourceall goodreal world experienceexcellent way to teach SEwell structured met outlinegreat experience in SEthe process of software engineering seamed concisely conveyed

Ashley Maher Education Mini-Conference LCA Tuesday 19th January, 2010

Page 31: Teaching software engineering using FOSS

Didymo DesignsABN 91 109 275 265 P.O.Box 410North Sydney, NSW 2059 AustraliaP.O. Box 1122WollongongNSW 2500 Australia

Ph +61 1300 762 599Fax +61 2 8002 0071www.didymodesigns.com.au

FOSS in the Teaching of Software Engineering

So!

What does this prove?

Ashley Maher Education Mini-Conference LCA Tuesday 19th January, 2010

Page 32: Teaching software engineering using FOSS

Didymo DesignsABN 91 109 275 265 P.O.Box 410North Sydney, NSW 2059 AustraliaP.O. Box 1122WollongongNSW 2500 Australia

Ph +61 1300 762 599Fax +61 2 8002 0071www.didymodesigns.com.au

FOSS in the Teaching of Software Engineering

NOTHING

Ashley Maher Education Mini-Conference LCA Tuesday 19th January, 2010

Page 33: Teaching software engineering using FOSS

Didymo DesignsABN 91 109 275 265 P.O.Box 410North Sydney, NSW 2059 AustraliaP.O. Box 1122WollongongNSW 2500 Australia

Ph +61 1300 762 599Fax +61 2 8002 0071www.didymodesigns.com.au

FOSS in the Teaching of Software Engineering

Concluding RemarksFOSS has a part to play in providing Student Software Engineers a greater understanding

of Software Engineering.OpenBravo has realised this and does this

well:http://wiki.openbravo.com/wiki/Universities

Ashley Maher Education Mini-Conference LCA Tuesday 19th January, 2010

Page 34: Teaching software engineering using FOSS

Didymo DesignsABN 91 109 275 265 P.O.Box 410North Sydney, NSW 2059 AustraliaP.O. Box 1122WollongongNSW 2500 Australia

Ph +61 1300 762 599Fax +61 2 8002 0071www.didymodesigns.com.au

FOSS in the Teaching of Software Engineering

Oh

And

http://drupal.org/project/anytm

Ashley Maher Education Mini-Conference LCA Tuesday 19th January, 2010

Page 35: Teaching software engineering using FOSS

Didymo DesignsABN 91 109 275 265 P.O.Box 410North Sydney, NSW 2059 AustraliaP.O. Box 1122WollongongNSW 2500 Australia

Ph +61 1300 762 599Fax +61 2 8002 0071www.didymodesigns.com.au

FOSS in the Teaching of Software Engineering

Ashley Maher

[email protected]

[email protected]

[email protected]

Ashley Maher Education Mini-Conference LCA Tuesday 19th January, 2010