SlideShare a Scribd company logo
Open Source and GitHub for Teaching
with Software Development Projects
FOSS4G-Europe, Bremen, July 2014
Daniel Nüst (52°North GmbH), Thomas Bartoschek (Institute for
Geinformatics, Münster)
Teaching Software Development w/ GitHub @ FOSS4G-E, Bremen, 2014 2
Why use Open Source?
Save money
Teaching Software Development w/ GitHub @ FOSS4G-E, Bremen, 2014 3
Why do Open Source?
Save money
Be effective
“Egoistic collaboration” is the present and
future of software development (Google,
Amazon, Yahoo, Microsoft, …)
Teaching Software Development w/ GitHub @ FOSS4G-E, Bremen, 2014 4
Open Source Development in Seminars
All real world software developers use open
source.
Reasons for software projects in education:
Students must learn about licenses (code,
data, documentation)
Business models!
Social & collaborative software development
Students learn project mgmt/lifecycle
Teaching Software Development w/ GitHub @ FOSS4G-E, Bremen, 2014 5
Why bother?
The ultimate goal is to increase the quality
of software development in project
seminars so that geospatial open source
software can benefit from (a) direct
contributions, and (b) programmers that
are acquainted with the “open source way”.
Teaching Software Development w/ GitHub @ FOSS4G-E, Bremen, 2014 6
Scrum
agile software development method –
acknowledges reality
• roles: product owner, scrum master, team
member
• sprints & stand-ups, review meetings
• backlogs
Teaching Software Development w/ GitHub @ FOSS4G-E, Bremen, 2014 7
BASICS ON GIT AND GITHUB
Teaching Software Development w/ GitHub @ FOSS4G-E, Bremen, 2014 8
Git
Development is collaboration, and source code
management is the at the core, but should not
get in the way.
THE SCM of today.
≠
Teaching Software Development w/ GitHub @ FOSS4G-E, Bremen, 2014 9
GitHub Platform
Free (10 Million repositories end of 2013, http://en.wikipedia.org/wiki/Github)
Organisation accounts
Provide material
Students can fork assignments, don’t start from
scratch
Hosting included (e.g. http://geosoft2.github.io/)
Issue tracker
Teaching Software Development w/ GitHub @ FOSS4G-E, Bremen, 2014 10
GitHub for Education
https://education.github.com/
Stop emailing code, never loose your work, stay organized, build a portfolio
Teaching Software Development w/ GitHub @ FOSS4G-E, Bremen, 2014 11
GitHub for Education (cont.)
Teach more effectively
Private repos, teams, ….
distribute starter code, give students feedback,
provide automated tests, collect assignments
Teaching Software Development w/ GitHub @ FOSS4G-E, Bremen, 2014 12
HOW DO WE DO IT?
Teaching Software Development w/ GitHub @ FOSS4G-E, Bremen, 2014 13
GitHub Collaboration Model
http://video.esri.com/watch/3223/social-coding-and-the-
future-of-open-source
Fork & Pull
Pull requests
– Discussion
– Transparency
https://help.github.com/articles/using-pull-requests
Teaching Software Development w/ GitHub @ FOSS4G-E, Bremen, 2014 14
Fork & Pull
Teaching Software Development w/ GitHub @ FOSS4G-E, Bremen, 2014 15
Teaching Software Development w/ GitHub @ FOSS4G-E, Bremen, 2014 16
Grading with GitHub
Challenge: grading group work is hard.
• GitHub allows transparency
• Distinguish numbers (lines changed) from
content
• Students estimate their contributions well
(questionnaire)
• Some quantification possible (# pull requests
created, merged, issues opened/closed), use
to facilitate engagement (not to grade)
Teaching Software Development w/ GitHub @ FOSS4G-E, Bremen, 2014 17
Grading with GitHub (cont.)
Challenge: Different kind of work done by
students.
• Git for collaborative
writing
(docs,
reports, …)
• Value doc.
writing in the
same way
https://github.com/Geosoft2/geosoft2-2014-fundamentals
Teaching Software Development w/ GitHub @ FOSS4G-E, Bremen, 2014 18
Experiences
Students…
… hesitate to establish hierarchies or take over
responsibility > Scrum.
… are careful about not being exposed
publicly.
… are challenged by communication
requirements of collaborative software
development.
… have to be continuously motivated to adopt
an open innovation and development process.
Teaching Software Development w/ GitHub @ FOSS4G-E, Bremen, 2014 19
Experiences (cont.)
… hesitate to publish code. Force them.
… do learn the sense of documentation.
Teachers…
… must stay in touch with new developments
and the business world.
… must be ready to interact.
Teaching Software Development w/ GitHub @ FOSS4G-E, Bremen, 2014 20
Experiences (cont.)
Adjust Scrum…
… using 2 Week long sprints.
… allowing virtual stand-ups, plus weekly with
whole seminar.
… flex up scrum Masters: teachers, another
group’s member.
Teaching Software Development w/ GitHub @ FOSS4G-E, Bremen, 2014 21
Experiences (cont.)
https://github.com/enviroCar/ & https://envirocar.org
Prototype developed in project seminar – new OS project for tracking cars
Teaching Software Development w/ GitHub @ FOSS4G-E, Bremen, 2014 22
How is this relevant for FOSS4G?
Need contributors > get them early!
Students developing as open source are more
likely to use and contribute.
Need capable developers > students,
internships, better devs in the long run, …
Need features > get them done!
Teaching Software Development w/ GitHub @ FOSS4G-E, Bremen, 2014 23
Next, and Goals
Collaborate with you
Share experiences > “open innovation” for
teaching
Guidelines for Teaching Open Software
Development in Projects

More Related Content

Similar to Open Source and GitHub for Teaching with Software Development Projects

Spread GHOP: Google Highly Open Participation Contest
Spread GHOP: Google Highly Open Participation ContestSpread GHOP: Google Highly Open Participation Contest
Spread GHOP: Google Highly Open Participation Contest
AmyStephen
 
Collaboracionglobal
CollaboracionglobalCollaboracionglobal
Collaboracionglobal
Boris Berlijn
 
Dive into the World of Coding with a Live Python Course
Dive into the World of Coding with a Live Python CourseDive into the World of Coding with a Live Python Course
Dive into the World of Coding with a Live Python Course
edSlash
 
FLOSS Case Studies
FLOSS Case StudiesFLOSS Case Studies
FLOSS Case Studies
Dr. Sulayman K. Sowe
 
Flutter festival ppt
Flutter festival ppt Flutter festival ppt
Flutter festival ppt
TusharSharma218876
 
Github job support.pptx
Github job support.pptxGithub job support.pptx
Github job support.pptx
GSAIdigitalmarketing
 
Hacktoberfest 2020 - Open source for beginners
Hacktoberfest 2020 - Open source for beginnersHacktoberfest 2020 - Open source for beginners
Hacktoberfest 2020 - Open source for beginners
DeepikaRana30
 
FTA towards-master-programme-free-software - fossa2010
FTA towards-master-programme-free-software - fossa2010FTA towards-master-programme-free-software - fossa2010
FTA towards-master-programme-free-software - fossa2010
fOSSa - Free Open Source Software Academia Conference
 
OpenNTF Webinar 05/07/13: OpenNTF - The IBM Collaboration Solutions App Dev C...
OpenNTF Webinar 05/07/13: OpenNTF - The IBM Collaboration Solutions App Dev C...OpenNTF Webinar 05/07/13: OpenNTF - The IBM Collaboration Solutions App Dev C...
OpenNTF Webinar 05/07/13: OpenNTF - The IBM Collaboration Solutions App Dev C...
Niklas Heidloff
 
Androids
AndroidsAndroids
Androids
buankryzz
 
Onboarding in Open Source Software Projects: A Preliminary Analysis
Onboarding in Open Source Software Projects: A Preliminary AnalysisOnboarding in Open Source Software Projects: A Preliminary Analysis
Onboarding in Open Source Software Projects: A Preliminary Analysis
Jürgen Münch
 
Aniruddha Chakravarty resume
Aniruddha Chakravarty resumeAniruddha Chakravarty resume
Aniruddha Chakravarty resume
Aniruddha Prabhash Chakravarty
 
A Semantic-rich Framework for Learning Software Patterns
A Semantic-rich Framework for Learning Software PatternsA Semantic-rich Framework for Learning Software Patterns
A Semantic-rich Framework for Learning Software Patterns
Zoran Jeremic
 
Introductory session flutter festival
Introductory session   flutter festivalIntroductory session   flutter festival
Introductory session flutter festival
ApoorveGoyal2
 
32 ways to use google apps in the classroom
32 ways to use google apps in the classroom32 ways to use google apps in the classroom
32 ways to use google apps in the classroomdwest001
 
python online training.docx
python online training.docxpython online training.docx
python online training.docx
don400096
 
32 ways to_use_google_apps_in_the_classroom
32 ways to_use_google_apps_in_the_classroom32 ways to_use_google_apps_in_the_classroom
32 ways to_use_google_apps_in_the_classroom
Roberto Joseph Galvan
 
Development of a Modular Unit of a Higher Level Framework or Tool for Basic P...
Development of a Modular Unit of a Higher Level Framework or Tool for Basic P...Development of a Modular Unit of a Higher Level Framework or Tool for Basic P...
Development of a Modular Unit of a Higher Level Framework or Tool for Basic P...
TELKOMNIKA JOURNAL
 

Similar to Open Source and GitHub for Teaching with Software Development Projects (20)

Spread GHOP: Google Highly Open Participation Contest
Spread GHOP: Google Highly Open Participation ContestSpread GHOP: Google Highly Open Participation Contest
Spread GHOP: Google Highly Open Participation Contest
 
Collaboracionglobal
CollaboracionglobalCollaboracionglobal
Collaboracionglobal
 
Dive into the World of Coding with a Live Python Course
Dive into the World of Coding with a Live Python CourseDive into the World of Coding with a Live Python Course
Dive into the World of Coding with a Live Python Course
 
FLOSS Case Studies
FLOSS Case StudiesFLOSS Case Studies
FLOSS Case Studies
 
Flutter festival ppt
Flutter festival ppt Flutter festival ppt
Flutter festival ppt
 
Github job support.pptx
Github job support.pptxGithub job support.pptx
Github job support.pptx
 
Hacktoberfest 2020 - Open source for beginners
Hacktoberfest 2020 - Open source for beginnersHacktoberfest 2020 - Open source for beginners
Hacktoberfest 2020 - Open source for beginners
 
FTA towards-master-programme-free-software - fossa2010
FTA towards-master-programme-free-software - fossa2010FTA towards-master-programme-free-software - fossa2010
FTA towards-master-programme-free-software - fossa2010
 
OpenNTF Webinar 05/07/13: OpenNTF - The IBM Collaboration Solutions App Dev C...
OpenNTF Webinar 05/07/13: OpenNTF - The IBM Collaboration Solutions App Dev C...OpenNTF Webinar 05/07/13: OpenNTF - The IBM Collaboration Solutions App Dev C...
OpenNTF Webinar 05/07/13: OpenNTF - The IBM Collaboration Solutions App Dev C...
 
Resume
ResumeResume
Resume
 
Androids
AndroidsAndroids
Androids
 
Onboarding in Open Source Software Projects: A Preliminary Analysis
Onboarding in Open Source Software Projects: A Preliminary AnalysisOnboarding in Open Source Software Projects: A Preliminary Analysis
Onboarding in Open Source Software Projects: A Preliminary Analysis
 
Aniruddha Chakravarty resume
Aniruddha Chakravarty resumeAniruddha Chakravarty resume
Aniruddha Chakravarty resume
 
A Semantic-rich Framework for Learning Software Patterns
A Semantic-rich Framework for Learning Software PatternsA Semantic-rich Framework for Learning Software Patterns
A Semantic-rich Framework for Learning Software Patterns
 
Teaching with MATLAB
Teaching with MATLABTeaching with MATLAB
Teaching with MATLAB
 
Introductory session flutter festival
Introductory session   flutter festivalIntroductory session   flutter festival
Introductory session flutter festival
 
32 ways to use google apps in the classroom
32 ways to use google apps in the classroom32 ways to use google apps in the classroom
32 ways to use google apps in the classroom
 
python online training.docx
python online training.docxpython online training.docx
python online training.docx
 
32 ways to_use_google_apps_in_the_classroom
32 ways to_use_google_apps_in_the_classroom32 ways to_use_google_apps_in_the_classroom
32 ways to_use_google_apps_in_the_classroom
 
Development of a Modular Unit of a Higher Level Framework or Tool for Basic P...
Development of a Modular Unit of a Higher Level Framework or Tool for Basic P...Development of a Modular Unit of a Higher Level Framework or Tool for Basic P...
Development of a Modular Unit of a Higher Level Framework or Tool for Basic P...
 

More from Daniel Nüst

RR & Docker @ MuensteR Meetup (Sep 2017)
RR & Docker @ MuensteR Meetup (Sep 2017)RR & Docker @ MuensteR Meetup (Sep 2017)
RR & Docker @ MuensteR Meetup (Sep 2017)
Daniel Nüst
 
containerit at useR!2017 conference, Brussels
containerit at useR!2017 conference, Brusselscontainerit at useR!2017 conference, Brussels
containerit at useR!2017 conference, Brussels
Daniel Nüst
 
Docker @ Data Science Meetup
Docker @ Data Science MeetupDocker @ Data Science Meetup
Docker @ Data Science Meetup
Daniel Nüst
 
Containers for sensor web services, applications and research @ Sensor Web Co...
Containers for sensor web services, applications and research @ Sensor Web Co...Containers for sensor web services, applications and research @ Sensor Web Co...
Containers for sensor web services, applications and research @ Sensor Web Co...
Daniel Nüst
 
Docker @ FOSS4G 2016, Bonn
Docker @ FOSS4G 2016, BonnDocker @ FOSS4G 2016, Bonn
Docker @ FOSS4G 2016, Bonn
Daniel Nüst
 
Atlas Zukünfte
Atlas ZukünfteAtlas Zukünfte
Atlas Zukünfte
Daniel Nüst
 
Frameworks for geoprocessing on the web with R
Frameworks for geoprocessing on the web with RFrameworks for geoprocessing on the web with R
Frameworks for geoprocessing on the web with R
Daniel Nüst
 
Agile 2015 a-geo-label-for-the-sensor-web
Agile 2015 a-geo-label-for-the-sensor-webAgile 2015 a-geo-label-for-the-sensor-web
Agile 2015 a-geo-label-for-the-sensor-web
Daniel Nüst
 
Visualising Interpolations of Mobile Sensor Observations
Visualising Interpolations of Mobile Sensor ObservationsVisualising Interpolations of Mobile Sensor Observations
Visualising Interpolations of Mobile Sensor Observations
Daniel Nüst
 
WPS Application Patterns
WPS Application PatternsWPS Application Patterns
WPS Application Patterns
Daniel Nüst
 
JavaScript Client Libraries for the (Former) Long Tail of OGC Standards
JavaScript Client Libraries for the (Former) Long Tail of OGC StandardsJavaScript Client Libraries for the (Former) Long Tail of OGC Standards
JavaScript Client Libraries for the (Former) Long Tail of OGC Standards
Daniel Nüst
 
5 Star Open Geoprocessing
5 Star Open Geoprocessing5 Star Open Geoprocessing
5 Star Open Geoprocessing
Daniel Nüst
 
The 52°North Web Processing Service
The 52°North Web Processing ServiceThe 52°North Web Processing Service
The 52°North Web Processing Service
Daniel Nüst
 
Linked data and rdf
Linked  data and rdfLinked  data and rdf
Linked data and rdfDaniel Nüst
 
OGC SOS for Your Data
OGC SOS for Your DataOGC SOS for Your Data
OGC SOS for Your Data
Daniel Nüst
 
sos4R - Accessing SensorWeb Data from R
sos4R - Accessing SensorWeb Data from Rsos4R - Accessing SensorWeb Data from R
sos4R - Accessing SensorWeb Data from R
Daniel Nüst
 
Connecting R to the Sensor Web
Connecting R to the Sensor WebConnecting R to the Sensor Web
Connecting R to the Sensor Web
Daniel Nüst
 
sos4R @ OGC TC
sos4R @ OGC TCsos4R @ OGC TC
sos4R @ OGC TC
Daniel Nüst
 
sos4R - 52° North Innovation Price Presentation
sos4R - 52° North Innovation Price Presentationsos4R - 52° North Innovation Price Presentation
sos4R - 52° North Innovation Price Presentation
Daniel Nüst
 
Visualizing the Availability of Temporally Structured Sensor Data
Visualizing the Availability of Temporally Structured Sensor DataVisualizing the Availability of Temporally Structured Sensor Data
Visualizing the Availability of Temporally Structured Sensor Data
Daniel Nüst
 

More from Daniel Nüst (20)

RR & Docker @ MuensteR Meetup (Sep 2017)
RR & Docker @ MuensteR Meetup (Sep 2017)RR & Docker @ MuensteR Meetup (Sep 2017)
RR & Docker @ MuensteR Meetup (Sep 2017)
 
containerit at useR!2017 conference, Brussels
containerit at useR!2017 conference, Brusselscontainerit at useR!2017 conference, Brussels
containerit at useR!2017 conference, Brussels
 
Docker @ Data Science Meetup
Docker @ Data Science MeetupDocker @ Data Science Meetup
Docker @ Data Science Meetup
 
Containers for sensor web services, applications and research @ Sensor Web Co...
Containers for sensor web services, applications and research @ Sensor Web Co...Containers for sensor web services, applications and research @ Sensor Web Co...
Containers for sensor web services, applications and research @ Sensor Web Co...
 
Docker @ FOSS4G 2016, Bonn
Docker @ FOSS4G 2016, BonnDocker @ FOSS4G 2016, Bonn
Docker @ FOSS4G 2016, Bonn
 
Atlas Zukünfte
Atlas ZukünfteAtlas Zukünfte
Atlas Zukünfte
 
Frameworks for geoprocessing on the web with R
Frameworks for geoprocessing on the web with RFrameworks for geoprocessing on the web with R
Frameworks for geoprocessing on the web with R
 
Agile 2015 a-geo-label-for-the-sensor-web
Agile 2015 a-geo-label-for-the-sensor-webAgile 2015 a-geo-label-for-the-sensor-web
Agile 2015 a-geo-label-for-the-sensor-web
 
Visualising Interpolations of Mobile Sensor Observations
Visualising Interpolations of Mobile Sensor ObservationsVisualising Interpolations of Mobile Sensor Observations
Visualising Interpolations of Mobile Sensor Observations
 
WPS Application Patterns
WPS Application PatternsWPS Application Patterns
WPS Application Patterns
 
JavaScript Client Libraries for the (Former) Long Tail of OGC Standards
JavaScript Client Libraries for the (Former) Long Tail of OGC StandardsJavaScript Client Libraries for the (Former) Long Tail of OGC Standards
JavaScript Client Libraries for the (Former) Long Tail of OGC Standards
 
5 Star Open Geoprocessing
5 Star Open Geoprocessing5 Star Open Geoprocessing
5 Star Open Geoprocessing
 
The 52°North Web Processing Service
The 52°North Web Processing ServiceThe 52°North Web Processing Service
The 52°North Web Processing Service
 
Linked data and rdf
Linked  data and rdfLinked  data and rdf
Linked data and rdf
 
OGC SOS for Your Data
OGC SOS for Your DataOGC SOS for Your Data
OGC SOS for Your Data
 
sos4R - Accessing SensorWeb Data from R
sos4R - Accessing SensorWeb Data from Rsos4R - Accessing SensorWeb Data from R
sos4R - Accessing SensorWeb Data from R
 
Connecting R to the Sensor Web
Connecting R to the Sensor WebConnecting R to the Sensor Web
Connecting R to the Sensor Web
 
sos4R @ OGC TC
sos4R @ OGC TCsos4R @ OGC TC
sos4R @ OGC TC
 
sos4R - 52° North Innovation Price Presentation
sos4R - 52° North Innovation Price Presentationsos4R - 52° North Innovation Price Presentation
sos4R - 52° North Innovation Price Presentation
 
Visualizing the Availability of Temporally Structured Sensor Data
Visualizing the Availability of Temporally Structured Sensor DataVisualizing the Availability of Temporally Structured Sensor Data
Visualizing the Availability of Temporally Structured Sensor Data
 

Recently uploaded

Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
Dr. Vinod Kumar Kanvaria
 
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
Nguyen Thanh Tu Collection
 
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
MysoreMuleSoftMeetup
 
A Survey of Techniques for Maximizing LLM Performance.pptx
A Survey of Techniques for Maximizing LLM Performance.pptxA Survey of Techniques for Maximizing LLM Performance.pptx
A Survey of Techniques for Maximizing LLM Performance.pptx
thanhdowork
 
Chapter 3 - Islamic Banking Products and Services.pptx
Chapter 3 - Islamic Banking Products and Services.pptxChapter 3 - Islamic Banking Products and Services.pptx
Chapter 3 - Islamic Banking Products and Services.pptx
Mohd Adib Abd Muin, Senior Lecturer at Universiti Utara Malaysia
 
1.4 modern child centered education - mahatma gandhi-2.pptx
1.4 modern child centered education - mahatma gandhi-2.pptx1.4 modern child centered education - mahatma gandhi-2.pptx
1.4 modern child centered education - mahatma gandhi-2.pptx
JosvitaDsouza2
 
CACJapan - GROUP Presentation 1- Wk 4.pdf
CACJapan - GROUP Presentation 1- Wk 4.pdfCACJapan - GROUP Presentation 1- Wk 4.pdf
CACJapan - GROUP Presentation 1- Wk 4.pdf
camakaiclarkmusic
 
The approach at University of Liverpool.pptx
The approach at University of Liverpool.pptxThe approach at University of Liverpool.pptx
The approach at University of Liverpool.pptx
Jisc
 
Pride Month Slides 2024 David Douglas School District
Pride Month Slides 2024 David Douglas School DistrictPride Month Slides 2024 David Douglas School District
Pride Month Slides 2024 David Douglas School District
David Douglas School District
 
STRAND 3 HYGIENIC PRACTICES.pptx GRADE 7 CBC
STRAND 3 HYGIENIC PRACTICES.pptx GRADE 7 CBCSTRAND 3 HYGIENIC PRACTICES.pptx GRADE 7 CBC
STRAND 3 HYGIENIC PRACTICES.pptx GRADE 7 CBC
kimdan468
 
Executive Directors Chat Leveraging AI for Diversity, Equity, and Inclusion
Executive Directors Chat  Leveraging AI for Diversity, Equity, and InclusionExecutive Directors Chat  Leveraging AI for Diversity, Equity, and Inclusion
Executive Directors Chat Leveraging AI for Diversity, Equity, and Inclusion
TechSoup
 
Natural birth techniques - Mrs.Akanksha Trivedi Rama University
Natural birth techniques - Mrs.Akanksha Trivedi Rama UniversityNatural birth techniques - Mrs.Akanksha Trivedi Rama University
Natural birth techniques - Mrs.Akanksha Trivedi Rama University
Akanksha trivedi rama nursing college kanpur.
 
Synthetic Fiber Construction in lab .pptx
Synthetic Fiber Construction in lab .pptxSynthetic Fiber Construction in lab .pptx
Synthetic Fiber Construction in lab .pptx
Pavel ( NSTU)
 
Operation Blue Star - Saka Neela Tara
Operation Blue Star   -  Saka Neela TaraOperation Blue Star   -  Saka Neela Tara
Operation Blue Star - Saka Neela Tara
Balvir Singh
 
The Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official PublicationThe Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official Publication
Delapenabediema
 
"Protectable subject matters, Protection in biotechnology, Protection of othe...
"Protectable subject matters, Protection in biotechnology, Protection of othe..."Protectable subject matters, Protection in biotechnology, Protection of othe...
"Protectable subject matters, Protection in biotechnology, Protection of othe...
SACHIN R KONDAGURI
 
The Accursed House by Émile Gaboriau.pptx
The Accursed House by Émile Gaboriau.pptxThe Accursed House by Émile Gaboriau.pptx
The Accursed House by Émile Gaboriau.pptx
DhatriParmar
 
South African Journal of Science: Writing with integrity workshop (2024)
South African Journal of Science: Writing with integrity workshop (2024)South African Journal of Science: Writing with integrity workshop (2024)
South African Journal of Science: Writing with integrity workshop (2024)
Academy of Science of South Africa
 
A Strategic Approach: GenAI in Education
A Strategic Approach: GenAI in EducationA Strategic Approach: GenAI in Education
A Strategic Approach: GenAI in Education
Peter Windle
 
Unit 8 - Information and Communication Technology (Paper I).pdf
Unit 8 - Information and Communication Technology (Paper I).pdfUnit 8 - Information and Communication Technology (Paper I).pdf
Unit 8 - Information and Communication Technology (Paper I).pdf
Thiyagu K
 

Recently uploaded (20)

Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
 
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
 
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
 
A Survey of Techniques for Maximizing LLM Performance.pptx
A Survey of Techniques for Maximizing LLM Performance.pptxA Survey of Techniques for Maximizing LLM Performance.pptx
A Survey of Techniques for Maximizing LLM Performance.pptx
 
Chapter 3 - Islamic Banking Products and Services.pptx
Chapter 3 - Islamic Banking Products and Services.pptxChapter 3 - Islamic Banking Products and Services.pptx
Chapter 3 - Islamic Banking Products and Services.pptx
 
1.4 modern child centered education - mahatma gandhi-2.pptx
1.4 modern child centered education - mahatma gandhi-2.pptx1.4 modern child centered education - mahatma gandhi-2.pptx
1.4 modern child centered education - mahatma gandhi-2.pptx
 
CACJapan - GROUP Presentation 1- Wk 4.pdf
CACJapan - GROUP Presentation 1- Wk 4.pdfCACJapan - GROUP Presentation 1- Wk 4.pdf
CACJapan - GROUP Presentation 1- Wk 4.pdf
 
The approach at University of Liverpool.pptx
The approach at University of Liverpool.pptxThe approach at University of Liverpool.pptx
The approach at University of Liverpool.pptx
 
Pride Month Slides 2024 David Douglas School District
Pride Month Slides 2024 David Douglas School DistrictPride Month Slides 2024 David Douglas School District
Pride Month Slides 2024 David Douglas School District
 
STRAND 3 HYGIENIC PRACTICES.pptx GRADE 7 CBC
STRAND 3 HYGIENIC PRACTICES.pptx GRADE 7 CBCSTRAND 3 HYGIENIC PRACTICES.pptx GRADE 7 CBC
STRAND 3 HYGIENIC PRACTICES.pptx GRADE 7 CBC
 
Executive Directors Chat Leveraging AI for Diversity, Equity, and Inclusion
Executive Directors Chat  Leveraging AI for Diversity, Equity, and InclusionExecutive Directors Chat  Leveraging AI for Diversity, Equity, and Inclusion
Executive Directors Chat Leveraging AI for Diversity, Equity, and Inclusion
 
Natural birth techniques - Mrs.Akanksha Trivedi Rama University
Natural birth techniques - Mrs.Akanksha Trivedi Rama UniversityNatural birth techniques - Mrs.Akanksha Trivedi Rama University
Natural birth techniques - Mrs.Akanksha Trivedi Rama University
 
Synthetic Fiber Construction in lab .pptx
Synthetic Fiber Construction in lab .pptxSynthetic Fiber Construction in lab .pptx
Synthetic Fiber Construction in lab .pptx
 
Operation Blue Star - Saka Neela Tara
Operation Blue Star   -  Saka Neela TaraOperation Blue Star   -  Saka Neela Tara
Operation Blue Star - Saka Neela Tara
 
The Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official PublicationThe Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official Publication
 
"Protectable subject matters, Protection in biotechnology, Protection of othe...
"Protectable subject matters, Protection in biotechnology, Protection of othe..."Protectable subject matters, Protection in biotechnology, Protection of othe...
"Protectable subject matters, Protection in biotechnology, Protection of othe...
 
The Accursed House by Émile Gaboriau.pptx
The Accursed House by Émile Gaboriau.pptxThe Accursed House by Émile Gaboriau.pptx
The Accursed House by Émile Gaboriau.pptx
 
South African Journal of Science: Writing with integrity workshop (2024)
South African Journal of Science: Writing with integrity workshop (2024)South African Journal of Science: Writing with integrity workshop (2024)
South African Journal of Science: Writing with integrity workshop (2024)
 
A Strategic Approach: GenAI in Education
A Strategic Approach: GenAI in EducationA Strategic Approach: GenAI in Education
A Strategic Approach: GenAI in Education
 
Unit 8 - Information and Communication Technology (Paper I).pdf
Unit 8 - Information and Communication Technology (Paper I).pdfUnit 8 - Information and Communication Technology (Paper I).pdf
Unit 8 - Information and Communication Technology (Paper I).pdf
 

Open Source and GitHub for Teaching with Software Development Projects

  • 1. Open Source and GitHub for Teaching with Software Development Projects FOSS4G-Europe, Bremen, July 2014 Daniel Nüst (52°North GmbH), Thomas Bartoschek (Institute for Geinformatics, Münster)
  • 2. Teaching Software Development w/ GitHub @ FOSS4G-E, Bremen, 2014 2 Why use Open Source? Save money
  • 3. Teaching Software Development w/ GitHub @ FOSS4G-E, Bremen, 2014 3 Why do Open Source? Save money Be effective “Egoistic collaboration” is the present and future of software development (Google, Amazon, Yahoo, Microsoft, …)
  • 4. Teaching Software Development w/ GitHub @ FOSS4G-E, Bremen, 2014 4 Open Source Development in Seminars All real world software developers use open source. Reasons for software projects in education: Students must learn about licenses (code, data, documentation) Business models! Social & collaborative software development Students learn project mgmt/lifecycle
  • 5. Teaching Software Development w/ GitHub @ FOSS4G-E, Bremen, 2014 5 Why bother? The ultimate goal is to increase the quality of software development in project seminars so that geospatial open source software can benefit from (a) direct contributions, and (b) programmers that are acquainted with the “open source way”.
  • 6. Teaching Software Development w/ GitHub @ FOSS4G-E, Bremen, 2014 6 Scrum agile software development method – acknowledges reality • roles: product owner, scrum master, team member • sprints & stand-ups, review meetings • backlogs
  • 7. Teaching Software Development w/ GitHub @ FOSS4G-E, Bremen, 2014 7 BASICS ON GIT AND GITHUB
  • 8. Teaching Software Development w/ GitHub @ FOSS4G-E, Bremen, 2014 8 Git Development is collaboration, and source code management is the at the core, but should not get in the way. THE SCM of today. ≠
  • 9. Teaching Software Development w/ GitHub @ FOSS4G-E, Bremen, 2014 9 GitHub Platform Free (10 Million repositories end of 2013, http://en.wikipedia.org/wiki/Github) Organisation accounts Provide material Students can fork assignments, don’t start from scratch Hosting included (e.g. http://geosoft2.github.io/) Issue tracker
  • 10. Teaching Software Development w/ GitHub @ FOSS4G-E, Bremen, 2014 10 GitHub for Education https://education.github.com/ Stop emailing code, never loose your work, stay organized, build a portfolio
  • 11. Teaching Software Development w/ GitHub @ FOSS4G-E, Bremen, 2014 11 GitHub for Education (cont.) Teach more effectively Private repos, teams, …. distribute starter code, give students feedback, provide automated tests, collect assignments
  • 12. Teaching Software Development w/ GitHub @ FOSS4G-E, Bremen, 2014 12 HOW DO WE DO IT?
  • 13. Teaching Software Development w/ GitHub @ FOSS4G-E, Bremen, 2014 13 GitHub Collaboration Model http://video.esri.com/watch/3223/social-coding-and-the- future-of-open-source Fork & Pull Pull requests – Discussion – Transparency https://help.github.com/articles/using-pull-requests
  • 14. Teaching Software Development w/ GitHub @ FOSS4G-E, Bremen, 2014 14 Fork & Pull
  • 15. Teaching Software Development w/ GitHub @ FOSS4G-E, Bremen, 2014 15
  • 16. Teaching Software Development w/ GitHub @ FOSS4G-E, Bremen, 2014 16 Grading with GitHub Challenge: grading group work is hard. • GitHub allows transparency • Distinguish numbers (lines changed) from content • Students estimate their contributions well (questionnaire) • Some quantification possible (# pull requests created, merged, issues opened/closed), use to facilitate engagement (not to grade)
  • 17. Teaching Software Development w/ GitHub @ FOSS4G-E, Bremen, 2014 17 Grading with GitHub (cont.) Challenge: Different kind of work done by students. • Git for collaborative writing (docs, reports, …) • Value doc. writing in the same way https://github.com/Geosoft2/geosoft2-2014-fundamentals
  • 18. Teaching Software Development w/ GitHub @ FOSS4G-E, Bremen, 2014 18 Experiences Students… … hesitate to establish hierarchies or take over responsibility > Scrum. … are careful about not being exposed publicly. … are challenged by communication requirements of collaborative software development. … have to be continuously motivated to adopt an open innovation and development process.
  • 19. Teaching Software Development w/ GitHub @ FOSS4G-E, Bremen, 2014 19 Experiences (cont.) … hesitate to publish code. Force them. … do learn the sense of documentation. Teachers… … must stay in touch with new developments and the business world. … must be ready to interact.
  • 20. Teaching Software Development w/ GitHub @ FOSS4G-E, Bremen, 2014 20 Experiences (cont.) Adjust Scrum… … using 2 Week long sprints. … allowing virtual stand-ups, plus weekly with whole seminar. … flex up scrum Masters: teachers, another group’s member.
  • 21. Teaching Software Development w/ GitHub @ FOSS4G-E, Bremen, 2014 21 Experiences (cont.) https://github.com/enviroCar/ & https://envirocar.org Prototype developed in project seminar – new OS project for tracking cars
  • 22. Teaching Software Development w/ GitHub @ FOSS4G-E, Bremen, 2014 22 How is this relevant for FOSS4G? Need contributors > get them early! Students developing as open source are more likely to use and contribute. Need capable developers > students, internships, better devs in the long run, … Need features > get them done!
  • 23. Teaching Software Development w/ GitHub @ FOSS4G-E, Bremen, 2014 23 Next, and Goals Collaborate with you Share experiences > “open innovation” for teaching Guidelines for Teaching Open Software Development in Projects

Editor's Notes

  1. Who is a prof. software developer? Who is involved in univsersity level teaching?
  2. Yes, it is fun, reasonable, “the right thing”, better quality, …
  3. Work with REAL software
  4. Process Fork this project Do your research Edit the handout.md file in your folder Create a presentatation based on your handout Send a pull request before the submission deadline Present at the seminar If you see an error or want to extend information of your own or a colleagues handout... Update your local fork Make the changes Send a pull request to the original author of the topic and dicuss or changes The original author merges your changes and send a pull request to update the main repository
  5. Works for advanced seminars of developers
  6. Show of hands – who would be interested to join a google group?