Your SlideShare is downloading. ×
0
with The Intentional Method
By Lynn Langit & Llewellyn Falco
What is TKP?
• 8 units covering introductory programming concepts
• Modular (up to 120 minutes per module)
• Tested on ove...
Where is TKP?
Setup
Teaching Programming
Traditional Long Setup Manual Deploy
Agile Immediate Setup Single Click Deploy
Experience Areas
1) Setup – 0-15 minutes for 30 students
2) Recipe – 15-20 minutes
3) Recap – 5-10 minutes
4) Variation – ...
Experience 1:Recipe
Executing their 1st program within 2 minutes
Teaching Programming
Traditional Conceptual Lecture Full-blown Product
Agile Engage & See Minimum Marketable
Feature
Exper...
Experience 1: Recipe
Collaborative Learning
Teaching Programming
Traditional Individual Learning Isolated Working
Agile Pairing Pairing
Experience 1:Recipe
Collaborat...
5 Rules
of Accelerated Learning
O KEEP IT ALIVE
O HUNT FLUENCY
O START OBVIOUS
O STAY FOCUSED
O ADAPT THE SETTING
Types of learning
Explicit
Experience
Fluency
Awareness
Inspiration
Confidence
Abstraction
Problem Solving
Experience 1: Recipe
1 line English = 1 verifiable line code
i.e. lines 1,5,3, NOT 1, 2, 3
Teaching Programming
Traditional Big Exercises Test After
Agile Small Feedback Loop Test First
Experience 1:Recipe
1 line ...
Experience 1: Recipe
Virtual Proctor
Teaching Programming
Traditional Turn in your Project Feedback Releases
Agile Rapid Feedback Onsite Costumer
Experience 1:...
Experience 2: Recap
Exploring what we did
Teaching Programming
Traditional Conceptual First Expert Staff
Agile Recap Retrospectives
Experience 2:Recap
Exploring wha...
Experience 2: Recap
Exploring Mistakes
Teaching Programming
Traditional Follow Directions Don’t Make Mistakes
Agile Explore Learn from your Mistakes
Experience 2...
Experience 2: Recap
Discovering Patterns
Teaching Programming
Traditional Lecture & Listen Architecture
Agile Emergent Concepts Emergent Design
Experience 2:Recap
...
Experience 2: Recap
Learning to use your IDE
Teaching Programming
Traditional Don’t use calculators Tool is powerful
Agile Master your tools Craftsmanship
Experience 2...
Experience 3: Variation
You can do the same thing with different code
Teaching Programming
Traditional There is 1 right way Repurposing
Agile Refactoring Refactoring
Experience 2:Variation
You...
Experience 3: Variations
Joy, ownership
Teaching Programming
Traditional Learning is Serious Resources
Agile Learning is Joyful People
Joy, ownership
Experience 2...
Experience 3: Variation
Teaching Programming
Traditional Teach whole concept Big Upfront Design
Agile Iterative Learning Incremental & Iterative
E...
Experience 3: Variation
Coding is Joy
Experience 4: Quiz
Teaching from the back of the room
Teaching Programming
Traditional Lecture, Lab Assist,
Grader
Specialist
Agile Facilitator & Teacher Cross Functional Team
...
Experience 4: Quiz
½ way done
Teaching Programming
Traditional Grades tomorrow QA
Agile Red…Green Red…Green
Experience 4:Quiz
½ way done
Experience 4: Quiz
100% of pairs get 100% right
Teaching Programming
Traditional Quizzes show what you
didn’t learn
Release Criteria
Agile Quizzes show what you
did learn...
Experience 4: Quiz
Quizzes
are rewards
Teaching Programming
Traditional Quizzes suck! Death March
Agile Learning rocks! Happiness Matters
Experience 4:Quiz
Quizz...
Experience 5: Enrichment
Group learning
Teaching Programming
Traditional Solo Solo
Agile Randori Mobbing
Experience 5: Enrichment
Group Learning
Experience 5: Enrichment
Experiment, run and try (again)  good hacking!
Teaching Programming
Traditional Time is fixed, mastery will
vary
Fixed Scope
Agile Mastery is fixed, time will
vary
Poten...
Experience 5: Extras
O Mini recipes
O Warm-ups or fill-ins if pairs finish early
Next Steps For Teachers
Try out the content – do the recipes
GitHub
lfal.co/tkpjava
TKP Lessons Ready Now
Using Objects,
Methods &
For Loops
Creating
Methods
If statements
Code Mastery Recursion
Model View
...
Next Steps - Teach
www.TeachingKidsProgramming.org
@Llewellyn Falco
www.ApprovalTests.com
@LynnLangit
www.lynnlangit.com
Teaching Kids Programming using Agile Practices
Teaching Kids Programming using Agile Practices
Teaching Kids Programming using Agile Practices
Teaching Kids Programming using Agile Practices
Teaching Kids Programming using Agile Practices
Upcoming SlideShare
Loading in...5
×

Teaching Kids Programming using Agile Practices

730

Published on

deck from talk at Agile PDX UG, describes the application of Agile technical practices to TKP teaching practices for introducing kids ages 10+ to programming.

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
730
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
32
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Transcript of "Teaching Kids Programming using Agile Practices"

  1. 1. with The Intentional Method By Lynn Langit & Llewellyn Falco
  2. 2. What is TKP? • 8 units covering introductory programming concepts • Modular (up to 120 minutes per module) • Tested on over 2,000 kids FREE & Fun Courseware (for ages 10+) • Written recommendations • Video-based unit teacher training Repository of best teaching practices
  3. 3. Where is TKP?
  4. 4. Setup Teaching Programming Traditional Long Setup Manual Deploy Agile Immediate Setup Single Click Deploy
  5. 5. Experience Areas 1) Setup – 0-15 minutes for 30 students 2) Recipe – 15-20 minutes 3) Recap – 5-10 minutes 4) Variation – 10-15 minutes 5) Quiz – 10-15 minutes 6) Enrichment– 30-45 minutes!
  6. 6. Experience 1:Recipe Executing their 1st program within 2 minutes
  7. 7. Teaching Programming Traditional Conceptual Lecture Full-blown Product Agile Engage & See Minimum Marketable Feature Experience 1:Recipe Executing their 1st program within 2 minutes
  8. 8. Experience 1: Recipe Collaborative Learning
  9. 9. Teaching Programming Traditional Individual Learning Isolated Working Agile Pairing Pairing Experience 1:Recipe Collaborative Learning
  10. 10. 5 Rules of Accelerated Learning O KEEP IT ALIVE O HUNT FLUENCY O START OBVIOUS O STAY FOCUSED O ADAPT THE SETTING
  11. 11. Types of learning Explicit Experience Fluency Awareness Inspiration Confidence Abstraction Problem Solving
  12. 12. Experience 1: Recipe 1 line English = 1 verifiable line code i.e. lines 1,5,3, NOT 1, 2, 3
  13. 13. Teaching Programming Traditional Big Exercises Test After Agile Small Feedback Loop Test First Experience 1:Recipe 1 line English = 1 verifiable line code i.e. lines 1,5,3, NOT 1, 2, 3
  14. 14. Experience 1: Recipe Virtual Proctor
  15. 15. Teaching Programming Traditional Turn in your Project Feedback Releases Agile Rapid Feedback Onsite Costumer Experience 1:Recipe Virtual Proctor
  16. 16. Experience 2: Recap Exploring what we did
  17. 17. Teaching Programming Traditional Conceptual First Expert Staff Agile Recap Retrospectives Experience 2:Recap Exploring what we did
  18. 18. Experience 2: Recap Exploring Mistakes
  19. 19. Teaching Programming Traditional Follow Directions Don’t Make Mistakes Agile Explore Learn from your Mistakes Experience 2:Recap Exploring Mistakes
  20. 20. Experience 2: Recap Discovering Patterns
  21. 21. Teaching Programming Traditional Lecture & Listen Architecture Agile Emergent Concepts Emergent Design Experience 2:Recap Discovering Patterns
  22. 22. Experience 2: Recap Learning to use your IDE
  23. 23. Teaching Programming Traditional Don’t use calculators Tool is powerful Agile Master your tools Craftsmanship Experience 2:Recap Learning to use your IDE
  24. 24. Experience 3: Variation You can do the same thing with different code
  25. 25. Teaching Programming Traditional There is 1 right way Repurposing Agile Refactoring Refactoring Experience 2:Variation You can do the same thing with different code
  26. 26. Experience 3: Variations Joy, ownership
  27. 27. Teaching Programming Traditional Learning is Serious Resources Agile Learning is Joyful People Joy, ownership Experience 2:Variation
  28. 28. Experience 3: Variation
  29. 29. Teaching Programming Traditional Teach whole concept Big Upfront Design Agile Iterative Learning Incremental & Iterative Experience 3:Variation Variations
  30. 30. Experience 3: Variation Coding is Joy
  31. 31. Experience 4: Quiz Teaching from the back of the room
  32. 32. Teaching Programming Traditional Lecture, Lab Assist, Grader Specialist Agile Facilitator & Teacher Cross Functional Team Experience 4:Quiz Teaching from the back of the room
  33. 33. Experience 4: Quiz ½ way done
  34. 34. Teaching Programming Traditional Grades tomorrow QA Agile Red…Green Red…Green Experience 4:Quiz ½ way done
  35. 35. Experience 4: Quiz 100% of pairs get 100% right
  36. 36. Teaching Programming Traditional Quizzes show what you didn’t learn Release Criteria Agile Quizzes show what you did learn Continuous Intergration Experience 4:Quiz 100% pass rate
  37. 37. Experience 4: Quiz Quizzes are rewards
  38. 38. Teaching Programming Traditional Quizzes suck! Death March Agile Learning rocks! Happiness Matters Experience 4:Quiz Quizzes are rewards
  39. 39. Experience 5: Enrichment Group learning
  40. 40. Teaching Programming Traditional Solo Solo Agile Randori Mobbing Experience 5: Enrichment Group Learning
  41. 41. Experience 5: Enrichment Experiment, run and try (again)  good hacking!
  42. 42. Teaching Programming Traditional Time is fixed, mastery will vary Fixed Scope Agile Mastery is fixed, time will vary Potentially Shippable Experience 5: Enrichment Experiment, run and try (again)  good hacking!
  43. 43. Experience 5: Extras O Mini recipes O Warm-ups or fill-ins if pairs finish early
  44. 44. Next Steps For Teachers Try out the content – do the recipes
  45. 45. GitHub lfal.co/tkpjava
  46. 46. TKP Lessons Ready Now Using Objects, Methods & For Loops Creating Methods If statements Code Mastery Recursion Model View Controller Events Test Driven Development
  47. 47. Next Steps - Teach
  48. 48. www.TeachingKidsProgramming.org @Llewellyn Falco www.ApprovalTests.com @LynnLangit www.lynnlangit.com
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×