0
with The Intentional Method
By Lynn Langit & Llewellyn Falco
What is TKP?
• US-based non-profit run by
volunteer professional
developers
• Co-founders have been
teaching kids for 7 ye...
Core Principals
Free & Open Source
Fun for Girls and Boys
Java with a customized IDE
Implements XP technical practices
Where is TKP?
Co-founders have personally taught more than 2,000 kids
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: Deep Dive
Group learning
Teaching Programming
Traditional Solo Solo
Agile Randori Mobbing
Experience 5: Deep Dive
Group Learning
Experience 5: Deep Dive
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...
Teaching Programming
Traditional Lecture on concepts
before hands-on labs
Read all requirements
then design, then code
Agi...
Worksheet example
Experience 7: Extras
O Mini recipes
O Warm-ups or fill-ins if pairs finish early
O Could also be done alone to verify mast...
Next Steps For Teachers
Try out the content – do the recipes
GitHub
lfal.co/tkpjava
TKP Java Courses
Using Objects,
Methods & For
Loops
Creating
Methods
If statements
Code Mastery Recursion
Model View
Contr...
Get started teaching
Go to the Teachers section of the TKP site
Download the free lesson plans
@Llewellyn Falco
www.ApprovalTests.com
@LynnLangit
www.lynnlangit.com
Teaching Kids Programming using the Intentional Method
Teaching Kids Programming using the Intentional Method
Teaching Kids Programming using the Intentional Method
Teaching Kids Programming using the Intentional Method
Teaching Kids Programming using the Intentional Method
Upcoming SlideShare
Loading in...5
×

Teaching Kids Programming using the Intentional Method

450

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
450
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
7
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • 6:20 in Houses recap
  • Both
  • Transcript of "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
    1. A particular slide catching your eye?

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

    ×