This material is in early beta: over 300 suggestions and corrections are waiting to be folded in, some quite significant. Changes should be in place by July 2018, at which times printed copies and downloadable electronic copies will be made available.

Teaching Tech Together

Hundreds of grassroots groups have sprung up in the past ten years to teach programming, web site design, robotics, and dozens of other things. They exist so that people don’t have to teach themselves how to program, but ironically, most of their founders are teaching themselves how to teach.

It doesn’t have to be that way. Like good programming practices, good teaching practices can and should be taught and learned. Using them won’t automatically make people great teachers, but will make them better teachers.

This book is a brief introduction to ideas and techniques I have found useful when teaching free-range adult learners how to program. It covers:

  • how learning works;
  • how to design and maintain lessons;
  • how to deliver those lessons; and
  • how to grow a community of practice around teaching.

All of the material can be freely distributed and re-used under the Creative Commons - Attribution 4.0 license: please see to download digital versions, to purchase a printed copy, or to make a contribution.

Book cover

The Rules

  1. Be kind: all else is details.
  2. Remember that you are not your learners…
  3. …that most people would rather fail than change…
  4. …and that ninety percent of magic consists of knowing one extra thing.
  5. Never teach alone.
  6. Never hesitate to sacrifice truth for clarity.
  7. Make every mistake a lesson.
  8. Remember that no lesson survives first contact with learners…
  9. …that every lesson is too short from the teacher's point of view and too long from the learner's…
  10. …and that nobody will be more excited about the lesson than you are…