Teaching Kids Programming using the Intentional Method

773 views

Published on

Curriculum design for TKP Java courseware

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

  • Be the first to like this

No Downloads
Views
Total views
773
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
8
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • 6:20 in Houses recap
  • Both
  • Teaching Kids Programming using the Intentional Method

    1. 1. with The Intentional Method By Lynn Langit & Llewellyn Falco
    2. 2. What is TKP? • US-based non-profit run by volunteer professional developers • Co-founders have been teaching kids for 7 years • Offers free and open-source courseware and teacher- training materials in Java • Designed for kids ages 11-17 • Introduces core programming concepts • Used throughout the US and also world-wide
    3. 3. Core Principals Free & Open Source Fun for Girls and Boys Java with a customized IDE Implements XP technical practices
    4. 4. Where is TKP? Co-founders have personally taught more than 2,000 kids
    5. 5. Setup Teaching Programming Traditional Long Setup Manual Deploy Agile Immediate Setup Single Click Deploy
    6. 6. 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 7) Worksheet – 15 minutes
    7. 7. Experience 1:Recipe Executing their 1st program within 2 minutes
    8. 8. Teaching Programming Traditional Conceptual Lecture Full-blown Product Agile Engage & See Minimum Marketable Feature Experience 1:Recipe Executing their 1st program within 2 minutes
    9. 9. Experience 1: Recipe Collaborative Learning
    10. 10. Teaching Programming Traditional Individual Learning Isolated Working Agile Pairing Pairing Experience 1:Recipe Collaborative Learning
    11. 11. 5 Rules of Accelerated Learning O KEEP IT ALIVE O HUNT FLUENCY O START OBVIOUS O STAY FOCUSED O ADAPT THE SETTING
    12. 12. Types of learning Explicit Experience Fluency Awareness Inspiration Confidence Abstraction Problem Solving
    13. 13. Experience 1: Recipe 1 line English = 1 verifiable line code i.e. lines 1,5,3, NOT 1, 2, 3
    14. 14. 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
    15. 15. Experience 1: Recipe Virtual Proctor
    16. 16. Teaching Programming Traditional Turn in your Project Feedback Releases Agile Rapid Feedback Onsite Costumer Experience 1:Recipe Virtual Proctor
    17. 17. Experience 2: Recap Exploring what we did
    18. 18. Teaching Programming Traditional Conceptual First Expert Staff Agile Recap Retrospectives Experience 2:Recap Exploring what we did
    19. 19. Experience 2: Recap Exploring Mistakes
    20. 20. Teaching Programming Traditional Follow Directions Don’t Make Mistakes Agile Explore Learn from your Mistakes Experience 2:Recap Exploring Mistakes
    21. 21. Experience 2: Recap Discovering Patterns
    22. 22. Teaching Programming Traditional Lecture & Listen Architecture Agile Emergent Concepts Emergent Design Experience 2:Recap Discovering Patterns
    23. 23. Experience 2: Recap Learning to use your IDE
    24. 24. Teaching Programming Traditional Don’t use calculators Tool is powerful Agile Master your tools Craftsmanship Experience 2:Recap Learning to use your IDE
    25. 25. Experience 3: Variation You can do the same thing with different code
    26. 26. Teaching Programming Traditional There is 1 right way Repurposing Agile Refactoring Refactoring Experience 2:Variation You can do the same thing with different code
    27. 27. Experience 3: Variations Joy, ownership
    28. 28. Teaching Programming Traditional Learning is Serious Resources Agile Learning is Joyful People Joy, ownership Experience 2:Variation
    29. 29. Experience 3: Variation
    30. 30. Teaching Programming Traditional Teach whole concept Big Upfront Design Agile Iterative Learning Incremental & Iterative Experience 3:Variation Variations
    31. 31. Experience 3: Variation Coding is Joy
    32. 32. Experience 4: Quiz Teaching from the back of the room
    33. 33. Teaching Programming Traditional Lecture, Lab Assist, Grader Specialist Agile Facilitator & Teacher Cross Functional Team Experience 4:Quiz Teaching from the back of the room
    34. 34. Experience 4: Quiz ½ way done
    35. 35. Teaching Programming Traditional Grades tomorrow QA Agile Red…Green Red…Green Experience 4:Quiz ½ way done
    36. 36. Experience 4: Quiz 100% of pairs get 100% right
    37. 37. 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
    38. 38. Experience 4: Quiz Quizzes are rewards
    39. 39. Teaching Programming Traditional Quizzes suck! Death March Agile Learning rocks! Happiness Matters Experience 4:Quiz Quizzes are rewards
    40. 40. Experience 5: Deep Dive Group learning
    41. 41. Teaching Programming Traditional Solo Solo Agile Randori Mobbing Experience 5: Deep Dive Group Learning
    42. 42. Experience 5: Deep Dive Experiment, run and try (again)  good hacking!
    43. 43. Teaching Programming Traditional Time is fixed, mastery will vary Fixed Scope Agile Mastery is fixed, time will vary Potentially Shippable Experience 5: Deep Dive Experiment, run and try (again)  good hacking!
    44. 44. Teaching Programming Traditional Lecture on concepts before hands-on labs Read all requirements then design, then code Agile Experiential learning with conceptual understanding AFTER labs Code one story at a time, retrospect after coding Experience 6: Worksheet Written exercise to verify conceptual understanding
    45. 45. Worksheet example
    46. 46. Experience 7: Extras O Mini recipes O Warm-ups or fill-ins if pairs finish early O Could also be done alone to verify mastery of concepts
    47. 47. Next Steps For Teachers Try out the content – do the recipes
    48. 48. GitHub lfal.co/tkpjava
    49. 49. TKP Java Courses Using Objects, Methods & For Loops Creating Methods If statements Code Mastery Recursion Model View Controller Events Test Driven Development
    50. 50. Get started teaching Go to the Teachers section of the TKP site Download the free lesson plans
    51. 51. @Llewellyn Falco www.ApprovalTests.com @LynnLangit www.lynnlangit.com

    ×