teaching kids programming with the intentional method

53
with The Intentional Method By Lynn Langit & Llewellyn Falco

Upload: llewellyn-falco

Post on 08-Dec-2014

172 views

Category:

Education


1 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Teaching kids programming with the Intentional Method

with The Intentional Method

By Lynn Langit & Llewellyn Falco

Page 2: Teaching kids programming with the Intentional Method

What is TKP?O FREE & Fun Courseware (for ages

10+)O 8 units covering introductory

programming conceptsO Modular (up to 120 minutes per

module)O Tested on over 2,000 kids

O Repository of best teaching practicesO Written recommendationsO Video-based unit teacher training

Page 3: Teaching kids programming with the Intentional Method

Where is TKP?

Page 4: Teaching kids programming with the Intentional Method

SetupTeaching Programming

Traditional

Long Setup Manual Deploy

Agile Immediate Setup Single Click Deploy

Page 5: Teaching kids programming with the Intentional Method

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 minutes!

Page 6: Teaching kids programming with the Intentional Method

Experience 1: Recipe

Demo

Page 7: Teaching kids programming with the Intentional Method

Experience 1:RecipeExecuting their 1st program within 2 minutes

Page 8: Teaching kids programming with the Intentional Method

Teaching Programming

Traditional

Conceptual Lecture Full-blown Product

Agile Engage & See Minimum Marketable Feature

Experience 1:RecipeExecuting their 1st program within 2 minutes

Page 9: Teaching kids programming with the Intentional Method

Experience 1: RecipeCollaborative Learning

Page 10: Teaching kids programming with the Intentional Method

Teaching Programming

Traditional

Individual Learning Isolated Working

Agile Pairing Pairing

Experience 1:RecipeCollaborative Learning

Page 11: Teaching kids programming with the Intentional Method

5 Rules of Accelerated Learning

O KEEP IT ALIVEO HUNT FLUENCYO START OBVIOUSO STAY FOCUSEDO ADAPT THE SETTING

Page 12: Teaching kids programming with the Intentional Method

Types of learningO ExplicitO ExperienceO FluencyO AwarenessO InspirationO ConfidenceO AbstractionO Problem Solving

Page 13: Teaching kids programming with the Intentional Method

Experience 1: Recipe1 line English = 1 verifiable line code

i.e. lines 1,5,3, NOT 1, 2, 3

Page 14: Teaching kids programming with the Intentional Method

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

Page 15: Teaching kids programming with the Intentional Method

Experience 1: RecipeVirtual Proctor

Page 16: Teaching kids programming with the Intentional Method

Teaching Programming

Traditional

Turn in your Project Feedback Releases

Agile Rapid Feedback Onsite Costumer

Experience 1:RecipeVirtual Proctor

Page 17: Teaching kids programming with the Intentional Method

Experience 2: Recap

Demo

Page 18: Teaching kids programming with the Intentional Method

Experience 2: Recap

Exploring what we did

Page 19: Teaching kids programming with the Intentional Method

Teaching Programming

Traditional

Conceptual First Expert Staff

Agile Recap Retrospectives

Experience 2:RecapExploring what we did

Page 20: Teaching kids programming with the Intentional Method

Experience 2: Recap

Exploring Mistakes

Page 21: Teaching kids programming with the Intentional Method

Teaching Programming

Traditional

Follow Directions Don’t Make Mistakes

Agile Explore Learn from your Mistakes

Experience 2:RecapExploring Mistakes

Page 22: Teaching kids programming with the Intentional Method

Experience 2: Recap

Discovering Patterns

Page 23: Teaching kids programming with the Intentional Method

Teaching Programming

Traditional

Lecture & Listen Architecture

Agile Emergent Concepts Emergent Design

Experience 2:RecapDiscovering Patterns

Page 24: Teaching kids programming with the Intentional Method

Experience 2: Recap

Learning to use your IDE

Page 25: Teaching kids programming with the Intentional Method

Teaching Programming

Traditional

Don’t use calculators

Tool is powerful

Agile Master your tools Craftsmanship

Experience 2:RecapLearning to use your IDE

Page 26: Teaching kids programming with the Intentional Method

Experience 3: Variation

Demo

Page 27: Teaching kids programming with the Intentional Method

Experience 3: Variation

You can do the same thing with different code

Page 28: Teaching kids programming with the Intentional Method

Teaching Programming

Traditional

There is 1 right way Repurposing

Agile Refactoring Refactoring

Experience 2:VariationYou can do the same thing with different code

Page 29: Teaching kids programming with the Intentional Method

Experience 3: Variations

Joy, ownership

Page 30: Teaching kids programming with the Intentional Method

Teaching Programming

Traditional

Learning is Serious Resources

Agile Learning is Joyful People

Joy, ownership

Experience 2:Variation

Page 31: Teaching kids programming with the Intentional Method

Experience 3: Variation

Page 32: Teaching kids programming with the Intentional Method

Teaching Programming

Traditional

Teach whole concept Big Upfront Design

Agile Iterative Learning Incremental & Iterative

Experience 3:VariationVariations

Page 33: Teaching kids programming with the Intentional Method

Experience 3: VariationCoding is Joy

Page 34: Teaching kids programming with the Intentional Method

Experience 4: Quiz

Demo

Page 35: Teaching kids programming with the Intentional Method

Experience 4: QuizTeaching from the back of the room

Page 36: Teaching kids programming with the Intentional Method

Teaching Programming

Traditional

Lecture, Lab Assist, Grader

Specialist

Agile Facilitator & Teacher Cross Functional Team

Experience 4:QuizTeaching from the back of the room

Page 37: Teaching kids programming with the Intentional Method

Experience 4: Quiz½ way done

Page 38: Teaching kids programming with the Intentional Method

Teaching Programming

Traditional

Grades tomorrow QA

Agile Red…Green Red…Green

Experience 4:Quiz½ way done

Page 39: Teaching kids programming with the Intentional Method

Experience 4: Quiz

100% of pairs get 100% right

Page 40: Teaching kids programming with the Intentional Method

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

Page 41: Teaching kids programming with the Intentional Method

Experience 4: QuizQuizzes are rewards

Page 42: Teaching kids programming with the Intentional Method

Teaching Programming

Traditional

Quizzes suck! Death March

Agile Learning rocks! Happiness Matters

Experience 4:QuizQuizzes are rewards

Page 43: Teaching kids programming with the Intentional Method

Experience 5: Enrichment

Demo

Page 44: Teaching kids programming with the Intentional Method

Experience 5: Enrichment

Group learning

Page 45: Teaching kids programming with the Intentional Method

Teaching Programming

Traditional

Solo Solo

Agile Randori Mobbing

Experience 5: Enrichment

Group Learning

Page 46: Teaching kids programming with the Intentional Method

Experience 5: EnrichmentExperiment, run and try (again) good hacking!

Page 47: Teaching kids programming with the Intentional Method

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!

Page 48: Teaching kids programming with the Intentional Method

Experience 5: XtrasO Mini recipesO Warm-ups or fill-ins if pairs finish early

Page 49: Teaching kids programming with the Intentional Method

Next Steps For TeachersTry out the content – do the recipes

Page 50: Teaching kids programming with the Intentional Method

GitHub

lfal.co/tkpjava

Page 51: Teaching kids programming with the Intentional Method

Lessons1.Using Objects, Methods & For Loops2.Creating Methods3.If statements4.Mastery5.Recursion6.Model View Controller7.Events8.Test Driven Development

Page 52: Teaching kids programming with the Intentional Method

Next Steps - Teach

Page 53: Teaching kids programming with the Intentional Method

www.TeachingKidsProgramming.org

@Llewellyn Falcowww.ApprovalTests.com

@LynnLangitwww.lynnlangit.com