Notice: Undefined index: order_next_posts in /nas/content/live/gadgetmag/wp-content/plugins/smart-scroll-posts/smart-scroll-posts.php on line 194

Notice: Undefined index: post_link_target in /nas/content/live/gadgetmag/wp-content/plugins/smart-scroll-posts/smart-scroll-posts.php on line 195

Notice: Undefined index: posts_featured_size in /nas/content/live/gadgetmag/wp-content/plugins/smart-scroll-posts/smart-scroll-posts.php on line 196

Programming is fun – the free software column

It come as no surprise that we are facing a crisis in education, with children being taught to use computers but not understand them. Despite a need for change being identified, the situation does not appear to be improving

In his introduction at the start of Richard Stallman’s Free Software, Free Society, Lawrence Lessig observes the following: ‘Code is the technology that makes computers run. Whether inscribed in software or burned in hardware, it is the collection of instructions, first written in words, that directs the functionality of machines. These machines – computers – increasingly define and control our life. They determine how phones connect, and what runs on TV. They decide whether video can be streamed across a broadband link to a computer. They control what a computer reports back to its manufacturer. These machines run us. Code runs these machines.

‘What control should we have over this code? What understanding? What freedom should there be to match the control it enables? What power?’

For Lessig, this is why software should be free: ‘Free software is control that is transparent,’ he writes, ‘and open to change, just as free laws, or the laws of a ‘free society’ are free when they make their control knowable, and open to change’. Code rules our lives, at work and at play, and for better or worse, our jobs and social interactions are increasingly dominated by code.

Code should be free, and schools should provide the tools to make it possible for kids to know where code comes from and how it gets that way. If we want our kids to have some control over their lives and their futures, not only should software be free, but they should be taught the basics of programming and how computers work.

This may seem obvious. Computer devices are not just black boxes that do the things we want them to do. We should know something of how they are put together, and how they connect with other devices. And yet, with rare exceptions,
computing in the British education system has been locked in to a world where children are educated as users rather than doers. Schools have become dependent upon educational packages written for Windows, and ICT in schools has become little more than a training programme for using Windows and Microsoft Office.

This has given rise to the complaint that ‘no ICT course has a programming or a systems module, instead students are taught to be mere consumers of technology, and operators of applications’. IT qualifications, inside and outside school, are predicated on a similar assumption. Adult education courses on ‘computer skills’ are seldom more than guides to using Microsoft Office, and IT technicians in schools are, more often than not, MSCEs, educated specifically in the use of Microsoft technologies.

Back in 2008, Microsoft was the subject of a complaint by Becta, the body that advised the UK government on IT policy in education, to the European Commission and the UK Office of Fair Trading (OFT), alleging ‘anti-competitive licensing practices by Microsoft in the schools software marketplace’ and ‘the existence of impediments to effective interoperability in relation to Microsoft’s Office 2007 product’.

Technical literacy has been low down the list of priorities, and a narrow Microsoft-centric view of the world has left gaping holes in the UK’s education system. Computer systems for schools have been more expensive and less effective than they could have been, and have failed to provide the range of educational possibilities that could and should be possible. This syndrome is compounded by a political culture that is limited in its educational scope and vision but boundless in its propensity for scoring points.

Computer programming is an art and is essential to the way we live. Computing provides the bricks and mortar of our lives, it’s an important component in the way our world is built and shouldn’t be tucked away under sufferance in a dry and dusty science classroom as an adjunct to something else. Programming is fun and practical and useful, and makes things happen. Just by grasping a few concepts, anyone can be a programmer and turn a game on its head, make something work – and this is a world that the Raspberry Pi was made for, a tool such as Meccano and Lego that is useful and fun for both teachers and pupils alike, and is as simple or as complicated as you want it to be.

Free software may not be the panacea for all the failings of our education system, but a truly diverse approach to computer education would allow for ongoing collaborative development of tools that fulfil real educational needs in the classroom, and increase the accessibility and affordability of comprehensive computing systems, as well as helping to improve technical literacy in the education system. Education is about understanding how and why things work, not an exercise in consuming products.

Belatedly, an initiative to encourage the teaching of computing and programming in schools has been initiated by The Computing At School network with encouragement from a variety of industrial and political bodies. Unfortunately, the project to encourage the teaching of programming has been politicised, and the ‘Year of Code’ is led by a political appointee, Lottie Dexter, who made a hapless appearance on BBC Newsnight, admitting that she had no knowledge of coding but still declaring that ‘teachers can be taught
to program in a day and that people can make websites in an hour’.

As one teacher and founder of Raspberry Jam, Alan O’Donohoe, commented on Twitter that: ‘Coding can be fun, engaging and inspiring despite the #newsnight report’ – just try it.