Teaching Kids Programming using Agile Practices

  • 615 views
Uploaded 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.

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.

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
615
On Slideshare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
30
Comments
0
Likes
2

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 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 Don’t 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 Don’t 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 Red…Green Red…Green Experience 4:Quiz ½ way done
  • 35. Experience 4: Quiz 100% of pairs get 100% right
  • 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. 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