SlideShare a Scribd company logo
1 of 39
Download to read offline
Teaching open source
Inspiring Minds while The World Evolves
Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)
Craig Gardner
● Senior Software Engineer, and
● Software Engineering Manager, SUSE
○ Craig.Gardner@suse.com
● Adjunct Instructor, Utah Valley University
○ CS2450 Software Engineering I
○ CS305G Global Ethics and Technology
○ Craig.Gardner@uvu.edu
The Challenge
Slow growth in open source contributors
versus rapid growth in demand
“It’s hard to find people to hire. Because
everybody’s [already] been hired.”
-- Greg Kroah-Hartman, CoreOS Fest 2016
Presentation Endurance
● Why open source
● Where we can make the biggest impact
● How to use open source
● What students are ready to do today
○ Preparing students to contribute
Why open source?
open source versus programming
Teaching programming is common
and worthwhile
Teaching open source is not so common
It’s also programming
… but is more valuable
… accomplishes more with less
Free Software (as in “Freedom”)
Richard Stallman (FSF):
1) Freedom to run the program any place, any purpose and forever.
2) Freedom to study how it works and to adapt it to our needs. This
requires access to the source code. (i.e. open source)
3) Freedom to redistribute copies [of the sources and binaries], so that
we can help our friends and neighbours.
4) Freedom to improve the program and to release improvements to
the public. This also requires the source code.
http://www.gnu.org/philosophy/free-sw.html
Open Source in Schools?
“Free” software seems counterintuitive
● Schools promise students jobs
● … paying jobs
● Schools are funded by taxes
● … and corporations
● Most schools simply don’t understand
● Most schools have limited scope and time
Standard Approach in Schools
… Hence, teaching is typically patterned
according to a Proprietary Modelx`
Broken Approach
● Individual work versus collaboration
○ “Collaboration can’t assert the individual has learned
anything!”
● Writing code from scratch versus reuse
○ “How do I know the student is learning how to
program if he’s just borrowing someone else’s
code?”
Benefits to Schools
School Administrations that use open source:
● Low cost
● Increased reliability of software
● Better stability of operating environment
● Easier to audit
● Freedom, with no vendor lock in
Where is open source?
● 64 percent of companies currently
participate in open source projects
○ Up from 50 percent in 2014
○ Next 2-3 years: 88 percent expected
● More than 78 percent of companies cite a
reliance on open source software
https://www.blackducksoftware.com/future-of-open-source
Status of open source
“Recruiters are in hot pursuit of [open source] talent. As
business continues its tectonic shift to an open source
model, employers are hungrier than ever for skilled Linux
professionals who can demonstrate their competencies.”
Linux Foundation 2015 Linux Jobs Report
http://www.linuxfoundation.org/publications/linux-foundation/linux-jobs-report-2015
Future of open source
https://blogs.technet.microsoft.com/windowsserver/2015/05/06/microsoft-loves-linux/
Future of open source
“Open Source software is at the heart of Apple
platforms and developer tools, and Apple
continues to both lead and make significant
contributions to many Open Source projects.”
http://www.apple.com/opensource/
Future needs
● 71% of new STEM jobs are in computing
● Only 8% of STEM graduates are computing
● 1 in 4 schools teach programming
Easy to see the connection
www.code.org ; data collected from www.bls.gov
Preparing for College
Champions of open source
● Harvard
● Rochester Institute of Technology
● Oregon State University
● Experiments at high schools
○ Wasatch Institute, Utah
○ Penn Manor, Pennsylvania
open source is the New CV
● Actual display of programming skills
● Typical display of collaboration skills
● Insight into evolution / improvement
● Harder to misunderstand
Turning Students into Contributors
This is the hard part
Exposing students to open source is easy
Getting students contributing is the hurdle
Getting students interested in a project
Getting students inserted into the project
Hurdle
Hurdles
A Hurdle Metaphor:
● running is normal
○ Basically just a controlled fall forward
● hurdling is not at all natural
● it hurts when you fail
Hurdle Fails
open source Projects
The rest of the Metaphor:
● Programming is normal
○ It’s just programming
● contributing does not come naturally
○ At least compared to what the students have
experienced so far
● it hurts when you fail
Where Can We Make The Biggest Impact?
Start Young
Start young with Programming
● students in China and Thailand start in Grade 3
● 88% of global businesses can’t fill positions
● Fairly well defined pipeline
○ Future needs depend on early start
○ Harder to train later than to start early
○ early education drives later education
http://www.linuxfoundation.org/news-media/announcements/2015/03/2015-linux-jobs-report-linux-professionals-high-demand
Industry Involvement
● Schools follow the money
● What schools can’t get from Government,
they get from Industry
○ or go without
But if schools could do more with less ...
How to use open source
open source in the Classroom
● Pick specific projects of interest
● Plenty of variety; easy to hard
● Start with examples
● Move gradually to contributing
● Class assignments model open source
project
● Recognize and reward collaboration
Preparing Students to Contribute
Preparing Students to Contribute
● Start with programming
● Solve real problems
● Encourage team programming
● Demonstrate that Failure is part of Success
Preparing for Success
Nietzsche
Hurdles may hurt (a little), but
“That which does not kill me makes me
stronger.” -- Friedrich Nietzsche
Great Success
Sometimes with our hurdle skills, we do this:
Like a Boss
Keys to Success
1) Teach applicable skills
2) Give students opportunity to validate skills
3) Teach students to collaborate
4) Get students exposed to communities that
interest them
5) English
Your Challenge
Inspire a young person;
get involved in education
Find a young person, and become a mentor
● code.org an excellent resource, and plenty of free resources
● Guide the student to solve real problems
Find a local school, and offer to help in the classroom
● You’re already volunteer in software communities...
● Donate a little time to your local classroom
● Don’t look to “fix” their problems, but offer to be a resource
● Hook them up with solving real problems with open source
Success to Us All!
Thank You
Craig Gardner
University Instructor
Software Engineering Manager
craig.gardner@opensuse.org
Photo and Graphic Credits
10. Apple Inc. logo: https://en.wikipedia.org/wiki/Apple_Inc.#/media/File:Apple_logo.svg
19. Hurdle: http://www.sportswarehouse.co.uk/product_images/o/765/harrod_schools_hurdle_junior__86266_zoom.jpg
21. Hurdle fails:
http://www.projectaccelerator.co.uk/wp-content/uploads/2013/11/project-hurdles.jpg
http://www.hahastop.com/pictures/Hurdles_Fail.jpg
http://funnyasduck.net/post/10566
34. Hurdle wins:
http://media.mensxp.com/media/guylife/content/2012/Feb/hurdlesinline.jpg
http://cdn.bleacherreport.net/images_root/slides/photos/000/147/900/knowshon-moreno-jumps-hurdles-defender_display_image.jpg?
1264994305
http://news.bbcimg.co.uk/media/images/75521000/jpg/_75521047_rvpheader.jpg
License Governing this Presentation
This is the creative work of Craig Gardner, who retains copyright for this work
This is Open Source
Licensed under Creative Commons
Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)
https://creativecommons.org/licenses/by-nc-sa/4.0/
For non-commercial use, sharing/copying allowed as long as you give appropriate credit to the author
If you remix, transform, or build upon the material, you must distribute your contributions under the
same license as the original

More Related Content

What's hot

DSC UTeM Info Session 2020 Presentation Slides
DSC UTeM Info Session 2020 Presentation SlidesDSC UTeM Info Session 2020 Presentation Slides
DSC UTeM Info Session 2020 Presentation SlidesDSC UTeM
 
Adjusting Google Design Sprint for VR
Adjusting Google Design Sprint for VR Adjusting Google Design Sprint for VR
Adjusting Google Design Sprint for VR Kari Peltola
 
Apprenticeship 8 28
Apprenticeship 8 28Apprenticeship 8 28
Apprenticeship 8 28shotwellcarl
 
The pm²-mindsets-nicos.kourounakis.2017.share
The pm²-mindsets-nicos.kourounakis.2017.shareThe pm²-mindsets-nicos.kourounakis.2017.share
The pm²-mindsets-nicos.kourounakis.2017.shareNicos Kourounakis
 
How I work with global team
How I work with global teamHow I work with global team
How I work with global teamTakahiko Wada
 
NagelhoutTillerycptsc2oct2015
NagelhoutTillerycptsc2oct2015NagelhoutTillerycptsc2oct2015
NagelhoutTillerycptsc2oct2015Ed Nagelhout
 
Class 5: Project details
Class 5: Project detailsClass 5: Project details
Class 5: Project detailsCOMP 113
 
Info session
Info sessionInfo session
Info sessionKateGrupp
 
Solving Real World Problems with Data Science
Solving Real World Problems with Data ScienceSolving Real World Problems with Data Science
Solving Real World Problems with Data ScienceJesslyn Nathania
 
Project-Based Course on Computer Vision
Project-Based Course on Computer VisionProject-Based Course on Computer Vision
Project-Based Course on Computer VisionMasayuki Tanaka
 
Dsc mmust info session
Dsc mmust info sessionDsc mmust info session
Dsc mmust info sessionKamauMbugua
 
Learning Tree_completion_certificate_158B63US002
Learning Tree_completion_certificate_158B63US002Learning Tree_completion_certificate_158B63US002
Learning Tree_completion_certificate_158B63US002Tatiana Floyd
 
7 steps to bring back coding into the classroom
7 steps to bring back coding into the classroom7 steps to bring back coding into the classroom
7 steps to bring back coding into the classroomMartine Paquet
 
Operation management project-based learning
Operation management  project-based learning Operation management  project-based learning
Operation management project-based learning dsjaque
 
Connected Learning - creating a learning community
Connected Learning - creating a learning communityConnected Learning - creating a learning community
Connected Learning - creating a learning communityJay
 
Not Just Tech for Tech's Sake
Not Just Tech for Tech's SakeNot Just Tech for Tech's Sake
Not Just Tech for Tech's SakeDawn Harris
 
Business & community slides 15th june
Business & community slides 15th june Business & community slides 15th june
Business & community slides 15th june thelearningproject
 

What's hot (20)

DSC UTeM Info Session 2020 Presentation Slides
DSC UTeM Info Session 2020 Presentation SlidesDSC UTeM Info Session 2020 Presentation Slides
DSC UTeM Info Session 2020 Presentation Slides
 
Evaluation report web2learn
Evaluation report web2learnEvaluation report web2learn
Evaluation report web2learn
 
Adjusting Google Design Sprint for VR
Adjusting Google Design Sprint for VR Adjusting Google Design Sprint for VR
Adjusting Google Design Sprint for VR
 
GDSC NITW GSoc Session
GDSC NITW GSoc SessionGDSC NITW GSoc Session
GDSC NITW GSoc Session
 
Apprenticeship 8 28
Apprenticeship 8 28Apprenticeship 8 28
Apprenticeship 8 28
 
The pm²-mindsets-nicos.kourounakis.2017.share
The pm²-mindsets-nicos.kourounakis.2017.shareThe pm²-mindsets-nicos.kourounakis.2017.share
The pm²-mindsets-nicos.kourounakis.2017.share
 
How I work with global team
How I work with global teamHow I work with global team
How I work with global team
 
NagelhoutTillerycptsc2oct2015
NagelhoutTillerycptsc2oct2015NagelhoutTillerycptsc2oct2015
NagelhoutTillerycptsc2oct2015
 
Class 5: Project details
Class 5: Project detailsClass 5: Project details
Class 5: Project details
 
CAT presentation
CAT presentationCAT presentation
CAT presentation
 
Info session
Info sessionInfo session
Info session
 
Solving Real World Problems with Data Science
Solving Real World Problems with Data ScienceSolving Real World Problems with Data Science
Solving Real World Problems with Data Science
 
Project-Based Course on Computer Vision
Project-Based Course on Computer VisionProject-Based Course on Computer Vision
Project-Based Course on Computer Vision
 
Dsc mmust info session
Dsc mmust info sessionDsc mmust info session
Dsc mmust info session
 
Learning Tree_completion_certificate_158B63US002
Learning Tree_completion_certificate_158B63US002Learning Tree_completion_certificate_158B63US002
Learning Tree_completion_certificate_158B63US002
 
7 steps to bring back coding into the classroom
7 steps to bring back coding into the classroom7 steps to bring back coding into the classroom
7 steps to bring back coding into the classroom
 
Operation management project-based learning
Operation management  project-based learning Operation management  project-based learning
Operation management project-based learning
 
Connected Learning - creating a learning community
Connected Learning - creating a learning communityConnected Learning - creating a learning community
Connected Learning - creating a learning community
 
Not Just Tech for Tech's Sake
Not Just Tech for Tech's SakeNot Just Tech for Tech's Sake
Not Just Tech for Tech's Sake
 
Business & community slides 15th june
Business & community slides 15th june Business & community slides 15th june
Business & community slides 15th june
 

Similar to Teaching open source 2016

Organization strategies to increase development productivity
Organization strategies to increase development productivityOrganization strategies to increase development productivity
Organization strategies to increase development productivityAaron Grant
 
Main presentation slides Developer Student Clubs GEC Bilaspur
Main presentation slides Developer Student Clubs GEC BilaspurMain presentation slides Developer Student Clubs GEC Bilaspur
Main presentation slides Developer Student Clubs GEC BilaspurDomendra Sahu
 
Google summer of code OSS keynote
Google summer of code OSS keynoteGoogle summer of code OSS keynote
Google summer of code OSS keynoteCarol Smith
 
Standing out as a new grad candidate
Standing out as a new grad candidateStanding out as a new grad candidate
Standing out as a new grad candidateSashko Stubailo
 
Workshop - Open online courses
Workshop - Open online coursesWorkshop - Open online courses
Workshop - Open online coursesMichael Rowe
 
GDSC PU Info Session 23-24.pdf
GDSC PU Info Session 23-24.pdfGDSC PU Info Session 23-24.pdf
GDSC PU Info Session 23-24.pdfShubhankitJain6
 
Level Up Your Team: Front-End Development Best Practices
Level Up Your Team: Front-End Development Best PracticesLevel Up Your Team: Front-End Development Best Practices
Level Up Your Team: Front-End Development Best PracticesMediacurrent
 
build@mercari-week7-mark-talk
build@mercari-week7-mark-talkbuild@mercari-week7-mark-talk
build@mercari-week7-mark-talkMark Hahn
 
Professional Technology Use Presentation
Professional Technology Use PresentationProfessional Technology Use Presentation
Professional Technology Use Presentationbrittanywentsel
 
Co-Designing the Programme-Level Approach: Students in the Community of Practice
Co-Designing the Programme-Level Approach: Students in the Community of PracticeCo-Designing the Programme-Level Approach: Students in the Community of Practice
Co-Designing the Programme-Level Approach: Students in the Community of PracticeGary Wood
 
Open Source Product Management with KEMP Tech's PM
Open Source Product Management with KEMP Tech's PMOpen Source Product Management with KEMP Tech's PM
Open Source Product Management with KEMP Tech's PMProduct School
 
Tfwebdev 12.11.17
Tfwebdev 12.11.17Tfwebdev 12.11.17
Tfwebdev 12.11.17Thinkful
 
Creating and Maintaining an Inclusive DevOps Culture
Creating and Maintaining an Inclusive DevOps CultureCreating and Maintaining an Inclusive DevOps Culture
Creating and Maintaining an Inclusive DevOps Culturejudy (fink) johnson
 
Best Practices in Curating Your Teaching ePortfolio
Best Practices in Curating Your Teaching ePortfolioBest Practices in Curating Your Teaching ePortfolio
Best Practices in Curating Your Teaching ePortfolioErin O'Reilly
 
Tips sukses berkarir sebagai developer dan programmer 2021
Tips sukses berkarir sebagai developer dan programmer 2021Tips sukses berkarir sebagai developer dan programmer 2021
Tips sukses berkarir sebagai developer dan programmer 2021DicodingEvent
 
Google Solution Challenge 2023
Google Solution Challenge 2023Google Solution Challenge 2023
Google Solution Challenge 2023Sehar477968
 
Career Hacks for Developers
Career Hacks for DevelopersCareer Hacks for Developers
Career Hacks for DevelopersBarElin
 

Similar to Teaching open source 2016 (20)

Organization strategies to increase development productivity
Organization strategies to increase development productivityOrganization strategies to increase development productivity
Organization strategies to increase development productivity
 
Main presentation slides Developer Student Clubs GEC Bilaspur
Main presentation slides Developer Student Clubs GEC BilaspurMain presentation slides Developer Student Clubs GEC Bilaspur
Main presentation slides Developer Student Clubs GEC Bilaspur
 
Google summer of code OSS keynote
Google summer of code OSS keynoteGoogle summer of code OSS keynote
Google summer of code OSS keynote
 
Standing out as a new grad candidate
Standing out as a new grad candidateStanding out as a new grad candidate
Standing out as a new grad candidate
 
Workshop - Open online courses
Workshop - Open online coursesWorkshop - Open online courses
Workshop - Open online courses
 
GDSC PU Info Session 23-24.pdf
GDSC PU Info Session 23-24.pdfGDSC PU Info Session 23-24.pdf
GDSC PU Info Session 23-24.pdf
 
Level Up Your Team: Front-End Development Best Practices
Level Up Your Team: Front-End Development Best PracticesLevel Up Your Team: Front-End Development Best Practices
Level Up Your Team: Front-End Development Best Practices
 
build@mercari-week7-mark-talk
build@mercari-week7-mark-talkbuild@mercari-week7-mark-talk
build@mercari-week7-mark-talk
 
Professional Technology Use Presentation
Professional Technology Use PresentationProfessional Technology Use Presentation
Professional Technology Use Presentation
 
Co-Designing the Programme-Level Approach: Students in the Community of Practice
Co-Designing the Programme-Level Approach: Students in the Community of PracticeCo-Designing the Programme-Level Approach: Students in the Community of Practice
Co-Designing the Programme-Level Approach: Students in the Community of Practice
 
Open Source Product Management with KEMP Tech's PM
Open Source Product Management with KEMP Tech's PMOpen Source Product Management with KEMP Tech's PM
Open Source Product Management with KEMP Tech's PM
 
Tfwebdev 12.11.17
Tfwebdev 12.11.17Tfwebdev 12.11.17
Tfwebdev 12.11.17
 
Creating and Maintaining an Inclusive DevOps Culture
Creating and Maintaining an Inclusive DevOps CultureCreating and Maintaining an Inclusive DevOps Culture
Creating and Maintaining an Inclusive DevOps Culture
 
Best Practices in Curating Your Teaching ePortfolio
Best Practices in Curating Your Teaching ePortfolioBest Practices in Curating Your Teaching ePortfolio
Best Practices in Curating Your Teaching ePortfolio
 
Njedgefall2015
Njedgefall2015Njedgefall2015
Njedgefall2015
 
TF.DB.IS
TF.DB.ISTF.DB.IS
TF.DB.IS
 
Career counselling websites
Career counselling websitesCareer counselling websites
Career counselling websites
 
Tips sukses berkarir sebagai developer dan programmer 2021
Tips sukses berkarir sebagai developer dan programmer 2021Tips sukses berkarir sebagai developer dan programmer 2021
Tips sukses berkarir sebagai developer dan programmer 2021
 
Google Solution Challenge 2023
Google Solution Challenge 2023Google Solution Challenge 2023
Google Solution Challenge 2023
 
Career Hacks for Developers
Career Hacks for DevelopersCareer Hacks for Developers
Career Hacks for Developers
 

Recently uploaded

08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsHyundai Motor Group
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 

Recently uploaded (20)

08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 

Teaching open source 2016

  • 1. Teaching open source Inspiring Minds while The World Evolves Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)
  • 2. Craig Gardner ● Senior Software Engineer, and ● Software Engineering Manager, SUSE ○ Craig.Gardner@suse.com ● Adjunct Instructor, Utah Valley University ○ CS2450 Software Engineering I ○ CS305G Global Ethics and Technology ○ Craig.Gardner@uvu.edu
  • 3. The Challenge Slow growth in open source contributors versus rapid growth in demand “It’s hard to find people to hire. Because everybody’s [already] been hired.” -- Greg Kroah-Hartman, CoreOS Fest 2016
  • 4. Presentation Endurance ● Why open source ● Where we can make the biggest impact ● How to use open source ● What students are ready to do today ○ Preparing students to contribute
  • 6. open source versus programming Teaching programming is common and worthwhile Teaching open source is not so common It’s also programming … but is more valuable … accomplishes more with less
  • 7. Free Software (as in “Freedom”) Richard Stallman (FSF): 1) Freedom to run the program any place, any purpose and forever. 2) Freedom to study how it works and to adapt it to our needs. This requires access to the source code. (i.e. open source) 3) Freedom to redistribute copies [of the sources and binaries], so that we can help our friends and neighbours. 4) Freedom to improve the program and to release improvements to the public. This also requires the source code. http://www.gnu.org/philosophy/free-sw.html
  • 8. Open Source in Schools? “Free” software seems counterintuitive ● Schools promise students jobs ● … paying jobs ● Schools are funded by taxes ● … and corporations ● Most schools simply don’t understand ● Most schools have limited scope and time
  • 9. Standard Approach in Schools … Hence, teaching is typically patterned according to a Proprietary Modelx`
  • 10. Broken Approach ● Individual work versus collaboration ○ “Collaboration can’t assert the individual has learned anything!” ● Writing code from scratch versus reuse ○ “How do I know the student is learning how to program if he’s just borrowing someone else’s code?”
  • 11. Benefits to Schools School Administrations that use open source: ● Low cost ● Increased reliability of software ● Better stability of operating environment ● Easier to audit ● Freedom, with no vendor lock in
  • 12. Where is open source? ● 64 percent of companies currently participate in open source projects ○ Up from 50 percent in 2014 ○ Next 2-3 years: 88 percent expected ● More than 78 percent of companies cite a reliance on open source software https://www.blackducksoftware.com/future-of-open-source
  • 13. Status of open source “Recruiters are in hot pursuit of [open source] talent. As business continues its tectonic shift to an open source model, employers are hungrier than ever for skilled Linux professionals who can demonstrate their competencies.” Linux Foundation 2015 Linux Jobs Report http://www.linuxfoundation.org/publications/linux-foundation/linux-jobs-report-2015
  • 14. Future of open source https://blogs.technet.microsoft.com/windowsserver/2015/05/06/microsoft-loves-linux/
  • 15. Future of open source “Open Source software is at the heart of Apple platforms and developer tools, and Apple continues to both lead and make significant contributions to many Open Source projects.” http://www.apple.com/opensource/
  • 16. Future needs ● 71% of new STEM jobs are in computing ● Only 8% of STEM graduates are computing ● 1 in 4 schools teach programming Easy to see the connection www.code.org ; data collected from www.bls.gov
  • 17. Preparing for College Champions of open source ● Harvard ● Rochester Institute of Technology ● Oregon State University ● Experiments at high schools ○ Wasatch Institute, Utah ○ Penn Manor, Pennsylvania
  • 18. open source is the New CV ● Actual display of programming skills ● Typical display of collaboration skills ● Insight into evolution / improvement ● Harder to misunderstand
  • 19. Turning Students into Contributors This is the hard part Exposing students to open source is easy Getting students contributing is the hurdle Getting students interested in a project Getting students inserted into the project
  • 21. Hurdles A Hurdle Metaphor: ● running is normal ○ Basically just a controlled fall forward ● hurdling is not at all natural ● it hurts when you fail
  • 23. open source Projects The rest of the Metaphor: ● Programming is normal ○ It’s just programming ● contributing does not come naturally ○ At least compared to what the students have experienced so far ● it hurts when you fail
  • 24. Where Can We Make The Biggest Impact?
  • 25. Start Young Start young with Programming ● students in China and Thailand start in Grade 3 ● 88% of global businesses can’t fill positions ● Fairly well defined pipeline ○ Future needs depend on early start ○ Harder to train later than to start early ○ early education drives later education http://www.linuxfoundation.org/news-media/announcements/2015/03/2015-linux-jobs-report-linux-professionals-high-demand
  • 26. Industry Involvement ● Schools follow the money ● What schools can’t get from Government, they get from Industry ○ or go without But if schools could do more with less ...
  • 27. How to use open source
  • 28. open source in the Classroom ● Pick specific projects of interest ● Plenty of variety; easy to hard ● Start with examples ● Move gradually to contributing ● Class assignments model open source project ● Recognize and reward collaboration
  • 29. Preparing Students to Contribute
  • 30. Preparing Students to Contribute ● Start with programming ● Solve real problems ● Encourage team programming ● Demonstrate that Failure is part of Success
  • 32. Nietzsche Hurdles may hurt (a little), but “That which does not kill me makes me stronger.” -- Friedrich Nietzsche
  • 33. Great Success Sometimes with our hurdle skills, we do this:
  • 35. Keys to Success 1) Teach applicable skills 2) Give students opportunity to validate skills 3) Teach students to collaborate 4) Get students exposed to communities that interest them 5) English
  • 36. Your Challenge Inspire a young person; get involved in education Find a young person, and become a mentor ● code.org an excellent resource, and plenty of free resources ● Guide the student to solve real problems Find a local school, and offer to help in the classroom ● You’re already volunteer in software communities... ● Donate a little time to your local classroom ● Don’t look to “fix” their problems, but offer to be a resource ● Hook them up with solving real problems with open source
  • 37. Success to Us All! Thank You Craig Gardner University Instructor Software Engineering Manager craig.gardner@opensuse.org
  • 38. Photo and Graphic Credits 10. Apple Inc. logo: https://en.wikipedia.org/wiki/Apple_Inc.#/media/File:Apple_logo.svg 19. Hurdle: http://www.sportswarehouse.co.uk/product_images/o/765/harrod_schools_hurdle_junior__86266_zoom.jpg 21. Hurdle fails: http://www.projectaccelerator.co.uk/wp-content/uploads/2013/11/project-hurdles.jpg http://www.hahastop.com/pictures/Hurdles_Fail.jpg http://funnyasduck.net/post/10566 34. Hurdle wins: http://media.mensxp.com/media/guylife/content/2012/Feb/hurdlesinline.jpg http://cdn.bleacherreport.net/images_root/slides/photos/000/147/900/knowshon-moreno-jumps-hurdles-defender_display_image.jpg? 1264994305 http://news.bbcimg.co.uk/media/images/75521000/jpg/_75521047_rvpheader.jpg
  • 39. License Governing this Presentation This is the creative work of Craig Gardner, who retains copyright for this work This is Open Source Licensed under Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) https://creativecommons.org/licenses/by-nc-sa/4.0/ For non-commercial use, sharing/copying allowed as long as you give appropriate credit to the author If you remix, transform, or build upon the material, you must distribute your contributions under the same license as the original