Lessons Learned – Teaching Kids to Program in San Diego

**updated** 01/15/10

Yesterday at Wintriss Technical School 14 kids aged 10-17 joined us for a 2 hour session. During  these 2 hours we introduced the kids to programming using the exact same recipes we developed for Small Basic.

This time we used a different language (which will remain nameless) and a different IDE (also nameless). We were delighted to discover that the recipes and techniques worked in different languages!

Pair Progamming is fun!

We re-validated many of the methods we’ve used previously, such as code first, pair programming, intentional coding, recipe translation, recipe variations, iterations, and constant visual feedback.

Here’s why:

  • Code First – action (i.e. write code based on intent first), output (see it run, or visual output), then explanation (reviews and quizzes).  ‘Just do it’ absolutely works with kids.  It’s engaging and amazingly fast, and, importantly, results in accelerated learning, interest AND retention. 
  • Pairing – For teachers, keeps the kids together; For kids makes coding social and fun.
  • Intentional Coding – Allows for understanding, not just regurgitation when translating business requirements into code
  • Recipes – Separates out the What & the How of programming. Allowing for small bite sized steps.
  • Variations – For teachers, reinforces concepts & speeds up learning; For kids, brings joy! This is where they start to own the code, and want to explore.
  • Iterations – We switch which kid is at the keyboard every 5 minutes, and pairs after every recipe. This prevents possible negative effects of pairing (i.e. one person just watching) and is especially good with kids because it keeps them moving.
  • Constant Visual Feedback – When you can immediately see the results of your code, the intention shines clearer, and mistakes stay minor. It’s also much more fun, and encourages exploration.

Square Recipe

Simple Square

Variation of Square
(can you see how this shape comes from the same steps as the simple square with different parameter values?)

Variation of Square Recipe

We also learned some new things in this session. Logistics are extremely important, respect the kid’s energy more than the clock, don’t start a project you can’t finish. I know you are thinking these are obvious things, but remember we are new teachers.

Our next session will be Saturday, January 23rd from 10am – 4pm. It will be a day-long session, where we are aiming to teach a lot more. It will be held at QuickStart in Irvine, California to attend send me an email via this blog with your child’s name and age. Teachers are also welcome to participate.

For more information please see my previous blog posts (all tagged with ‘helping’). 

Happy Programming!