Upload
lynn-langit
View
405
Download
1
Embed Size (px)
DESCRIPTION
Curriculum design for TKP Java courseware
Citation preview
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 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
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
SetupTeaching 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 minutes3) Recap – 5-10 minutes4) Variation – 10-15 minutes5) Quiz – 10-15 minutes6) Enrichment– 30-45 minutes7) Worksheet – 15 minutes
Experience 1: Recipe
Demo
Experience 1:RecipeExecuting their 1st program within 2 minutes
Teaching Programming
Traditional
Conceptual Lecture Full-blown Product
Agile Engage & See Minimum Marketable Feature
Experience 1:RecipeExecuting their 1st program within 2 minutes
Experience 1: RecipeCollaborative Learning
Teaching Programming
Traditional
Individual Learning Isolated Working
Agile Pairing Pairing
Experience 1:RecipeCollaborative Learning
5 Rules of Accelerated Learning
O KEEP IT ALIVEO HUNT FLUENCYO START OBVIOUSO STAY FOCUSEDO ADAPT THE SETTING
Types of learning
Explicit Experience Fluency
Awareness
Inspiration
Confidence
Abstraction
Problem Solving
Experience 1: Recipe1 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:Recipe1 line English = 1 verifiable line code
i.e. lines 1,5,3, NOT 1, 2, 3
Experience 1: RecipeVirtual Proctor
Teaching Programming
Traditional
Turn in your Project Feedback Releases
Agile Rapid Feedback Onsite Costumer
Experience 1:RecipeVirtual Proctor
Experience 2: Recap
Demo
Experience 2: Recap
Exploring what we did
Teaching Programming
Traditional
Conceptual First Expert Staff
Agile Recap Retrospectives
Experience 2:RecapExploring what we did
Experience 2: Recap
Exploring Mistakes
Teaching Programming
Traditional
Follow Directions Don’t Make Mistakes
Agile Explore Learn from your Mistakes
Experience 2:RecapExploring Mistakes
Experience 2: Recap
Discovering Patterns
Teaching Programming
Traditional
Lecture & Listen Architecture
Agile Emergent Concepts Emergent Design
Experience 2:RecapDiscovering Patterns
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:RecapLearning to use your IDE
Experience 3: Variation
Demo
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:VariationYou can do the same thing with different code
Experience 3: Variations
Joy, ownership
Teaching Programming
Traditional
Learning is Serious Resources
Agile Learning is Joyful People
Joy, ownership
Experience 2:Variation
Experience 3: Variation
Teaching Programming
Traditional
Teach whole concept Big Upfront Design
Agile Iterative Learning Incremental & Iterative
Experience 3:VariationVariations
Experience 3: VariationCoding is Joy
Experience 4: Quiz
Demo
Experience 4: QuizTeaching from the back of the room
Teaching Programming
Traditional
Lecture, Lab Assist, Grader
Specialist
Agile Facilitator & Teacher Cross Functional Team
Experience 4:QuizTeaching from the back of the room
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
Continuous Intergration
Experience 4:Quiz100% pass rate
Experience 4: QuizQuizzes are rewards
Teaching Programming
Traditional
Quizzes suck! Death March
Agile Learning rocks! Happiness Matters
Experience 4:QuizQuizzes are rewards
Experience 5: Enrichment
Demo
Experience 5: Deep Dive
Group learning
Teaching Programming
Traditional
Solo Solo
Agile Randori Mobbing
Experience 5: Deep DiveGroup Learning
Experience 5: Deep DiveExperiment, run and try (again) good hacking!
Teaching Programming
Traditional Time is fixed, mastery will vary
Fixed Scope
Agile Mastery is fixed, time will vary
Potentially Shippable
Experience 5: Deep DiveExperiment, run and try (again) good hacking!
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: WorksheetWritten exercise to verify conceptual
understanding
Worksheet example
Experience 7: ExtrasO Mini recipesO Warm-ups or fill-ins if pairs finish earlyO Could also be done alone to verify mastery of concepts
Next Steps For TeachersTry out the content – do the recipes
GitHub
lfal.co/tkpjava
TKP Java CoursesUsing
Objects, Methods & For Loops
Creating Methods
If statements
Code Mastery Recursion Model View
Controller
EventsTest Driven Developme
nt
Get started teachingGo to the Teachers section of the TKP site
Download the free lesson plans
@Llewellyn Falcowww.ApprovalTests.com
@LynnLangitwww.lynnlangit.com