Research insights: collaborative programming and worked examples

Our researchers at Raspberry Pi work to help us understand how people are learning computing and digital making. They talk to children, volunteers, and educators about their experiences, while also drawing on the research of academics and other organisations. Here we summarise the latest piece of research they worked on with Code Clubs, and we hear from Oliver Quinlan, our Senior Research Manager.

hounslow-library---code-club-0045_40297269520_o

The research

In the Autumn term of 2017, the Raspberry Pi researchers worked with six school-based Code Clubs in England to try out a different approach to teaching programming. They wanted to observe the impact of ‘worked examples’: completed projects for the learners to explore, manipulate, and answer questions about. Their specific question was whether this type of teaching material encouraged collaboration between learners.

The six participating schools were split into two groups — one group was given six step-by-step projects structured very similarly to the standard Code Club projects, and the other group was given versions of the projects as worked examples. Both project sets covered the same concept: creating your own Scratch blocks (the Scratch version of defining your own procedures). The club members worked through these projects over several weeks, and in the final week, all the children from both groups got the same challenge to test their newly-learned understanding. Two of our researchers visited the clubs for this final session to observe the children and to interview the club leaders.

The researchers had two main aims:

  1. Find out whether worked examples and discussion prompts encourage more collaborative digital making.
  2. Explore whether worked examples and collaborative problem solving have an impact on children’s learning of a new programming topic.

hounslow-library---code-club-0153_41384485104_o

Findings

Collaborative problem solving

The researchers found that collaboration among the Code Clubbers was the same in the two groups — worked examples had no influence on how the learners worked together. In addition, interviewing the club leaders and observing the young coders gave our researchers insight into the obstacles to successful peer collaboration in Code Club.

“Making collaborative problem solving successful depends on the right combination of many aspects, such as educator support, task design, and group features. Achieving this combination is often challenging in practice, as we found from working with the schools in this project.”

– Oliver Quinlan, Senior Research Manager at Raspberry Pi

Interestingly, one obstacle that they observed was that each club they visited had enough equipment to provide each child with a computer. This led the researchers to conclude that collaboration may be promoted by letting the children work in pairs using one computer. Oliver and his team also thought that Code Club leaders may need more support and information in order to facilitate collaborative problem solving among their learners.

hounslow-library---code-club-0068_40297267880_o.jpg

Learning programming concepts

The team observed that using worked examples to teach programming concepts in Code Club had both advantages and disadvantages. On the one hand, ‘reverse engineering’ a completed project means learners can dive right in to learning more complex programming concepts and are not tempted to spend time choosing backgrounds and sprites. It also allows them to access programming concepts they haven’t seen before.

“I think it was quite good for pupils to have projects that they were mending rather than starting from scratch. When you do that, sometimes you don’t get beyond choosing the background and putting the sounds in. So it’s good to start with having it all there, doing a bit of coding and then I’d say, OK, you can change the background. Otherwise they just get caught up in kind of drawing.”

– Code Club leader

On the other hand, the step-by-step approach to learning gives children the experience of building their own program from the bottom up. And since Code Club’s aim is to motivate and empower children to get really creative with technology to explore their own interests, being able to open a blank Scratch file and build a complete, unique project is crucial.

“[A] mix of worked examples and then doing your own problems might work better. The children get to see the possibilities this way, but I’m not sure they internalise the learning in the same way without building something themselves. I would like more of an alternating structure.”

– Code Club leader

hounslow-library---code-club-0275_40297245890_o.jpg

Impact for Code Club

Although this research did not show a true difference between the two types of projects in terms of collaborative problem solving, there are several things Code Club leaders can take away from it if they would like to encourage more collaboration in their clubs:

“Lots of children in clubs help each other when they are stuck, but there are other ways of collaborating too. Sometimes pairing children up with just one computer can encourage them to work together to think through their ideas. Showing them finished examples of programs can also really help them learn. It’s definitely not ‘cheating’ to have a look at someone’s finished project first — it can really help their understanding.”

– Oliver Quinlan, Senior Research Manager at Raspberry Pi

Share your stories with us!

Have you successfully encouraged collaboration between the children in your Code Club? Or have you tried out an alternative method of teaching that you would like to tell about?

Tweet us your ideas, or send us a message on Facebook. We love hearing about what the community is up to!

Code Club ideas: young people teach their peers how to code

To inspire more young people to fall in love with computer science, some Code Club volunteers and teachers have had a brilliant idea: get the young people to do the teaching! Here we talk to members of two different Code Clubs that are led by teenagers, and that prove that young people often are the best role models.

St Mary’s and St John’s CofE School

Calvin Robinson is the Assistant Principal and Head of Computing at St Mary’s and St John’s CofE School (SMSJ) in London. He currently runs two Code Clubs in the school as a way to encourage pupils to have fun with computing outside of the curriculum.

IMG_1860 (1)

Mr Robinson with the Code Club mentors

One of the Code Clubs is exclusively for Year 8 girls, and it’s run by six girls from Mr Robinson’s GCSE Computer Science cohort:

“The idea behind this was that as a male teacher I appreciate that I may not be the best person to bridge the gender gap, but I certainly recognise it as an issue.”
– Calvin Robinson, Assistant Principal and Head of Computing

Positive role models for younger learners

Interest in the club is high, with a huge amount of Year 8 girls wanting to get involved. Being taught by older girls means that the learners can identify with the people teaching them, and they learn to view what their older peers have achieved as possible for themselves.

IMG_1850 (1)

Mr Robinson thinks that participating in Code Club enables the Year 8 girls to become more confident and passionate about the subject, making them more likely to take GCSE Computer Science next year.

“We currently have a higher than national average number of girls taking GCSE Computer Science, and it’s the most popular GCSE option in the school, but we’ve still got a long way to go in bridging that gender gap.”
– Mr Robinson

Benefits for the teenagers

Of course it’s not just the younger pupils who benefit from having older students as their mentors: running a Code Club also gives the GCSE students the perfect opportunity to solidify their coding skills:

“I like how I get a chance to develop my coding skills by teaching younger children. Coding is hard to explain and understand, and being able to teach others is a whole other skill, which is why it has helped me so much in my Computer Science GCSE.”
– Weronika Pawelczak, GCSE Computer Science student and Code Club volunteer

“Running the sessions means that I get to consolidate my knowledge and share it with younger people who may take Computer Science GCSE in the future. Also, the sessions improve my coding and I learn new things I could use in my code in lessons. For me individually, it has boosted my confidence to socialise more.”
– Nadia Wu, GCSE Computer Science student and Code Club volunteer

The Year 10 girls at SMSJ are clearly proud to be encouraging younger girls to fall in love with computing. They also think that more female Computer Science GCSE students should be setting up similar clubs, seeing how successful it has been in their school.

IMG_1848 (1)

Dragon Hall community centre

Another Code Club that is partly led by a teenage volunteer is one at Dragon Hall community centre in London. After volunteering at the centre over the summer, secondary school student Alvin was encouraged to participate in running their weekly Code Club.

Club host Keeley Reed has been hugely impressed by the effect Alvin has on the club members:

“Having a student volunteer allows the young people to have a role model to look up to. Alvin has been an asset to the group, as the young people connect with him very well. He brings the whole package to Code Club, that you wouldn’t get with adults.”
– Keeley Reed, Youth Work Manager at Dragon Hall and Code Club host

Like the girls at SMSJ, Alvin recognises the positive impact that helping at Code Club is having on his studies:

“I am now a lot better at explaining concepts, especially in exams, because
explaining code to children always has to be clear and precise. Teaching helps me learn new things as well, because I have to explain concepts very clearly so that the children understand.”
– Alvin, secondary school student and Code Club volunteer

Start a student-led Code Club

Peer-led Code Clubs offer huge benefits, not only for the learners but also for the young people leading the clubs. If you’re starting a Code Club in your school this term, why not get one of your older students to act as a mentor? Anyone over 16 can sign up on our website and help run a Code Club alongside an adult — find out more at www.codeclub.org.uk.

Helping others start a Code Club

After becoming a Raspberry Pi Certified Educator at Picademy, the Raspberry Pi Foundation’s free face-to-face teacher training initiative, Kyle Wilke was inspired to start a Code Club to give students at his school and teachers in California more access to coding and making.

After attending Picademy, I was inspired to start a Code Club of my own in the computer lab at the school where I teach. The first week of the club, I introduced my students to Scratch, and we looked at project examples from across the community before starting to work through the Code Club projects. For the first two years I ran the club alone, and this year I reached out to our Parent-Teacher Association and was able to get multiple volunteers attending each session. Having volunteers has been a game changer for our club, and it’s great seeing them learn alongside the students!

IMG_0379

Building confidence

Students love coming to Code Club to hang out with friends and learn how to code. When they leave, they are always telling me about how they will continue working on their project at home, or that they plan to buy a Raspberry Pi.

A favorite memory from my Code Club is when one student, a pretty shy kid who didn’t interact with many other students socially, jumped at the opportunity to become our first Code Club student mentor. During Code Club, I asked him to assist another child, saying that they were in good hands as the student mentor knew more than I did. The next week, when someone raised their hand for help and I started to make my way over, my student mentor popped up and said, “I’ll be right there, I know more than Mr. Wilke.” Hearing this new-found confidence was music to my ears!
 

Helping others start their Code Clubs

Once I’d experienced the joy of facilitating a Code Club, I knew I had to share it with the world and help train other teachers to get started. I currently help run Code Club training at conferences in the US, supporting teachers in learning to use Raspberry Pis and how to start a Code Club. In training sessions I always emphasise that the leader doesn’t need to be a computer science expert. You can learn alongside your students, and Code Club’s step-by-step coding guides allow the students to work at their own pace, with only limited adult instruction necessary. Educators always love how flexible the program is and how there are many different ways you can structure the club to work in your environment.

IMG_20171021_092023

I spread the word about Code Club because of what it creates: on the surface, students are following coding guides and working on individual projects, but upon closer inspection, they are learning invaluable concepts like computational thinking and collaboration. Bringing a Code Club to your community creates a safe place for students to code, play, and learn together. Raspberry Pi Certified Educators like to say that Picademy helped them find their people — Code Club helps kids find their people, and their very own coding community.

My advice to anyone thinking of starting a Code Club is to go for it! When I started mine, I had very little experience using Scratch — I even told my students that on many projects we would be learning together. If you are thinking of starting a club, I really can’t recommend it enough!

Get involved

Picademy sessions run throughout the year in the UK and North America. Keep an eye on the Picademy webpage or Raspberry Pi’s Twitter feed to find out when the next round is taking place. And if you don’t want to wait, you can sign up today for our free online FutureLearn course on preparing to start a Code Club here.

Wherever you are in the world, head to www.codeclubworld.org to find out how to start a Code Club in your community.