This document describes Teaching Kids Programming (TKP), a free and modular programming courseware for teaching programming concepts to kids ages 10 and up. TKP has been tested on over 2,000 kids and takes an agile approach, emphasizing quick setup, collaborative and iterative learning, and rapid feedback. The course is organized into units that each focus on an experience area like "Recipe", "Recap", or "Quiz". These experiences guide students through activities like executing their first program within minutes, exploring mistakes to discover patterns, and taking quizzes where 100% of pairs get 100% right. The goal is for students to experience the joy of programming through experimentation and variations on ideas. Teachers are encouraged to try
2. What is TKP?
O FREE & Fun Courseware (for ages 10+)
O 8 units covering introductory programming
concepts
O Modular (up to 120 minutes per module)
O Tested on over 2,000 kids
O Repository of best teaching practices
O Written recommendations
O Video-based unit teacher training
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
12. Types of learning
O Explicit
O Experience
O Fluency
O Awareness
O Inspiration
O Confidence
O Abstraction
O Problem Solving
13. Experience 1: Recipe
1 line English = 1 verifiable line code
i.e. lines 1,5,3, NOT 1, 2, 3
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
25. Teaching Programming
Traditional Don’t use calculators Tool is powerful
Agile Master your tools Craftsmanship
Experience 2:Recap
Learning to use your IDE
28. Teaching Programming
Traditional There is 1 right way Repurposing
Agile Refactoring Refactoring
Experience 2:Variation
You can do the same thing with different code
36. Teaching Programming
Traditional Lecture, Lab Assist,
Grader
Specialist
Agile Facilitator & Teacher Cross Functional Team
Experience 4:Quiz
Teaching from the back of the room
40. 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
47. 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!