Mission Possible: Empowering the Future Generation of Girls with Coding

Dr. Aygul Zagidullina is a London lead for Google Women Techmakers, which is a programme that provides support and resources for women in technology. Aygul runs a Code Club at the Wembley Library in London, and she is passionate about promoting an equal gender balance at her club. Here she shares her advice on inspiring more girls to code.

We’ve all heard about the low numbers of women in science, technology, engineering, and maths (STEM). According to a new study from the University of Washington, when given the chance to build a robot, six-year-old girls and boys have the exact same response — equal interest, equal confidence, and an equal amount of fun. Yet unfortunately, many young girls still believe that ‘girls aren’t good at computers’ and push themselves away from STEM.

codeclubmeetup1

Aygul and her family attending a Code Club meetup

Is there any way to resist these perceptions? What can we do to show girls that they can be just as good at coding as boys can be? As Code Club volunteers, we are all doing our bit to help girls fall in love with computer science. We all have ideas on how to improve the gender balance in STEM, and I wanted to share five things we can do now to push things forward.

1. Start as early as possible

Young people today are engaged with technology from a very early age. Teaching computer science as early as possible has the potential to turn these eager consumers of technology into unstoppable creators of it. At Code Club, girls can learn coding from as young as nine, but if your younger daughter shows an interest in technology, you can always download the Code Club projects at home and work through them together. Let’s turn little girls into coding superstars!

2. Challenge gender stereotypes

Children learn more during their early years than at any other time in life. To tackle gender equality, I make sure my Code Club is free of stereotypes that might have a negative effect on how girls feel about programming.

3. Find female role models

All grassroots initiatives that have successfully attracted and inspired girls have one thing in common — the presence of female role models. When the volunteers running Code Clubs are women (especially women who use computer science in their jobs), the girls attending have someone to be inspired by and something to aspire to.

codeclub-6

4. It doesn’t have to be pink

Pink things are not needed to get girls excited about coding — being able to solve the issues they really do care about is what gets girls hooked on computer science. The Code Club projects are completely gender-neutral and give girls the opportunity to create games and solve problems in their own way.

5. Make coding fun!

While parents often worry about screen time, many educators now believe that using apps from an early age can be a great way to get girls interested in coding. Code Club is a space where children can learn an important life skill in a fun and exciting way that’s separate from the formal school curriculum.

I am extremely happy that girls have a fun and safe environment  — all Code Club volunteers have background checks — to learn programming thanks to Code Club and the Raspberry Pi Foundation.

Inspire the next generation of coders

Do you want to encourage more young people, regardless of their gender, to get into coding? Then get a Code Club going in your school, or volunteer to help out at an existing club — head to www.codeclub.org.uk/register to find everything you need to get started today!

How to get started with Code Club — community insights

We’re always working to make starting a Code Club easier and more enjoyable for volunteers. This June, we a ran a survey to get input from our community and find out more about what you have done to get your Code Clubs up and running. Thank you to the 650 people who took the time to fill in the form! Find out below what we’re doing in response to your feedback. 

The results

Think back to when you first started your Code Club. Which of the following did you do before you started?

Screen Shot 2018-07-19 at 15.41.19We loved seeing how many of you completed some of the Code Club projects before you started running your club. To follow up on this feedback, we will from now on send all newly signed-up volunteers an email to direct them to our projects site and encourage them to complete some projects before running their first session!

Was there anything else you would have liked to access before you started?

Screen Shot 2018-07-19 at 15.40.16We were pleased that the majority of you told us you had everything you needed to get started with Code Club. Meanwhile, 19% of you said you wished that you could have asked another Code Club volunteer in your area for advice. We’ve taken your feedback on board, and right now we’re thinking about how we can facilitate this online in the easiest way possible.

In the meantime, many Code Club leaders are very active on Twitter and always happy to respond to questions from potential volunteers, so tweet us and we will help you find answers from an experienced volunteer near you. In addition, our termly Twitter chats are the perfect opportunity for you to ask the wider community your questions.

You can also meet new and established Code Club volunteers for a chat in person at our meetup events, or visit a Star Club in your area to see a Code Club in action before you start.

What kind of ongoing training and support would you like to access while your club is running?

Screen Shot 2018-07-19 at 15.39.09

45% of you said that you would like to read more ‘How to’ blog posts with new things you could try in your club. This is a request we’ve already started to address, with posts such as:

If there are any topics you would like us to cover on our blog, please feel free to tweet us or reach out to us on Facebook — we would love to hear your ideas!

What one piece of advice would you give to someone to encourage them to start a Code Club?

We also asked you what advice you would give to people to get them involved with Code Club. 35% of you had the same top tip, said in many different ways: “Just do it!”

Here were some of our favourite responses:

“Go visit an existing club and speak to the volunteers and see a session with the students. I found that amazingly useful, as I asked lots of questions and saw how the kids loved the club.” – Barry Allen

“Definitely give it a go. Do some research, complete the online training, and finally, enjoy the reaction of the children; it is astounding and very rewarding, particularly when things ‘click’.” – Matthew Ambler

“Be prepared to deal with enthusiastic and very imaginative young minds.” – Christine Cannon

“Embrace the chaos! There’s no such thing as a ‘perfect’ Code Club — let your group find its own personality, no matter how loud or disorganised or chaotic it may turn out. Have fun!” – Jamie Wiseman

“Just go with it! I deliberated for a year before I got mine up and running. I wish I had started sooner. I already have a list of names of pupils who want to join the club when I get it going in September!” – Beverley McCormick

Anything else?

Finally, we asked you whether there was anything else you would like to tell us about your Code Club experience. Everyone who asked for help or advice has now been contacted individually by a member of the Code Club team. We’re always happy to support you!

The winner

Congratulations to Christine from Northern Ireland, who won our prize draw and will receive a set of our special summer robot stickers. We hope they prove popular with your Code Clubbers, Christine!

IMG_1744 (1)

Keep in touch with us

We love hearing your ideas about how we can assist you in running your Code Club. Please reach out to us any time on Twitter or Facebook, or by emailing us at support@codeclub.org.uk.

 

Rik explains: encouraging learners to collaborate in Scratch

Rik Cross is the Interim Head of Content and Curriculum at the Raspberry Pi Foundation. He also runs a Code Club and is a former secondary school teacher. So he has a wealth of knowledge about all things Code Club and Scratch, which he shares with you in our blog series ‘Rik explains’. 

Today I’m going to talk about some of the ways in which you can use Scratch to encourage collaborative programming in your Code Club. I’ll first discuss some general approaches and then give you examples of practical activities to promote collaboration in Scratch.

ghosts

Approaches to collaborative programming

Pair programming

Pair programming is exactly what it sounds like: two learners program together! Usually, one learner takes on the role of ‘driver’ and writes the code, while the other learner is the ‘navigator’ who observes, reflects on, and reviews the code as it’s written. Pairs swap roles regularly, say every ten minutes.

As paired learners need to discuss the code before writing it, they are automatically encouraged to think logically and discuss solutions. They are also less likely to produce bugs, but if they do, discussing with each other will help them to debug their code more easily.

It has been shown that pairing more able and less able learners is of benefit to both: the less able learner sees how a more experienced programmer approaches and solves problems, and the more able one learns how to explain solutions in a clear and understandable way.

It’s also worth noting that this approach works best when learners collaborate on a project about a shared interest. This means that with some forward planning to decide on who to pair up in your Code Club, you will maximise learning.

Remixing

Collaborative coding can also happen remotely in the awesome Scratch online community! Learners can take online Scratch projects and change, personalise, and expand them. This is called ‘remixing’ (and it works with or without a Scratch account).

To remix a project online, simply log in and click the ‘Remix’ button in the top right-hand corner of the Scratch editor to create your own copy. (To remix without a Scratch account, download the project to your computer instead.)

Screen Shot 2018-07-06 at 11.01.02

You can see who is remixing your projects on your main project page:

Screen Shot 2018-07-06 at 11.01.54

One benefit of remixing is that it allows a learner to start with a project containing some more complicated code. For example, they might find a platform game project in which the code to handle player movement has already been written. This allows them to focus on things like designing levels, adding sounds, and creating custom graphics. As they become more experienced, they can look back through the original code to discover how to program the more complex features of the game. Being able to understand and edit existing code is an important skill to learn — professional developers share and re-use code all the time.

There is a great set of community guidelines that learners should read before joining the online Scratch community. One important piece of guidance is: “Be sure to give credit when you remix”. A good way you can teach this is by encouraging your learners to use the ‘Notes’ section of a project page to thank and give credit to others.

Screen Shot 2018-07-06 at 11.03.44

Activities to encourage collaboration in your Code Club

Custom blocks

A perfect time to encourage your learners to work collaboratively is when you’re showing them how to make their own custom blocks. Scratch allows learners to create their own blocks, which they can even pass data into. The example below shows a simple draw square custom block that is used twice to draw two different coloured squares.

Screen Shot 2018-07-06 at 11.04.27

One of the many advantages of custom blocks is that you can use them for decomposition, meaning you can break down a problem into smaller sub-problems and tackle each one separately. In the example, once you’ve created the draw square block, you’ve solved the sub-problem of drawing a square and don’t need to think about the block’s inner workings anymore. Another advantage is that once you’ve defined a custom block, you can use it as many times as needed. This means that if you, for example, want to draw larger squares, you only need to make one change to the block code, even if you’ve already used it to draw lots of squares.

If you’ve never worked with custom blocks before, you can get started by using our Binary hero project.

To highlight the power of decomposition for your learners, you could divide them into two groups. Then you can task one group with specifying the customm blocks needed (meaning the sub-problems to be solved) and creating the main code that pulls everything together. The other group has the task of creating custom blocks to solve the sub-problems. They can test each of the custom blocks separately before adding them into the ‘main’ Scratch project.

Crowd-sourced projects

Another way of encouraging collaboration in Scratch is inspired by the “Add yourself…” projects (such as the excellent Add Yourself to the Race!). These are crowd-sourced Scratch projects for which community members create sprites that are each coded to respond to messages that are broadcast in the main project.

Start this activity by deciding with your learners what the theme and the rules of the project should be. For example, you might like to work on a dance project in which learners can create sprites to have a dance party together. The moves to be broadcast could be:

  • Move left
  • Move right
  • Jump up
  • Crouch down
  • Make some noise

Once you’ve all agreed on the theme and the rules, you, or one of your groups, create the Scratch project with the broadcast commands, where all the sprites will be brought together in the end. For the dance example, I’ve created a project with a list of ‘moves’, with one of the moves being broadcast at random every time the music loop is played. (This will ensure that the dancing stays in time with the music!)

Screen Shot 2018-07-06 at 11.05.38

Learners can then create their own sprites that respond to the broadcast dance moves. For example, here’s a sprite that’s been coded to jump whenever it receives a ‘jump’ message:

Screen Shot 2018-07-06 at 11.07.24

To combine the different sprites, each learner can save their individual sprite and then upload it into the Scratch project containing the code to broadcast commands.

Screen Shot 2018-07-06 at 11.08.03

You can find an example dance collaboration project at rpf.io/dance-collab.

This activity allows learners to collaborate while still working at their own pace and ability level. It also allows them to be creative in how they fulfil the task you’ve given them. Plus, it’s really fun to see all of the sprites together at the end of the activity!

Check out the Code Club projects

Looking to find out more about what running a Code Club looks like? The best place to start is by checking out the Code Club projects, our free, easy-to-follow learning resources you can use to teach young people Scratch, HTML/CSS, Python, and more.

You don’t need any coding experience to run your own Code Club — get started today!