This is the Girls’ Programming Network (GPN)! A program I run and direct as part of the University of Sydney’s suite of computer science outreach programs. Our mission: to get girls excited about programming in a fun and friendly environment. And to show them that they rock at it!
Every year we run four workshops where we teach girls how to code. This year, like every year, we got together for the Term 3 workshop to do the NCSS Challenge.
But unlike previous years, it wasn’t just the flagship Sydney node saying “Challenge Accepted”; this year all five GPN nodes across Australia sat down to do the Challenge. With the combined powers of Sydney, Canberra, Perth, Cairns and Mackay, this was by far the biggest GPN Challenge workshop ever, with over 350 girls taking it on!
Why take on the Challenge?
At our other three GPN workshops each year you’ll find girls creating custom GPN projects from text based games to cryptography ciphers. But why give up one of four chances in a year to do that, to do the Challenge?
Accepting the Challenge is just the first step
GPN girls leave the workshop full of excitement for coding, but often with no obvious path of what they want to do next with code — or even not knowing that there is a “next” at all. Adding the Challenge to the GPN calendar gives girls the chance to realise that coding isn’t something you just do at GPN. You can do it any time you want!
Getting girls started on the Challenge makes the incentive to continue coding high and the hurdles small: just log on at home. At the workshop they get the confidence that tells them they can succeed at the Challenge. Then there is nothing holding them back. There’s just the motivation of those coveted NCSS Challenge certificates and even a spot on the leaderboard driving them forward.
Concreting the concepts
Giving girls the skills to take an idea and an understanding of programming, and to create a project is the ultimate goal. In the course of a non-Challenge GPN workshop the girls will learn about Python concepts, and we will step them through transferring those skills directly into their project for the day. But real mastery of programming requires a deep understanding of each concept in isolation, knowing when and where to use it. This can’t be quickly achieved by solely looking at projects.
While projects allow students to see the concepts in action in a real world application, there is a lot of overhead to a project where we need to combine these fresh programming concepts. That takes up time and mental effort. The complication of gluing together a bunch of new concepts might detract from a students capacity to cement in an understanding of individual concepts, especially if they only get to use that concept once in the project.
Through the NCSS Challenge students get to focus on specific python concepts for different questions and solidify an understanding of each concept as they go. By ditching the mental load required to combine the concept into one big project, we create a lot of time in the day for repetition of the same concept over several questions, leading to a firmer grasp on those concepts.
Programming for all occasions
If there’s one thing the NCSS Challenge offers, it’s using programming to solve fun problems in a huge variety of contexts. Whether you are categorising dinosaur bones, creating a new secret recipe or coding a card playing bot, you’ll see a bunch of exciting ways you can solve problems with code.
While a project will offer you an in depth look at solving one problem with code. When you are after a tasting course in code, there’s nothing like the NCSS Challenge.
Giving students a look at the huge variety of places in which they could use code to change the world is a great way to show them the huge range of careers they might achieve if they pursue further learning in coding. Particularly when working with girls, we see that this can open up their eyes to how they can change the world with code. They see coding isn’t limited to the applications that come to mind, and that the kind of people changing the world with code certainly doesn’t conform to the stereotypes you see in movies. Seeing programming used to solve problems you are interested in is the first step in getting students to realise the huge world of CS + X out there waiting for them and their passions.
One piece of the puzzle
Given we love the NCSS Challenge so much, why doesn’t GPN just solve Python puzzles for all four workshops of the year?
We love the diversity and the chance for mastering concepts that the Challenge delivers, but are keen to get girls using this for building real world projects. While the NCSS Challenge is an essential tool in our toolbox for getting girls to the point mastery and a love of programming, it’s by no means our only tool.
Throughout our year we combine a variety of activities to give girls a chance to master Python concepts, create projects, explore algorithms and more! Our aim: to give girls a glimpse at any coding future they want to imagine, and to affirm to them that they can succeed at it.
So if you are teaching coding I challenge you to try a compilation approach in your classroom to give your students the best of coding concepts, projects and algorithms. Like our GPN girls, I hope it gives your students both the thirst to create with code and the skills to do it.
Thanks for reading, I would love to hear about your experiences with the Challenge or other methods you use to engage learner coders!
If you want to get started learning to code yourself, there is a range of free courses on the Grok Learning site.