August 17, 2017 Work
A lesson in teaching kids to code
A few weeks ago, I was presented an opportunity to work with kids age 9-16 and teach them “how to build a website,” via Opportunity Music Project. I was told there would be internet access, about five hours of teaching time, and thirty kids in the class. While I always knew that teaching was hard, there’s nothing quite like hands-on experience to prove a thesis.
All in all, it was one of the most challenging and rewarding five hours of my professional career.
There were a number of great moments and missteps along the way. I hope to take these as lessons for future opportunities.
Lesson 1: Set realistic goals
Before class started, I had been asked to help all of the kids leave knowing how to build a website, plus talk about internet safety. Going in, I knew there was no way I could ensure that every kid had the skills to build something right away. But, I knew I could give them a basic understanding of what HTML looked like and the tools to continue to learn when class was over.
I pieced together lesson plans from other teachers, including recommendations from a course at The University of Washington. Although a lot of that information is dated (such as recommendations about XHTML), it gave me a solid understanding of how to structure a course.
By the end of the first class, I threw out 4/5 lesson plans. I had high aspirations for the types of content we’d have time to cover. Time was lost connecting to the internet, loaning iPads to those without a laptop, and the general settling down after a long day spent playing their instruments. Of the five hours I was given, I probably was teaching for three and a half.
Lesson 2: You won’t reach every kid
It’s hard enough to reach every kid in a class where they’re in the same grade together. I knew that some of the students would come in with some knowledge of code, but many would never have heard of the topics I planned on teaching. One of the brightest students was far ahead, taking initiative with Codecademy. However, he didn’t pay attention when I was speaking, opting to ask questions about his specific class. It was an opportunity to help push him in the right direction towards learning to build a website, but also a distraction for those who didn’t know what he was talking about.
By the last two classes, almost all of my time was spent with the 9 and 10 year olds. They wanted to learn but needed a lot of hands-on attention. Though it seemed they grasped the concepts, repetition was key.
I stumbled across a problem with the concept of changing background colors. The younger kids spelled background as “backround,” thus the changes didn’t work. Though that’s a small problem, it’s iterative of a larger issue. Talking about the structure of tags is difficult when your students are still taking spelling tests.
Lesson 3: Prepare for the worst
The first day was a big lesson in internet connectivity. Though I had prepared material that didn’t require the web, I asked for my students to connect to a website to generate new colors. The connection crashed almost immediately, and five minutes was spent bringing everyone’s attention back to the lesson at hand. From there on out, I planned on having no internet.
Considering this was a “build your own website” class, the lack of internet was daunting. Laptops have the ability to host local files and preview content. But not everyone had the same tools—there was an assortment of laptops, chrome books, iPads, a Kindle Fire, and other tablets. I sought free text-editing tools for all devices, some of which was easier than others.
We ended up having much better luck with the internet for the rest of the week. I was able to use CodePen as a means of demonstrating what changes to a website look like. On the last day, I was able to signup most of my students for Codecademy and start the Intro to HTML & CSS class. I hope that at least a few of them were excited by the idea of building a website and continue on their own.
Lesson 4: Bring joy
I had the most eyes on me when I spoke with passion and excitement. When I talked about the fact that I have built websites for my job, that I was paid to use HTML and CSS, their eyes lit up. I talked about how it made a difference in my life, and how much I loved it.
There were plenty of moments where I was frustrated, internally. The moment you are frustrated and panic, the kids will know. They follow your lead. The more excited you are, the more chance they’ll be excited, too.
Final takeaways
After our time together, I am confident that my students could see HTML tags and identify them. Most of them would be able to talk quite effectively about the box model. Some are able to go to websites like Google and change the background color. And a few will take what they learned and create their own content. They’ll have more of an opportunity to keep learning during the school year with a different teacher, who can hopefully build on my foundational work.
There are a million and one think pieces about the value of community work. In tech, it’s not work that’s often valued on a resume. Many employers would rather see you spend time on a project, learning new languages. But there are lessons you can’t learn in your own work bubble.
I wouldn’t trade the “hello Miss Alexandra” and the chance to spark one kid’s desire to learn for anything.