How I Made the Leap to Teaching Python with my GWC Club

I love teaching girls to code. In 2014, I started a local Girls Who Code Club chapter in my hometown and have been a volunteer instructor ever since. It has been so rewarding to see my students’ “light bulb” moments and the pride in their eyes when they share the projects they have created with code.

The majority of my students come to our club with no coding experience and little idea of what computer science involves. This, unfortunately, is typical for most middle and high school students, girls in particular. I started the club with no previous experience working with high school girls and only limited education experience. It was intimidating. I was more than a little scared of high schoolers and how the club would turn out.

So for me as well as my girls, it was the beginning of a journey together into the unknown. To my great relief, the first few classes went great. The girls were genuinely excited to be learning to code. For a while, classes went along fairly smoothly — a credit to the great organization of Girls Who Code. Soon enough though, an issue surfaced.

Eight weeks into our Scratch programming curriculum, our chapter’s student ambassador asked, “When are we going to write real code?”

“What? We are writing code!” I responded.

“Blocks are for kids!” another girl exclaimed.

Why did they think this?    

The high school girls in my chapter had recently volunteered at a Scratch programming workshop for elementary school girls. As I asked more about what they meant, it came out that seeing third and fourth graders learning block programming framed Scratch as something just for kids in their minds. They also had friends — all boys —  writing text-based programs. The girls wanted to share their projects with these friends, but they wanted to share “real code.”

Scratch is an incredible platform. I reiterated to them that the coding they were doing in Scratch with blocks was every bit as “real” as the coding their other friends were doing with lines of text. But the more I insisted this was the case, the more they pushed back. I was worried many of the girls would stop coming if I didn’t come up with solution. My girls were unrelenting.

Just in time, though, Girls Who Code came to the rescue! We were invited to pilot Codesters, a learn-to-code Python platform. My girls were so excited! Not only did they love finally getting to write “real” (i.e. text based) code, but they loved learning how Python was used in the real world.

They also loved the block-like interface Codesters includes. Known as the “Drag-to-Type” toolkit, it bridges the gap from blocks to the rigor of Python. With the toolkit, the girls were able to get going right way and write a program on the first day. From there, we — And I really mean we; I was learning along with them! — gradually learned Python syntax and debugging as part of each lesson.

Codesters combines self-directed learning with teacher driven lessons. As a Codesters instructor, this blended learning environment meant my students could learn foundational coding skills regardless of my own coding experience. If one of my students missed a class, she could catch up on her own. Fast learners could also be challenged with more complex and creative projects without forcing other students to skip ahead.

The Codesters teacher dashboard gave me the ability to monitor lesson progress, too. I could see immediately if a student was struggling and offer guidance before they became too lost. Each of my twenty girls was learning to code at the optimum pace for herself. My job became simply to support however they each learned best. The dashboard freed me to focus more on helping them with their projects, celebrating their accomplishments, and building lasting mentorships with each of them. Our club was transformed!

As I’d soon learn, our club wasn’t the only one that saw the power of Codesters. Codesters is now a curriculum provider for over 400 GWC Clubs across the country and I couldn’t be happier about that! In fact, I am so passionate about the Codesters solution that I accepted an offer to become their School Relationship Manager in January. In this role, I work with schools to bring Python education to students in 5th to 10th grades. It is absolutely my dream job!

In addition to my 20 girls, I can now empower any district, school, or teacher with the Codesters solution. As the School Relationship Manager, I get to see the same kind of “light bulb” moments I saw in my girls’ eyes in teachers’ eyes now, too, and for every new Codesters teacher, there are another 30-150+ students who will get to proudly share what they create with code! Bringing coding into the school day also means that all students will have the opportunity to learn to code, not just those that self select for a club.

We are starting to see more of a commitment to teaching coding at the local, state, and national levels. Arkansas’s commitment to teaching text-based coding to all seventh and eighth grade students by the 2017 – 2018 school year is just one example. New York City, Chicago, San Francisco, and other cities have made varying commitments as well. The question before us now is, “How?”

I believe Codesters is already helping to answer this crucial question.

If you’d like see what my girls and I especially love about Codesters, including why it’s the perfect tool to bring coding into your school classroom, visit Create a free teacher account and I will get you started with a free, three-lesson pilot for you and your students.

I look forward to connecting, and empowering you to teach code!

All the best,

Kimberly Sauter

Kimberly Sauter
School Relationship Manager

Codesters at PyGotham 2016

Three members of the Codesters team presented at PyGotham, an NYC-based conference for Python developers. In our talk, we discussed the process we used to develop a simplified API tool for younger students just learning to code. We focused on two questions that drive our thinking about developing tools for students:

1. What is the right way to teach younger students to code, particularly in professional text-based languages?  

2. Should we modify CS 101 courses to be accessible to young learners or should we do something else?

At Codesters we believe that students can and should move from block-based coding to text-based coding around middle school (fifth or sixth grade). However, this doesn’t mean that we should teach young students to code the same way we teach high school or college students, and teaching differently requires different tools. For example, while we believe Python is the best language for getting students started with text programming, we teach Python in two ways that may be unfamiliar to a Python veteran. IMG_20160716_153518

First, we teach Python in an online learning environment, instead of teaching them to use an IDE and run their programs from the command line. We do this because we believe an online professional programming language is made more accessible when taught using tools specifically designed for learning.

Second, we teach standard Python, but we sometimes modify or extend the Python libraries to be effective for teaching a sixth grade classroom with 20 or 30 students. Our team has created a development process for determining  when the Python standard library should be taught and when it is more appropriate to create simplified Python modules. This process involves close collaboration between our curriculum and development teams. This way, we can focus on writing clear curriculums that work for each grade level, while still staying true to teaching the fundamentals of Python and computer science.

A good example of this is the simplified API tool we developed for Codesters. This tool allows students to import data from any publicly shared Google Sheet into their Codesters programs with a few simple lines of code. It also imports the data as a list of strings or integers, so students don’t need to have a deep understanding of objects or data types. It’s capabilities open up a door for newer students – even sixth graders just learning to code – to easily bring data into their Python programs, making their projects more interesting and connected to the world.

We were proud to be part of PyGotham and thrilled to see CS education gaining steam. It’s notable presence as a topic at a conference for professional developers was heartening. Most exciting, though, was seeing education so prominently featured as the topic of the closing keynote: Empathy & Teaching by Katie Cunningham. We also, of course, enjoyed other excellent education-themed talks including Young Coders by Barbara Shaurette of and Creating a Culture of Computation by Evan Misshula of CUNY – Queens college.

Take a look at the slides from our talk, Opening the Magic Box, and keep an eye out for the forthcoming video. We look forward to playing more of a role in PyGotham and the Python community for years to come.