Since ancient times, we've known that one of the most effective ways to learn something is by teaching it to someone else. I've put that strategy into practice by teaching Python in my community. If you want to learn Python for free and have fun at the same time, I recommend you consider doing the same.
I started on this journey about six years ago, based on the recommendation of a friend who was teaching himself Python. It all came together about a year later when I bought my first Raspberry Pi and learned about the Turtle module in Python.
The Turtle was an epiphany that changed my life and perception of myself as a learner. Turtle graphics helped me understand mathematics and its relevance in my life. I began to explore Python vigorously and, as I gained confidence, I started sharing my newfound knowledge with the teachers and students I came in contact with.
One thing led to another, and about 18 months ago I found myself teaching Python to a group of 15 middle-school students. To prepare, I read Bryson Payne's Teach Your Kids to Code, which is a great resource, and took Dr. Payne's course of the same name on Udemy. I also read Jason Briggs' book Python for Kids.
When I offered to teach the class, I was naive enough to believe that only a handful of students would be interested. You can imagine my anxiety when 15 students showed up for the first class.
This turned out to be another turning point. Most of the students had Windows laptops, but one had a MacOS computer, and one student even had some Python knowledge. I showed the class how to download and install Python on their computers. Then I began to teach them the basics, as I knew them.
I prepared lessons for each class—a half-dozen 90-minute lessons delivered over 10 weeks. The students responded positively to each class, and not only did I help some young coders learn, but their questions also encouraged me to learn more Python, too.
Because of everything I learned about Python by teaching these students, I gained enough confidence to teach the course again. Since then, I have continued to learn and share my knowledge and experience with even more students. Over the past year, I have taught classes to a variety of groups, including adults, in the community. Teaching Python is an enjoyable experience that always leaves me feeling uplifted.
I learned how to package my presentation with the Raspberry Pi, which helps me share my love for Linux and open source software, as well as encourage students to learn more about Python. In some cases, I have purchased and distributed Raspberry Pi boards to students, other times, the sponsoring organization has provided them.
Recently, I attended PyCon2019, where I met Katie Cunningham and attended her Young Coders workshop. I learned a lot from Katie that will change my future teaching. A book she recommended, Learn to Program with Minecraft, will increase my Python knowledge and skillset and help my students learn more, too. Katie has a great YouTube channel with more opportunities for us to learn.
As Katie, Kelly, Sean, and I can attest, sharing your Python journey by teaching others is a wonderful experience you will not want to miss.