Teaching Kids Programming using Agile Practices

Embed Size (px)

DESCRIPTION

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.

Citation preview

  • 1.with The Intentional Method By Lynn Langit & Llewellyn Falco

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. Where is TKP? 4. Setup Teaching Programming Traditional Long Setup Manual Deploy Agile Immediate Setup Single Click Deploy 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. Experience 1:Recipe Executing their 1st program within 2 minutes 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. Experience 1: Recipe Collaborative Learning 9. Teaching Programming Traditional Individual Learning Isolated Working Agile Pairing Pairing Experience 1:Recipe Collaborative Learning 10. 5 Rules of Accelerated Learning O KEEP IT ALIVE O HUNT FLUENCY O START OBVIOUS O STAY FOCUSED O ADAPT THE SETTING 11. Types of learning Explicit Experience Fluency Awareness Inspiration Confidence Abstraction Problem Solving 12. Experience 1: Recipe 1 line English = 1 verifiable line code i.e. lines 1,5,3, NOT 1, 2, 3 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. Experience 1: Recipe Virtual Proctor 15. Teaching Programming Traditional Turn in your Project Feedback Releases Agile Rapid Feedback Onsite Costumer Experience 1:Recipe Virtual Proctor 16. Experience 2: Recap Exploring what we did 17. Teaching Programming Traditional Conceptual First Expert Staff Agile Recap Retrospectives Experience 2:Recap Exploring what we did 18. Experience 2: Recap Exploring Mistakes 19. Teaching Programming Traditional Follow Directions Dont Make Mistakes Agile Explore Learn from your Mistakes Experience 2:Recap Exploring Mistakes 20. Experience 2: Recap Discovering Patterns 21. Teaching Programming Traditional Lecture & Listen Architecture Agile Emergent Concepts Emergent Design Experience 2:Recap Discovering Patterns 22. Experience 2: Recap Learning to use your IDE 23. Teaching Programming Traditional Dont use calculators Tool is powerful Agile Master your tools Craftsmanship Experience 2:Recap Learning to use your IDE 24. Experience 3: Variation You can do the same thing with different code 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. Experience 3: Variations Joy, ownership 27. Teaching Programming Traditional Learning is Serious Resources Agile Learning is Joyful People Joy, ownership Experience 2:Variation 28. Experience 3: Variation 29. Teaching Programming Traditional Teach whole concept Big Upfront Design Agile Iterative Learning Incremental & Iterative Experience 3:Variation Variations 30. Experience 3: Variation Coding is Joy 31. Experience 4: Quiz Teaching from the back of the room 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. Experience 4: Quiz way done 34. Teaching Programming Traditional Grades tomorrow QA Agile RedGreen RedGreen Experience 4:Quiz way done 35. Experience 4: Quiz 100% of pairs get 100% right 36. Teaching Programming Traditional Quizzes show what you didnt learn Release Criteria Agile Quizzes show what you did learn Continuous Intergration Experience 4:Quiz 100% pass rate 37. Experience 4: Quiz Quizzes are rewards 38. Teaching Programming Traditional Quizzes suck! Death March Agile Learning rocks! Happiness Matters Experience 4:Quiz Quizzes are rewards 39. Experience 5: Enrichment Group learning 40. Teaching Programming Traditional Solo Solo Agile Randori Mobbing Experience 5: Enrichment Group Learning 41. Experience 5: Enrichment Experiment, run and try (again) good hacking! 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. Experience 5: Extras O Mini recipes O Warm-ups or fill-ins if pairs finish early 44. Next Steps For Teachers Try out the content do the recipes 45. GitHub lfal.co/tkpjava 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. Next Steps - Teach 48. www.TeachingKidsProgramming.org @Llewellyn Falco www.ApprovalTests.com @LynnLangit www.lynnlangit.com