Code Club ideas: friends and family sessions

Code Club Champion Mia Chapman has been running her club for two years now. Here she talks about a recent session she ran in which her Code Clubbers taught their friends and families how to code.

With the summer drawing nearer, it was time to figure out how to end our second year of Code Club with a bang! We all agreed that this year we wanted to do something a little different, and after a round of votes from everyone, it was decided: the Code Clubbers were going to run their own session to teach their families how to code!

IMG_2602 (1)

Together, we prepared, planned, and rehearsed until the big day arrived — and what a turnout! Our little computer room was full of mums, dads, brothers, sisters, grandparents, and friends, all eager to see what the Code Club kids had in store for them.

First up, one of the Code Clubbers gave an introduction to our new members. In his very best game show voice, he told our visitors that we organised the event so that they could see “how cool Code Club is!”

Next, our teams of Code Clubbers gave what they called their “circus pitches”. We had given each team a programming language (Scratch, HTML, Python, Sonic Pi, or micro:bit), and now it was their task to convince the visitors to join their activity for the session. As it turned out, they were all so convincing that it was difficult to choose, but we had to give extra points to Team Python for closing with their “turtley amazing” pun!

After our visitors had chosen the programming language they wanted to learn, the session went by in a flash, with everyone getting stuck in and trying out some Code Club projects. The families were totally engrossed, and we even had a mum make us a thank-you card based on the HTML project Happy birthday.

ezgif.com-video-to-gif (7).gif

Of course we couldn’t end the year without an awards ceremony to celebrate everything our Code Clubbers had achieved, and we also gave a big thank you to our visitors for being resilient and diving in head-first. When the event finished, no one wanted to go home, and the parents finally understood why we struggle to get the kids to leave at the end of each week’s session.

Running a ‘friends and family’ session was a great way to celebrate the end of our second year and show off everything we’ve learnt without the pressure on our learners to have to present a project to a room full of people. Everyone had a great time, and it was fun for us volunteers to hand the teaching over to someone else for a change. We can’t wait to see what ideas our Code Club members come up with next!

IMG_2597 (1)

Share your stories with us!

Have you tried something interesting at your Code Club that you would like the community to know about? Tell us about it by emailing support@codeclub.org.uk or reaching out to us on Twitter or Facebook.

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!

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!