BY FREDA O’BYRNE
I hear discussions about who or what or how we should be teaching ‘kids’ to code and I can’t help thinking to myself that it would be much quicker if we just let the children get on and learn – that we should allow them, in fact support them, to teach themselves. We seem to have to find ‘someone who knows’ first and this seems to me to be inherently inefficient. Many young people do have skills they can share, a group can start from where they are and, by learning as they go, pushing boundaries, stretching for things that they need to learn, they can soon move from ardent amateurs to capable young programmers.
Of course we should be training teachers, and running large-scale ‘teaching to code’ events, roadshows and workshops, but a myriad of small scale community-embedded projects will achieve far more, more quickly, at the point of need than waiting for skills to percolate into the classroom and down to our children. Prewired, one such project, is a weekly programming club for under 19s. It is organised and run by volunteers – all mentors are volunteers – it is hosted by Codebase and the children do not pay to attend. It runs all year round with some week-long projects running in the school holidays. An average of 47 young people turn up each week having registered online, sign themselves in and sort themselves out with either their own laptops or one of the donated ones that Prewired owns. They then sit down to work.
WHEN CHILDREN start they often feel that they don’t know anything, feel awkward and maybe even a bit intimidated. The first thing we do is to chat to them about their interests, about the kind of things they might like to try. If it is appropriate we might introduce them to another young person working on a similar project, or we may get them set up with an online learning resource like Codecademy or Scratch. Some young people have projects on the go that they want to work on and are quite happy to get themselves set up and get going. If a child is finding it difficult to get to know other children we will see if we can help to make up a mutually supportive group project.
We often ask more experienced young people to help a less experienced colleague out with a problem – not only to solve the issue but also to build relationships within the group. Participants are supported in learning popular programming languages including Python, Scratch, Java (especially for Minecraft modding), C++ (especially for Arduino control) and HTML/CSS. In addition, volunteers offer a number of dedicated teaching sessions, workshops and projects. Past topics include: Arduino kits, Lego MindStorm robots, Scratch, mobile apps with Android, website development, Git and GitHub, Raspberry Pi and machine learning in Python.
MENTORING IS a delicate process. It is not really about showing how things are done, it is not about solving the problems for young people, it is more about listening to what they have to say about the work they are doing, being interested and guiding them to find solutions if they get stuck. Mentors come mainly from Edinburgh University, Codebase and its community, FanDuel, Scott Logic and, like myself, the community at large. Mentors ask participants to explain what they are doing and how they are doing it. This is a two-way process: mentors are learning skills around listening and explaining complex concepts simply, whilst young people are getting used to speaking to people with differing levels of understanding and ability, to be non-judgmental and to share their knowledge and skills. Young people are also learning that it is alright to not know the answer, it is alright to ask for help, and it is definitely alright for to fail in a task. It is a pleasure to see a child progress from blaming the laptop for the failure of an idea to realising that the process of testing, refining and testing again results in pure joy at the moment an idea works.
Many years ago I made theatre for young people. I found that the shows we made were better if we involved young people at an early stage – talked to them, in fact, listened to what they had to say and involved them in the creative process. Their responses were stunning, inventive, funny, relevant and so, so much better than we could have imagined. I HAVE learnt a lot from working with children and one of the main things I have learnt is that they are at their most engaged, most excited and most motivated when they are doing something they want to do. Pretty much the same as we adults are, in fact.
So, if you visit Prewired, you won’t see 20, or 10, or possibly even five children engaged on the same project. Prewired is not about bringing all participants through a curriculum at the same pace, at the same time, producing the same work and coming away with the same skill set. You will see each participant engaged with their own learning, in their own way at the pace they want to pursue it. You will see young people between the ages of seven and 19 working on projects that they have initiated, and you will also see them taking time out, chatting, playing games – looking for all the world like members of any tech start-up in this glorious city.
Prewired was founded in 2012 by Ewan Klein, Freda O’Byrne, Amy Guy, Kit Barnes and Stuart Anderson. It is managed by a voluntary committee and is run by Rikki Guy, Cameron Gray, Freda O’Byrne and Helen Williams.
Freda O’Byrne is also chair of playbase.org.uk, an online learning platform for early years parents and carers.
CASE STUDY: RAIL CODE
By DAVID AND ANDREW FERGUSON
The increasing skills gap in the technology sector has often been highlighted by initiatives such as Code Club, Hour of Code – and recently the BBC micro:bit. However, all these projects depend on self-interest. For them to be successful, young people must actively have a desire to learn programming. An alternative approach would be something that appeals to young people on the basis of a fun and engaging experience which teaches them to code at the same time.
That was the premise behind RailCode, our upcoming app that was created last August at the Young Rewired State Festival of Code. There is nothing complex behind the concept of the idea: users are presented with an underground tube map, and have to direct a train from one station to another. This could quite easily be implemented in a non-technical interface, but instead users are required to code the train to its destination, using the inbuilt tutorial and help. What’s more, the premise of a train requiring navigation through an underground map provides the perfect opportunity to teach the basic fundamentals of programming.
Common programming constructs such as “if conditions” (splits in the track) and “repeat loops” (moving through multiple stations) can be taught without an emphasis on the technical nature of programming, to anyone who understands public transport. Adding a points-based ranking system not only encourages users to return and bring their friends, but also rewards examples of good quality code. To engage new talent in the technology sector, we must actively recruit those who have an interest – but just don’t know it yet. RailCode goes some way to solve this, but it is still only part of the solution. Who knows, perhaps the final piece in the puzzle will be found by someone whose interest was sparked by RailCode.
David and Andrew Ferguson are Prewired members and winners of the Monster Sponsor Challenge at the YRS Festival of Code 2015