Hundreds of grassroots groups have sprung up around the world to teach programming, web design, robotics, and other skills outside traditional classrooms. These groups exist so that people don't have to learn these things on their own, but ironically, their founders and instructors are often teaching themselves how to teach.
There's a better way. This book presents evidence-based practices that will help you create and deliver lessons that work and build a teaching community around them. Topics include the differences between different kinds of learners, diagnosing and correcting misunderstandings, teaching as a performance art, what motivates and demotivates adult learners, how to be a good ally, fostering a healthy community, getting the word out, and building alliances with like-minded groups. The book includes over a hundred exercises that can be done individually or in groups, over 350 references, and a glossary to help you navigate educational jargon.
Table of Contents
Introduction. Mental Models and Formative Assessment. Expertise and Memory. Cognitive Architecture. Individual Learning. A Lesson Design Process. Pedagogical Content Knowledge. Teaching as a Performance Art. In the Classroom. Motivation and Demotivation. Teaching Online. Exercise Types. Building a Community of Practice. Outreach. Why I Teach. Bibliography. Appendices
Greg Wilson has worked as a programmer and teacher in industry, academia, and the non-profit sector for 35 years. He is the author or editor of several books on programming (including the 2007 Jolt Award winner Beautiful Code and the multi-volume series The Architecture of Open Source Applications) and two for children, as well as over 200 scientific articles, book reviews, and opinion pieces for various commercial outlets. Greg is best known as the co-founder of Software Carpentry, a non-profit volunteer organization that has delivered intensive two-day workshops on computing skills for researchers to over 35,000 people on seven continents since 2010. He now works in the Education team at RStudio.