teaching kids programming using the intentional method

38
The Intentional Method of Teaching Kids Programming By Lynn Langit & Llewellyn Falco

Upload: lynn-langit

Post on 13-Nov-2014

9.712 views

Category:

Business


0 download

DESCRIPTION

Deck for TK

TRANSCRIPT

Page 1: Teaching Kids Programming using the Intentional Method

The Intentional Method ofTeaching Kids Programming

By Lynn Langit & Llewellyn Falco

Page 2: Teaching Kids Programming using the Intentional Method

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

10+)O 12 units covering introductory

programming conceptsO Modular (up to 90 minutes per module)O Tested on over 1,000 kids

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

Page 3: Teaching Kids Programming using the Intentional Method

Where is TKP?

Page 4: Teaching Kids Programming using the Intentional Method

Which Topics?

Page 5: Teaching Kids Programming using the Intentional Method

Who is teaching TKP?

O Middle/high school teachers – in schoolO 15 US statesO 10 foreign countries

O Volunteer Developers – after schoolO One-time Events O Series (on-going)

Events

Page 7: Teaching Kids Programming using the Intentional Method

Agile & Intentional Agile Principles Agile Applied

O Pair programmingO Rapid FeedbackO Sprints

O Pair teaching / learning

O Run after EACH lineO Break after sectionIntentional Coding

O English (comments)

O Into SmallBasicO (Verify) RunO Then delete English

Page 8: Teaching Kids Programming using 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– 20-30 minutes7) Next Steps – START TEACHING TKP

courseware!

Page 9: Teaching Kids Programming using the Intentional Method

Experience 1: Recipe

Click icon to add picture

Demo

Page 10: Teaching Kids Programming using the Intentional Method

Experience 1:RecipeO Agile principle - No Big Upfront DesignO Executing their 1st program within minutes of

the class starting.

Page 11: Teaching Kids Programming using the Intentional Method

Experience 1: RecipeO Agile Principle - Pair Programming (strict)O Pair Teaching – teach by asking questions

Page 12: Teaching Kids Programming using the Intentional Method

Experience 1: RecipeO Agile principles – TDD & Definition of DoneO Small feedback loopO 1 line English = 1 line code, teach in ‘see it’ order, i.e.

lines 1,5,3, NOT 1, 2, 3

Page 13: Teaching Kids Programming using the Intentional Method

Experience 1: RecipeO Agile principles – TDD & Definition of DoneO Actual Proctors – 1 for each 10 pairs of kidsO Virtual Proctor – 1 for instructors & 1 for proctors

Page 14: Teaching Kids Programming using the Intentional Method

Experience 2: Recap

Click icon to add picture

Demo

Page 15: Teaching Kids Programming using the Intentional Method

Experience 2: RecapO Agile Principle – RetrospectiveO Instructor – Led Retrospectives

Page 16: Teaching Kids Programming using the Intentional Method

Experience 2: Recap

O Exploring MistakesO Instructors deliberately introduce errors

Page 17: Teaching Kids Programming using the Intentional Method

Experience 2: RecapO Agile Principle - Emerging Concepts O Learning to translate – introducing programming terms

Page 18: Teaching Kids Programming using the Intentional Method

Experience 2: RecapO Agile Principles - Tools /

CraftsmanshipO Learning to use your IDE &

Documentation

Page 19: Teaching Kids Programming using the Intentional Method

Experience 3: Variation

Click icon to add picture

Demo

Page 20: Teaching Kids Programming using the Intentional Method

Experience 3: Variation

O Agile Principle – RefactoringO Expose (refactor)Simple Change Complex Change

Page 21: Teaching Kids Programming using the Intentional Method

Experience 3: VariationsO “But, can I take it home?”O Joy, ownership

Page 22: Teaching Kids Programming using the Intentional Method

Experience 3: Variation

Page 23: Teaching Kids Programming using the Intentional Method

Experience 3: VariationO Coding is Joy

Page 24: Teaching Kids Programming using the Intentional Method

Experience 4: Quiz

Click icon to add picture

Demo

Page 25: Teaching Kids Programming using the Intentional Method

Experience 4: QuizO Teaching from the back of the roomO Facilitate by asking questions

Page 26: Teaching Kids Programming using the Intentional Method

Experience 4: QuizO Quiz in the editor, using the languageO Run each line (question) as many times as neededO Reward shape, reinforces variations

Page 27: Teaching Kids Programming using the Intentional Method

Experience 4: QuizO Recognizing MasteryO 100% of pairs get 100% right

Page 28: Teaching Kids Programming using the Intentional Method

Experience 4: QuizO Quizzes are rewards

Page 29: Teaching Kids Programming using the Intentional Method

Experience 5: Enrichment

Click icon to add picture

Demo

Page 30: Teaching Kids Programming using the Intentional Method

Experience 5: Enrichment

O Agile Principle - Craftsmanship O Koans - Cementing new concepts

Page 31: Teaching Kids Programming using the Intentional Method

Experience 5: EnrichmentO Extends quizzes - facilitated, not taughtO Experiment, run and try (again) good hacking!

Page 32: Teaching Kids Programming using the Intentional Method

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

For teachers – SPIRAL with line numbers (to do) = SQD946

Page 33: Teaching Kids Programming using the Intentional Method

Next Steps For TeachersO Try out the content – do the recipes

Page 35: Teaching Kids Programming using the Intentional Method

Next Steps For TeachersO Try out the teacher content – read and watch hereO Teach in pairs

Page 36: Teaching Kids Programming using the Intentional Method

Next Steps for TKPO More

CoursewareO Fill in the library

O QuizzesO Homework

O GamesO Katas

O More Teacher ResourcesO VariationsO VideosO Experience

Reports

Page 38: Teaching Kids Programming using the Intentional Method

www.TeachingKidsProgramming.org

Llewellyn Falcowww.ApprovalTests.com

Twitter: @isidore_us

Lynn Langitblogs.msdn.com/SoCalDevGal

Twitter: @llangit