The Festival of Code is an annual celebration of code for under 18s run by Young Rewired State, a philanthropic movement which finds children driven to teach themselves how to code. YRS introduces under 18s to open data, invites them to join a worldwide network of young programmers and work together to Code a Better Country by solving real world problems.
In the summer, Siobhan Ramsey, Director of Sandbox Education, successfully mentored young 18s programmers in visual programming, physical computing and application development to reach the final of Young Rewired State. This article gives an outline of this work during the 2013 Festival of Code. It provides a list of resources for learning the fundamentals of visual or text based programming.
“In addition to curriculum opportunities to explore the creative side of Computing, we would like to see this taken further in extra-curricular activities such as computer clubs. These clubs would encourage motivated pupils to explore the creative side of Computing further, and universities and industry should get involved." (Shut down or restart? The way forward for computing in UK schools 2012, Royal Society).
The week starts in Bradford as the young programmers arrive from Leeds, Bradford, Keighley and York, uncertain what to expect. They quietly plug in laptops, open screens, log on to the wifi. The tension breaks after the group watches a welcome video presented by Emma Mulqueeny: who explains YRS and encourages everyone to bring their creative projects to the weekend event at the Custard Factory in Birmingham.
They start to quietly chat and explore data sets, using links to resources provided by YRS and its sponsors. With a little prompting, they formulate ideas for applications using open data, the annual challenge of YRS.
One states that he would like to see if they can find the location of the 'North-South divide': exploring social inequality. A team forms around this idea and sets to work coding in Python.
Another group decides to build an application using an event based API that will help users find events in any local area using the post code. The lead programmer in this team, has skills in Ruby, mainly self- taught and is keen to code on Ruby. We explain to him that he is on his own, as no one has expertise in Ruby. He cheerfully sets to work programming the full application, without mentor help, using web based resources.
The young programmers write their applications on cloud based interface development environments (IDEs) using Heroku or Cloud9 and store their code on GitHub. The mentors curate the room, observing and strategically intervene to help when needed. Sessions run throughout the week drawing on the coders' and mentors' interests and skills. One young programmers demonstrates Github a code repository used by professional programmers. He creates a new account, pushes code to Github from the IDE, where it can shared, forked, merged or reverted back to earlier versions if the worst happens and the code is corrupted and can't be fixed.
Mentors provide expertise on agile workflow, programming in Python, Scratch, HTML, CSS, Web Standards and domain name registration. We help to install and configure Wordpress blogs with responsive designs. The bloggers post images and videos to sites that dynamically adapt to display well on all devices: tablet, phone, laptops and desktop.
By the end of the week the teams have worked iteratively through the stages of ideation, prototyping, rigours user testing and built fully working applications. They have used project control lists to monitor progress and track modifications, in response to user tests and group feedback.
They have polished their presentations with the potential viewpoints of the individual judges in mind, formed self-organising teams and are ready to present in public, in roles that work to their strengths. All have taken part in video interviews, photo-shoots, tweets and blogs and adopted the ninja bunny as the official mascot. Photo Set http://flic.kr/ps/2wwdgw
At the start of the week I took along a Makey Makey to introduce physical computing and help explain the 'Internet of Things'. This is a small device built on an Arduino which when connected to a computer, turns objects, people and even pets into track pads or keys. Developed by two MiT students, crowd funded on Kick Starter, it fuels a series of creative projects throughout the week.
These include the invention of a digital drum kit where chilli peppers, limes and green beans, (donated by a local grocer) form the digital drum sticks; a computer alarm which sounds when a cupboard is opened; the composition of music with glasses of water.
It culminates in the creation of a working human piano powered by the Makey Makey, wires, tinfoil and people, filmed and uploaded to YouTube and Twitter. All the inventions are programmed in Scratch, a visual programming language, which is accessible to all and the hands-in nature of the activities brings the group together as a whole.
Team: Rafal, Lawrence, Hannah, Aaron
"North-South Divide was a project to try and calculate where the North- South divide is which was built in a few days during the Festival of Code run by Young Rewired State (YRS). In order to do this we used a number of data sets including crime data, population and child poverty data. The program draws a line where there is the most difference between the North and the South."
Matthew Hall 17
The competition aspect of YRS serves to gives the week structure, focus and pace. However, taking part as programmer or mentor is in itself an inspiring experience. So much so, that we all agree, on the way back in the minibus, to run a free programming club, the first session of which took place a few weeks later.
I come way feeling energised, determined to take my programming skills to the next level. For those interested in getting started or as YRS puts it becoming 'newly minted' here are some starting points.
Learn Ruby from scratch
Cloud based are IDEs are an development environments provide an online workspace to write run and debug code, access code frameworks and libraries, collaborate and communicate in real time.
Ruby, Node.js, Clojure, Java, Python and Scala.
Github a version control system hosts 5.7 million code repositories. Git is used to store, backup, share, merge and restore code.
Thanks to Young Rewired State http://www.youngrewiredstate.org
Mentors: Siobhan Ramsey, Director Sandbox Education, Michael Syree, Director Exa Networks, Martin Cottrell, Section Leader Media and Business, Shipley College, Franklin Raccah, Laure Delisle,Thomas Mangin, Developers at Exa Networks
YRS Programmers: Arran Curtis-King, Hamzah Yousaf, Hannah Pirie,Laurence Syree, Matthew Hall, Nicholas Dyson, Oliver Brown, Rafal Chmiel, Thomas Davies.