teaching kids programming with agile 2011

51
Setup: 1) Find a pair 2) Have a computer w/ windows 3) Get a flashdrive 4) Open Smallbasic (sb.exe)

Upload: llewellyn-falco

Post on 08-Dec-2014

3.260 views

Category:

Education


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Teaching kids programming with agile 2011

Setup:1) Find a pair 2) Have a computer w/ windows3) Get a flashdrive4) Open Smallbasic (sb.exe)

Page 2: Teaching kids programming with agile 2011

The Intentional Method ofTeaching Kids Programming

By Lynn Langit & Llewellyn Falco

Page 3: Teaching kids programming with agile 2011

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 4: Teaching kids programming with agile 2011

Where is TKP?

Page 5: Teaching kids programming with agile 2011

Setup on a USBO Instant Setup

Page 6: Teaching kids programming with agile 2011

Setup on a USBTeaching Programming

Traditional

Long Setup Manual Deploy

Agile Immediate Setup Single Click Deploy

Page 7: Teaching kids programming with agile 2011

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

Page 8: Teaching kids programming with agile 2011

Experience 1: Recipe

Click icon to add picture

Demo

Page 9: Teaching kids programming with agile 2011

Experience 1:RecipeO Executing their 1st program within 2 minutes

Page 10: Teaching kids programming with agile 2011

Teaching Programming

Traditional

Conceptual Lecture Full-blown Product

Agile Engage & See Minimum Marketable Feature

Experience 1:RecipeO Executing their 1st program within 2 minutes

Page 11: Teaching kids programming with agile 2011

Experience 1: RecipeO Collaborative Learning

Page 12: Teaching kids programming with agile 2011

Teaching Programming

Traditional

Individual Learning Isolated Working

Agile Pairing Pairing

Experience 1:RecipeO Collaborative Learning

Page 13: Teaching kids programming with agile 2011

Experience 1: RecipeO 1 line English = 1 verifiable line code

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

Page 14: Teaching kids programming with agile 2011

Teaching Programming

Traditional

Big Exercises Test After

Agile Small Feedback Loop

Test First

Experience 1:RecipeO 1 line English = 1 verifiable line code

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

Page 15: Teaching kids programming with agile 2011

Experience 1: RecipeO Virtual Proctor

Page 16: Teaching kids programming with agile 2011

Teaching Programming

Traditional

Turn in your Project Feedback Releases

Agile Rapid Feedback Onsite Costumer

Experience 1:RecipeO Virtual Proctor

Page 17: Teaching kids programming with agile 2011

Experience 2: Recap

Click icon to add picture

Demo

Page 18: Teaching kids programming with agile 2011

Experience 2: RecapO Exploring what we did

Page 19: Teaching kids programming with agile 2011

Teaching Programming

Traditional

Conceptual First Expert Staff

Agile Recap Retrospectives

Experience 2:RecapO Exploring what we did

Page 20: Teaching kids programming with agile 2011

Experience 2: Recap

O Exploring Mistakes

Page 21: Teaching kids programming with agile 2011

Teaching Programming

Traditional

Follow Directions Don’t Make Mistakes

Agile Explore Learn from your Mistakes

Experience 2:RecapO Exploring Mistakes

Page 22: Teaching kids programming with agile 2011

Experience 2: RecapO Discovering Patterns

Page 23: Teaching kids programming with agile 2011

Teaching Programming

Traditional

Lecture & Listen Architecture

Agile Emergent Concepts Emergent Design

Experience 2:RecapO Discovering Patterns

Page 24: Teaching kids programming with agile 2011

Experience 2: RecapO Learning to use your IDE

Page 25: Teaching kids programming with agile 2011

Teaching Programming

Traditional

Don’t use calculators

Tool is powerful

Agile Master your tools Craftsmanship

Experience 2:RecapO Learning to use your IDE

Page 26: Teaching kids programming with agile 2011

Experience 3: Variation

Click icon to add picture

Demo

Page 27: Teaching kids programming with agile 2011

Experience 3: Variation

O You can do the same thing with different code

Page 28: Teaching kids programming with agile 2011

Teaching Programming

Traditional

There is 1 right way Repurposing

Agile Refactoring Refactoring

Experience 2:VariationO You can do the same thing with different code

Page 29: Teaching kids programming with agile 2011

Experience 3: VariationsO Joy, ownership

Page 30: Teaching kids programming with agile 2011

Teaching Programming

Traditional

Learning is Serious Resources

Agile Learning is Joyful People

O Joy, ownership

Experience 2:Variation

Page 31: Teaching kids programming with agile 2011

Experience 3: Variation

Page 32: Teaching kids programming with agile 2011

Teaching Programming

Traditional

Teach whole concept Big Upfront Design

Agile Iterative Learning Incremental & Iterative

Experience 3:VariationO Variations

Page 33: Teaching kids programming with agile 2011

Experience 3: VariationO Coding is Joy

Page 34: Teaching kids programming with agile 2011

Experience 4: Quiz

Click icon to add picture

Demo

Page 35: Teaching kids programming with agile 2011

Experience 4: QuizO Teaching from the back of the room

Page 36: Teaching kids programming with agile 2011

Teaching Programming

Traditional

Lecture, Lab Assist, Grader

Specialist

Agile Facilitator & Teacher Cross Functional Team

Experience 4:QuizO Teaching from the back of the room

Page 37: Teaching kids programming with agile 2011

Experience 4: QuizO ½ way done

Page 38: Teaching kids programming with agile 2011

Teaching Programming

Traditional

Grades tomorrow QA

Agile Red…Green Red…Green

Experience 4:QuizO ½ way done

Page 39: Teaching kids programming with agile 2011

Experience 4: Quiz

O 100% of pairs get 100% right

Page 40: Teaching kids programming with agile 2011

Teaching Programming

Traditional

Quizzes show what you didn’t learn

Release Criteria

Agile Quizzes show what you did learn

Continuous Intergration

Experience 4:QuizO %100 pass rate

Page 41: Teaching kids programming with agile 2011

Experience 4: QuizO Quizzes are rewards

Page 42: Teaching kids programming with agile 2011

Teaching Programming

Traditional

Quizzes suck! Death March

Agile Learning rocks! Happiness Matters

Experience 4:QuizO Quizzes are rewards

Page 43: Teaching kids programming with agile 2011

Experience 5: Enrichment

Click icon to add picture

Demo

Page 44: Teaching kids programming with agile 2011

Experience 5: Enrichment

O Self learning

Page 45: Teaching kids programming with agile 2011

Teaching Programming

Traditional

Homework tests your knowledge

QA

Agile Homework increases your knowledge

Poka-Yoke

Experience 5: EnrichmentO Self Learning

Page 46: Teaching kids programming with agile 2011

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

Page 47: Teaching kids programming with agile 2011

Teaching Programming

Traditional

Assume you have it right

Assume you have it right

Agile Hack Spike

Experience 5: EnrichmentO Experiment, run and try (again) good

hacking!

Page 48: Teaching kids programming with agile 2011

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

Page 49: Teaching kids programming with agile 2011

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

Page 51: Teaching kids programming with agile 2011

www.TeachingKidsProgramming.org

Llewellyn Falcowww.ApprovalTests.com

Twitter: @isidore_us

Lynn Langitblogs.msdn.com/SoCalDevGal

Twitter: @llangit

Please Fill out the Evaluations