SlideShare una empresa de Scribd logo
1 de 50
Descargar para leer sin conexión
Easy as Pie?
      Teaching Code Literacy




Sarah Allen
@ultrasaurus
Coding Literacy
Sarah Allen
@ultrasaurus
Sarah Allen
@ultrasaurus
Why?
Pie: the language
 Teaching Kids
Why?
Pie: the language
 Teaching Kids
Why?
 Pie: the language
Learning from Kids
Why me?
Why teach kids to code?
Why create a language?
     Why Ruby?
AWESOME!!!!!!!!!!!!!
AWESOME!!!!!!!!!!!!!    Intrinsic
AWESOME!!!!!!!!!!!!!   Gratification
AWESOME!!!!!!!!!!!!!
AWESOME!!!!!!!!!!!!!
AWESOME!!!!!!!!!!!!!
AWESOME!!!!!!!!!!!!!
AWESOME!!!!!!!!!!!!!
AWESOME!!!!!!!!!!!!!
AWESOME!!!!!!!!!!!!!
Intrinsic
Gratification
Results
Results
AWESOME!!!!!!!!!!!!!
AWESOME!!!!!!!!!!!!!
AWESOME!!!!!!!!!!!!!
AWESOME!!!!!!!!!!!!!
AWESOME!!!!!!!!!!!!!
AWESOME!!!!!!!!!!!!!
AWESOME!!!!!!!!!!!!!
AWESOME!!!!!!!!!!!!!
AWESOME!!!!!!!!!!!!!
AWESOME!!!!!!!!!!!!!
Why teach kids code?

•   Software is part of how our world works
•   Skill for thinking & communicating
•   Before they start believing they can’t
•   By high school some will outpace adults
language?
Small code
Big effect
Simple syntax
“real” language
Domain Specific Language
 Domain = Web Games


  http://pie-bakery.heroku.com/
Pie: the language

•   What is Pie?
    (demo)
•   How do you make Pie?
    (the code)
place
place park:"You are in a park..."
place trees:"You are in a Japanese garden."
place river_edge:"The path ends at a river"
place in_the_river:"You walk into the river
and drown."
place(park:"You are in a park...")
place(trees:"You are in a Japanese garden.")
place(river_edge:"The path ends at a river")
place(in_the_river:"You walk into the river
and drown.")
place(:park => "You are in a park...")
place(:trees => "You are in a Japanese garden.
place(:river_edge => "The path ends at a river
place(:in_the_river => "You walk into the rive
and drown.")
place(park:"You are in a park...")
place(trees:"You are in a Japanese garden.")
place(river_edge:"The path ends at a river")
place(in_the_river:"You walk into the river
and drown.")
place park:"You are in a park..."
place trees:"You are in a Japanese garden."
place river_edge:"The path ends at a river"
place in_the_river:"You walk into the river
and drown."
place park:"You are in a park..."
place trees:"You are in a Japanese garden."
place river_edge:"The path ends at a river"
place in_the_river:"You walk into the river
and drown."

park.path trees:north, river_edge:east
river_edge.path in_the_river:east!
place park:"You are in a park..."
place trees:"You are in a Japanese garden."
place river_edge:"The path ends at a river"
place in_the_river:"You walk into the river
and drown."

park.path trees:north, river_edge:east
river_edge.path in_the_river:east!
Metaprogramming
Ruby Techniques
             used in the Pie DSL




• method_missing
• blocks with instance_eval
pie game.pie



File.open(pie_file) do |f|


end
pie game.pie



File.open(pie_file) do |f|
  new_pie.instance_eval do
      eval(f.read)
end
place park:"You are...




def place(options)
  Place.new(places, options)
end
park.path trees:north




def method_missing(name)
    ...
end
park.path trees:north




def method_missing(name)
    place = places[name]
    ...
park.path trees:north




class Place

 def path
   ...
place park:"You are in a park..."
place trees:"You are in a Japanese garden."
place river_edge:"The path ends at a river"
place in_the_river:"You walk into the river
and drown."

park.path trees:north, river_edge:east
river_edge.path in_the_river:east!
place park:"You are in a park..."
place trees:"You are in a Japanese garden."
place river_edge:"The path ends at a river"
place in_the_river:"You walk into the river
and drown."

park.path trees:north, river_edge:east
river_edge.path in_the_river:east!
place park:"You are in a park..."
place trees:"You are in a Japanese garden."
place river_edge:"The path ends at a river"
place in_the_river:"You walk into the river
and drown."

park.path trees:north, river_edge:east
river_edge.path in_the_river:east!
place park:"You are in a park..."
place trees:"You are in a Japanese garden."
place river_edge:"The path ends at a river"
place in_the_river:"You walk into the river
and drown."

park.path trees:north, river_edge:east
river_edge.path in_the_river:east!
place park:"You are in a park..."
place trees:"You are in a Japanese garden."
place river_edge:"The path ends at a river"
place in_the_river:"You walk into the river
and drown."

park.path trees:north, river_edge:east
river_edge.path in_the_river:east!
place park:"You are in a park..."
place trees:"You are in a Japanese garden."
place river_edge:"The path ends at a river"
place in_the_river:"You walk into the river
and drown."

park.path trees:north, river_edge:east
river_edge.path in_the_river:east!
trees.path river_edge:"go through the trees"
Tech Notes
• Sinatra web app
  http://www.sinatrarb.com/
• Rails IDE
  http://rubyonrails.org/
• Rhodes mobile apps
  http://rhomobile.com/
What I Learned

• Installation is boring
• Teach Different Things
  language, environments, physical computing


• Seek Immediate Gratification
• Errors are part of the user experience
Next Steps

• Snazzier games
• Create a path to writing more code
• IDE improvements
https://github.com/blazingcloud/pie
                gem install pie

 https://github.com/blazingcloud/pie-bakery
        http://pie-bakery.heroku.com

 https://github.com/blazingcloud/mobile-pie
               rake run:iphone
               rake run:android


           @ultrasaurus
http://teachingkids.railsbridge.org/

Más contenido relacionado

La actualidad más candente

La actualidad más candente (20)

はいはいベイビークラス201608公開用
はいはいベイビークラス201608公開用はいはいベイビークラス201608公開用
はいはいベイビークラス201608公開用
 
よちよちトドラークラス201608公開用
よちよちトドラークラス201608公開用よちよちトドラークラス201608公開用
よちよちトドラークラス201608公開用
 
よちよちトドラークラス
よちよちトドラークラスよちよちトドラークラス
よちよちトドラークラス
 
20160819淀川生協 公開用
20160819淀川生協   公開用20160819淀川生協   公開用
20160819淀川生協 公開用
 
はいはいベイビークラス
はいはいベイビークラスはいはいベイビークラス
はいはいベイビークラス
 
しっかりトドラークラス201611公開用
しっかりトドラークラス201611公開用しっかりトドラークラス201611公開用
しっかりトドラークラス201611公開用
 
Atricles a an1
Atricles a an1Atricles a an1
Atricles a an1
 
EEON101
EEON101EEON101
EEON101
 
ころりんベイビークラス201611公開用
ころりんベイビークラス201611公開用ころりんベイビークラス201611公開用
ころりんベイビークラス201611公開用
 
Too Much Noise (Remixed By nchokkan@gmail.com)
Too Much Noise (Remixed By nchokkan@gmail.com)Too Much Noise (Remixed By nchokkan@gmail.com)
Too Much Noise (Remixed By nchokkan@gmail.com)
 
はいはいベイビークラス201611公開用
はいはいベイビークラス201611公開用はいはいベイビークラス201611公開用
はいはいベイビークラス201611公開用
 
しっかりトドラークラス201610
しっかりトドラークラス201610しっかりトドラークラス201610
しっかりトドラークラス201610
 
はいはいベイビークラス201608公開用
はいはいベイビークラス201608公開用はいはいベイビークラス201608公開用
はいはいベイビークラス201608公開用
 
よちよちトドラークラス201611公開用
よちよちトドラークラス201611公開用よちよちトドラークラス201611公開用
よちよちトドラークラス201611公開用
 
Fox is not scared
Fox is not scaredFox is not scared
Fox is not scared
 
ころりんベイビークラス201609公開
ころりんベイビークラス201609公開ころりんベイビークラス201609公開
ころりんベイビークラス201609公開
 
しっかりトドラークラス201609公開
しっかりトドラークラス201609公開しっかりトドラークラス201609公開
しっかりトドラークラス201609公開
 
よちよちトドラークラス201609公開用
よちよちトドラークラス201609公開用よちよちトドラークラス201609公開用
よちよちトドラークラス201609公開用
 
Cuento fox
Cuento foxCuento fox
Cuento fox
 
In front of and At the back of
In front of and At the back ofIn front of and At the back of
In front of and At the back of
 

Destacado

Object Oriented Programming Concepts
Object Oriented Programming ConceptsObject Oriented Programming Concepts
Object Oriented Programming Concepts
thinkphp
 

Destacado (10)

Kids computer-programming
Kids computer-programmingKids computer-programming
Kids computer-programming
 
Coding for Teachers and Kids Workshop Presentation
Coding for Teachers and Kids Workshop PresentationCoding for Teachers and Kids Workshop Presentation
Coding for Teachers and Kids Workshop Presentation
 
10 things I've learned teaching coding to kids
10 things I've learned teaching coding to kids 10 things I've learned teaching coding to kids
10 things I've learned teaching coding to kids
 
Hour of code handout for schools
Hour of code handout for schoolsHour of code handout for schools
Hour of code handout for schools
 
Hour Of Code : A Sample Lesson With Links To Activites
Hour Of Code : A Sample Lesson With Links To ActivitesHour Of Code : A Sample Lesson With Links To Activites
Hour Of Code : A Sample Lesson With Links To Activites
 
Loops Basics
Loops BasicsLoops Basics
Loops Basics
 
How to Teach how to Code for kids
How to Teach how to Code for kidsHow to Teach how to Code for kids
How to Teach how to Code for kids
 
Hour of Code: Best Practices for Successful Educators
Hour of Code: Best Practices for Successful EducatorsHour of Code: Best Practices for Successful Educators
Hour of Code: Best Practices for Successful Educators
 
Oops ppt
Oops pptOops ppt
Oops ppt
 
Object Oriented Programming Concepts
Object Oriented Programming ConceptsObject Oriented Programming Concepts
Object Oriented Programming Concepts
 

Similar a Teaching code literacy

1 a 14 editing workshop vocab test 3
1 a 14 editing workshop vocab test 31 a 14 editing workshop vocab test 3
1 a 14 editing workshop vocab test 3
jordanlachance
 
The earth is wonderful 2
The earth is wonderful 2The earth is wonderful 2
The earth is wonderful 2
Olga Gushcha
 
Writing Technology & Claro
Writing Technology & ClaroWriting Technology & Claro
Writing Technology & Claro
iansyst
 

Similar a Teaching code literacy (13)

Tom's TEFL - Prepositions of Place
Tom's TEFL - Prepositions of PlaceTom's TEFL - Prepositions of Place
Tom's TEFL - Prepositions of Place
 
From Red to Green and the Confusion Between
From Red to Green and the Confusion BetweenFrom Red to Green and the Confusion Between
From Red to Green and the Confusion Between
 
Iñigo carcar..the prepositions of place
Iñigo carcar..the prepositions of placeIñigo carcar..the prepositions of place
Iñigo carcar..the prepositions of place
 
Ling2 gengram
Ling2 gengramLing2 gengram
Ling2 gengram
 
Wb glob-pre interm-units 04-06
Wb glob-pre interm-units 04-06Wb glob-pre interm-units 04-06
Wb glob-pre interm-units 04-06
 
しっかりトドラークラス201701公開用
しっかりトドラークラス201701公開用しっかりトドラークラス201701公開用
しっかりトドラークラス201701公開用
 
1 a 14 editing workshop vocab test 3
1 a 14 editing workshop vocab test 31 a 14 editing workshop vocab test 3
1 a 14 editing workshop vocab test 3
 
The earth is wonderful 2
The earth is wonderful 2The earth is wonderful 2
The earth is wonderful 2
 
1 a 14 editing workshop vocab test 3
1 a 14 editing workshop vocab test 31 a 14 editing workshop vocab test 3
1 a 14 editing workshop vocab test 3
 
Importance of Sanskrit & Samhita in Ayurved : Welcome Address to Koppal Ayurv...
Importance of Sanskrit & Samhita in Ayurved : Welcome Address to Koppal Ayurv...Importance of Sanskrit & Samhita in Ayurved : Welcome Address to Koppal Ayurv...
Importance of Sanskrit & Samhita in Ayurved : Welcome Address to Koppal Ayurv...
 
Pronunciation
PronunciationPronunciation
Pronunciation
 
Writing Technology & Claro
Writing Technology & ClaroWriting Technology & Claro
Writing Technology & Claro
 
WaterForms of the Earth
WaterForms of the EarthWaterForms of the Earth
WaterForms of the Earth
 

Más de Sarah Allen

Más de Sarah Allen (20)

Internet security: a landscape of unintended consequences
Internet security: a landscape of unintended consequencesInternet security: a landscape of unintended consequences
Internet security: a landscape of unintended consequences
 
RTMP: how did we get to now? (Demuxed 2019)
RTMP: how did we get to now? (Demuxed 2019)RTMP: how did we get to now? (Demuxed 2019)
RTMP: how did we get to now? (Demuxed 2019)
 
Communication is a Technical Skill
Communication is a Technical SkillCommunication is a Technical Skill
Communication is a Technical Skill
 
Improving Federal Government Services
Improving Federal Government ServicesImproving Federal Government Services
Improving Federal Government Services
 
Transparency Wins
Transparency WinsTransparency Wins
Transparency Wins
 
A Short History of Computers
A Short History of ComputersA Short History of Computers
A Short History of Computers
 
Making Software Fun
Making Software FunMaking Software Fun
Making Software Fun
 
Power of Transparency
Power of TransparencyPower of Transparency
Power of Transparency
 
Designing for Fun
Designing for FunDesigning for Fun
Designing for Fun
 
Ruby in the US Government for Ruby World Conference
Ruby in the US Government for Ruby World ConferenceRuby in the US Government for Ruby World Conference
Ruby in the US Government for Ruby World Conference
 
Identities of Dead People
Identities of Dead PeopleIdentities of Dead People
Identities of Dead People
 
Let's pretend
Let's pretendLet's pretend
Let's pretend
 
3 Reasons Not to Use Ruby
3 Reasons Not to Use Ruby 3 Reasons Not to Use Ruby
3 Reasons Not to Use Ruby
 
Ruby Nation: Why no haz Ruby?
Ruby Nation: Why no haz Ruby?Ruby Nation: Why no haz Ruby?
Ruby Nation: Why no haz Ruby?
 
Why no ruby in gov?
Why no ruby in gov?Why no ruby in gov?
Why no ruby in gov?
 
People Patterns or What I learned from Toastmasters
People Patterns or What I learned from ToastmastersPeople Patterns or What I learned from Toastmasters
People Patterns or What I learned from Toastmasters
 
Blazing Cloud: Agile Product Development
Blazing Cloud: Agile Product DevelopmentBlazing Cloud: Agile Product Development
Blazing Cloud: Agile Product Development
 
Crowdsourced Transcription Landscape
Crowdsourced Transcription LandscapeCrowdsourced Transcription Landscape
Crowdsourced Transcription Landscape
 
Lessons Learned Future Thoughts
Lessons Learned Future ThoughtsLessons Learned Future Thoughts
Lessons Learned Future Thoughts
 
Mobile Web Video
Mobile Web VideoMobile Web Video
Mobile Web Video
 

Último

1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
QucHHunhnh
 
Seal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxSeal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptx
negromaestrong
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
heathfieldcps1
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global Impact
PECB
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
QucHHunhnh
 

Último (20)

This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptx
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy Consulting
 
Seal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxSeal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptx
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SD
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdf
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global Impact
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot Graph
 
Micro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfMicro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdf
 
Food Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-II
Food Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-IIFood Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-II
Food Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-II
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17
 
Class 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfClass 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdf
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
 
ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.
 

Teaching code literacy