Teaching Kids Programming using Agile Practices

1,143 views
928 views

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
1,143
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
33
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

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

×