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!

 

Prosiectau Code Club nawr ar gael yn Gymraeg / Code Club resources are now available in Welsh

(English version below)

Ry’n ni’n falch i gyhoeddi fod prosiectau ac adnoddau Code Club nawr ar gael yn Gymraeg! Dyma’r tîm sy’n gyfrifol am y prosiect yn trafod pam fod cyfieithu ein prosiectau wedi bod mor bwysig.

Yng Ngorffennaf 2017, fe wnaeth Llywodraeth Cymru lansio strategaeth Cymraeg 2050 i gynyddu’r nifer o siaradwyr Cymraeg i 1 miliwn erbyn 2050. Fel rhan o hyn, fe wnaeth y llywodraeth lansio grant arloesi i gefnogi prosiectau sy’n cynyddu’r defnydd o Gymraeg trwy dechnoleg.

Screen Shot 2018-05-23 at 09.22.10

Pan lansiwyd grant y llywodraeth, fe wnaeth ein Cydlynydd yng Nghymru, Adam Williams, gydweithio gyda Cered, Menter Iaith Ceredigion i ddatblygu prosiect peilot oedd yn galluogi ni i ddatblygu adnoddau cyfrwng Cymraeg, a hefyd i ddarparu hyfforddiant trwy gyfrwng y Gymraeg. Meddai Adam:

Pan ddechreuais weithio gyda Code Club, roedd hi’n nod i fi i wella ein darpariaeth Cymraeg. Fe wnaethon ni wrando ar yr adborth gan ein cymuned o addysgwyr a gwirfoddolwyr, oedd yn aml wedi canolbwyntio ar y pwysigrwydd o gael adnoddau a phrosiectau ar gael yn eu mamiaith. Fel Cymro, rydw i’n ymwybodol iawn pa mor bwysig yw hi i’r gymuned bod mynediad i adnoddau Code Club yn Gymraeg.

Adnoddau Cymraeg

Mae gennym ni 21 o brosiectau Code Club wedi eu cyfieithu, yn cynnwys Scratch, HTML & CSS a Python. Mae hefyd gennym ni fersiynau Cymraeg o adnoddau sydd yn cynnwys tystysgrifau, posteri a ffurflenni caniatâd – popeth sydd angen arnoch chi i redeg Clwb Codio yn Gymraeg. Mae modd dod o’r hyd i’r adnoddau trwy fewngofnodi a chlicio “Lawrlwythwch dystysgrifau a phosteri yn Gymraeg”.

Screen Shot 2018-05-23 at 09.35.22

Hyfforddiant Cymraeg

Fel rhan i’n gwaith gyda Cered, fe wnaethon ni hefyd drefnu pump o sesiynau ‘hyfforddi’r hyfforddwr’ yn gyfan gwbl Gymraeg. Rydyn ni’n falch i fod wedi hyfforddi 25 o athrawon a gwirfoddolwyr brwdfrydig. Roedd pob un wnaeth ddod i’r sesiynau eisiau cychwyn eu clwb eu hunan, ac nawr mae’r adnoddau yno i wneud hynny!

Cyflwynwyd y sesiynau gan Lowri Johnston, wnaeth hefyd gyfieithu’r prosiectau ac adnoddau i Code Club. Meddai:

Dwi’n byw yng Nghaerfyrddin lle mae dros 50% o’r boblogaeth yn siarad Cymraeg. Mae addysg Gymraeg yn bwysig iawn yma, ac felly mae hefyd yn bwysig bod y plant yn medru dysgu sgiliau cyfrifiadurol trwy gyfrwng y Gymraeg.

Mae’r prosiect wedi bod yn un gwych, a dwi’n falch bod adnoddau ar gael nawr ar gyfer addysgwyr Cymraeg. Dwi’n gobeithio mai hwn yw’r dechrau i gael llawer mwy ar gael yn Gymraeg!

IMG_4588

Meddai Llinos Hallgarth o Cered:

Mae wedi bod yn bleser i ni fel Cered i fod ynghlwm â’r prosiect yma ar y cyd â Code Club, ac i ddatblygu’r adnoddau sydd ar gael i ddysgu codio trwy gyfrwng y Gymraeg i blant. Yn ystod y sesiynau hyfforddi, rydym wedi cael cyswllt gyda athrawon a gwirfoddolwyr ar draws Ceredigion a’r de orllewin sydd eisiau cychwyn clybiau codio yn eu hardal, ac mae’n wych ein bod ni wedi paratoi’r adnoddau trwy’r prosiect yma fel eu bod yn gallu mynd ati i wneud hynny.

Roedd paratoi’r prosiectau yn Gymraeg yn broses o gydweithio llwyddiannus, ac hoffwn ddiolch i Cered, a wnaeth y gwaith yma’n bosib. Rydym yn gobeithio y bydd hyn yn annog mwy o blant yng Nghymru i godio!

Os oes ganddo’ch chi unrhyw adborth byddwn wrth ein bodd yn clywed wrthoch chi. Mae modd i chi roi adborth trwy lenwi’r ffurflen hon.

 


 

We are excited to announce that a number of the Code Club projects and resources are now available in Welsh! Here the team behind the project talks about why translating our resources is so important.

In July 2017, the Welsh government launched the Cymraeg 2050 strategy to grow the number of Welsh speakers to 1 million by 2050. As part of this, the government launched an innovation grant to support projects that increase the use of Welsh through technology.

When the government’s grant was launched, our coordinator for Wales, Adam Williams, collaborated with an organisation called Menter Iaith Cered to develop a pilot project that would not only enable us to create Welsh-language resources, but also to provide educators access to Code Club training in Welsh. Adam says:

When I came to work at Code Club, I made it my goal to improve our Welsh language provisions. We listened to feedback from our community of educators and volunteers, who often talk about the importance of having the resources and projects available in their mother tongue. As a Welsh person, I fully understand how important it is for our community in Wales to be able to access the Code Club resources in Welsh.

Translated resources

You can now access our Scratch Module 1 and Module 2 in Welsh; translations for Python and HTML/CSS will follow shortly. On top of that, there are some Welsh certificates and posters available on your Club Hub — just look for the link that says ‘Lawrlwythwch dystysgrifau a phosteri yn Gymraeg’.

Screen Shot 2018-05-23 at 09.37.02

Welsh training sessions

As part of our work with Menter Iaith Cered, we also arranged five ‘Train the trainer’ sessions entirely in Welsh. We were really pleased to be able to train 25 enthusiastic teachers and potential volunteers. Everyone who attended left the sessions wanting to start their own club, and now the resources are available for them to do exactly that!

The training sessions were co-delivered by the amazing Lowri Johnson, who also translated the Code Club projects and resources for us. She told us:

I live in Carmarthen in South West Wales, where over 50% of the population speak Welsh. Most of the primary schools in the area are Welsh-language, so it’s important that they are able to learn computer skills in Welsh.

The whole project has felt really rewarding, and I’m so pleased there are now resources available for Welsh-speaking educators. I hope that this is just the beginning!

Llinos Hallgarth from Cered saysof the project:

It’s been a pleasure for us at Cered to be part of this project with Code Club, and to develop the resources that are available for children to learn to code in Welsh. During the training sessions, we’ve had contact with teachers and volunteers across Ceredigion and south-west Wales who want to start Code Clubs in their area, and it’s great that the resources are now available to do that in Welsh.

Translating our projects was a truly collaborative process, and we would like to thank Cered for making this project possible. We hope these resources will encourage more children in Wales to get coding!

If you have any feedback on our translations, we would love to hear from you! You can tell us what you think by filling in this form.

Finding hardware for your Code Club

Clubs often ask us about how to find low-cost or recycled equipment for their sessions. In this post, three members of the Code Club community tell us how they have secured extra equipment for their club.

You don’t need a lot of equipment to run a Code Club

The only essential equipment you need at your Code Club is a number of laptops or PCs, and you don’t need one computer per child — letting young people program together works very well. You don’t even need internet access: if there is no connectivity at your venue, you can download and install offline versions of Scratch and other programming environments.

IMG_2848 (1).JPG

The Raspberry Pi setup at Darren’s Code Club

There are many ways of finding hardware

At some point you might like to introduce additional equipment such as micro:bits or Makey Makeys into your sessions, or let your learners program on Raspberry Pis and create physical computing projects with them. Here are examples of how some of our volunteers have sourced extra hardware for their Code Clubs:

Reach out locally

Darren Townsend was able to equip his Code Club with six Raspberry Pis thanks to a small grant from his employer Warburton’s. For the monitors, keyboards, and mice to accompany the Pis, he enquired at a local company that he knew was changing its IT setup — they were happy to donate their used hardware free of charge.

“I reached out in my local area. Large companies update their IT equipment regularly. They don’t have to be tech companies — the best ones are places like customer service centres. And don’t forget the power of Facebook: you will be amazed what you can get just by asking on your local Facebook groups.” – Darren Townsend

When volunteer Paul Fretwell wanted to introduce physical computing with the Raspberry Pi to his Code Club, he also contacted his employer. He tells us: “When the managing director of our Northern Europe region came to give a presentation in my local office, I thought he would know who the right person would be for me to put my proposal to. So I grabbed the chance to pitch the idea to him. He was very enthusiastic about my ideas for my Code Club and told me he would authorise up to £1000. It was that easy!” Like Darren, Paul was also able to grab some monitors that were going to be recycled.

“I reached out in my local area. Large companies update their IT equipment regularly. They don’t have to be tech companies — the best ones are places like customer service centres. And don’t forget the power of Facebook: you will be amazed what you can get just by asking on your local Facebook groups.” – Darren Townsend

The power of the PTA

When Darren decided to upgrade his Pi setup, he was lucky enough to get some help from the school’s PTA, who donated the money for six new Pis, cases, and power supplies.

“It’s worth a shout out to the families of the young people [in your Code Club] to see if they have any unused kit gathering dust somewhere,” says Darren. “I’m willing to bet that there are plenty sat in garages or lofts, or even heading for the skip.”

IMG_3293 (1)

The PTA at Oakham CofE primary successfully crowdfunded for Makey Makeys

Crowdfunding

The PTA at Oakham CofE primary school decided to try crowdfunding when the school’s technology needed an upgrade. They raised £1254 on the crowdfunding platform Rocketfund, which is designed to help schools purchase new technology.

The PTA members spread the word using the school’s social media accounts, and sent out letters to local businesses to ask for their support. To encourage donations, they even live-streamed a teacher having his beard shaved off!

The money allowed them to purchase a set of Makey Makeys, which are now used regularly in the school’s Code Club. PTA chair Suzanne Armer says:
“We have just finished our first term since receiving our new equipment, and both the children and adults have had lots of fun. We have managed to encourage much excitement outside the classroom, there have been lots of demonstrations, and we are taking the equipment to a county show to show off some of the children’s projects.”

Get started with Code Club today

If you want to help run a Code Club, you can get started right now at www.codeclub.org.uk/start-a-club, or reach out to us on Twitter, Facebook, or via support@codeclub.org.uk if you have any questions.