What I learned teaching teenage girls how to code this summer

KWK students show off the results of their hard work

A little over a year ago, I made the move from being a classroom teacher to becoming a software developer. I was inspired by what my students were building in their Computer Science class, and disheartened that not all kids felt like they had a place in tech.

After I finished the Front-End Engineering program at Turing School, I was hired on as a full-time instructor, and have been teaching adults like myself since then. But there’s something special about teaching kids — the wonder, the joy, and the sense of possibility — so I was very excited when I was given the opportunity to be an instructor with supermodel Karlie Kloss’s Kode With Klossy summer camp this year.

After months of planning, learning a new language (Swift/iOS), and preparations, I was ready to head off for St. Louis for two weeks. Here are some of the most important lessons I learned.

How to Keep the End in Mind

On the first day, we realized there was a wide range of experiences in our classroom (no surprise to anyone who’s ever taught K-12!) and that we would need to challenge ourselves to meet a variety of needs during the camp.

We started by teaching syntax and the intricacies of Swift that may be different than other languages the students had encountered in the past. Immediately, the girls started asking great questions with real-world implications. From day one it was clear they already had their eyes on the prize: they were here to build badass apps.

How to Implement Feedback Immediately

In one of our early lessons, we talked about how to debug and/or learn something new to achieve a goal while programming. We discussed how to refine a google search, which kinds of links to click on and which to not click on. We modeled using print statements to debug and how to make sure you’ve identified exactly when an error is occurring. We talked about these things for about 10 minutes.

In the next challenge, scholars would raise their hands with a question. When we came over to see what was going on, we could see 5+ tabs opened to Stack Overflow articles and other blogs on the topic. We would ask them where the problem was and they were able to tell us what they had narrowed it down to. We were impressed — they were so focused! How often do our students take our advice and feedback and implement it so quickly?

How to Be Fearless

Almost across the board, the students were quick to jump in, type some code, and see what happened. They weren’t scared of errors, or scared of trying to use new libraries or packages. They were able to put things together so quickly because of this lack of fear. While encouraging that, we wanted to make sure the scholars deeply understood why things were working the way they were, so we had them annotate functions to explain what each line was doing. After prompting this a couple of times in group challenges, this became a part of their routines — they would annotate their code and explain it to each other over and over, without us asking them to. 
They had learned something very important: in a true learning environment, there is literally no downside to failing — the best and worst thing that can happen is that we learn something new.

How to Set Expectations that Get Results

We also gave the students a framework to set expectations in their working relationships — the ‘DTR’ (Determining The Relationship). They took it and ran with it. They worked in several paired projects and one small group project. During these projects, the girls set clear expectations on who would drive and navigate, how often they would switch, how often they would make commits and how they would format their git commit messages. They checked in on each other, stayed positive, and were open to sharing and receiving feedback at the end of each project.

In the end, their flexibility and willingness to follow best practices allowed them to build really great projects, learn how code works at a deeper level, and have a great experience doing it.

Teaching teenagers again made me think a lot about how we teach adults at Turing. How can we help them to learn like kids do? We strive to create an environment here where students can stretch themselves within safe parameters — Jeff described this as “wiggle and rails” in this State of Turing. Is there more we can do every day to enable students to focus on their goals, take feedback, be fearless, and set clear expectations with one another?

Personally, this experience was very fulfilling and I’m so thankful that Turing’s mission and priorities aligned and gave me this opportunity. Teaching Kode with Klossy’s summer camp made me that much more certain that I will be back working with and supporting kids one day, just with an enhanced skill set. This experience has given me even more determination to ensure that every student knows without a doubt that tech is for everyone.