As New Year fitness resolutions come and go and birthdays add another year, one can’t help but contemplate what to do when one retires, these thoughts are fuelled by media and political attention to retirement age and the plight of the elderly within the NHS. For many years now I have told my children that I intend to study horse and dog racing when I get old. I believe that working out the odds will help to maintain my cognitive faculties, that following the races live, on the TV or radio will provide some excitement and that discussing the latest form of horses, riders and pundits with other fans will help to keep my social skills on song. Of course, this assumes no medical disadvantages to my capacities, but all being well this is an attractive plan.
More recently however, I have felt that this plan lacks any contribution back to society on my part, other than trying to ensure that I keep myself in good shape and reduce the chances of being a burden to my children. I have now added to my retirement plan rekindling my interest and skills in computer programming. There was a time when I was frequently to be found with a flask of coffee at 3am sat at my computer coding away. I could lose all sense of time when engrossed in trying to design a solution or debug a problem and could end up taking my children to school without having been to bed at all. I don’t want to return to these days of sleep deprivation and caffeine overload, but I do want to get back into the exhilaration of writing a recipe that makes something happen for me, for others and in ways that are not necessarily predictable: I want to hack for good when I get old. I may even be able to finesse my desire to follow the dogs and horses with my programming activity, and as I pointed out to my family, if I end up inadvertently doing something illegal, I could perhaps end up in the cheapest old people’s home a family could find, with regular meal times and exercise, plenty of time to think and work and regular visits from ones loved ones.
What is it that makes me want to go back to programming?
Perhaps it is a hankering for those halcyon days when I was younger and had the time to play, or when my studies and work required that I did; these were the days before I had to manage projects and have other people do the coding for me. It was when I had time within my working week to keep up to date with developments in a way that simply isn’t practical now. Or perhaps it is a realization that my dislike of ‘app culture’ is that it makes things too easy for people to do things without understanding how that thing is being done, and I like to understand how things are being done.
Is programming for everyone and should we all be learning to code?
I liked coding when I had the time to enjoy it and do it well and that is what drives me to go back to it, but I know many people who studied at the same time as me who hated coding and could not wait to stop having to do it. The benefit of understanding computer science, including coding is that it gives you the power to build things, like apps, rather than merely use them; to make things happen, rather than have them happen for you without understanding how or why; and to be part of a vibrant global community of people who like to code and work together to change the way that we interact with our technology. For a great example of young people developing and building innovative technical applications see the winning entry from Blatchington Mill School in Hove, to the Pearson Innov8 competition.
However, it isn’t for everyone and does not necessarily need to be. We certainly need a more technologically literate population, as noted by the Foresight Wider Implications of Science and Technology Report and the recent Royal Society report into the teaching of computing in schools. There is insufficient technological literacy to enable us to recognize and exploit the significant technological advances being made, but is everyone learning to code the answer?
The importance of being able to program was also amongst the virtues extolled the Secretary of State for Education in his recent opening address at the Bett 2012 exhibition and we should certainly give children the opportunity to learn to write code, to build applications and to get involved.
We all recognize that this means that we need to make sure that we have a teaching workforce who are equipped to teach such skills and that it needs a place within the curriculum and the school day. However, this is not a once and for all task, as is exemplified by the outdated and now obsolete ICT curriculum. The field of computing and programming changes at great speed and those who are part of it can be part of these changes. This dynamism and evolutionary speed means that the normal educational frameworks need adjusting to accommodate teaching a fast-moving, flexible and massively authored curriculum. It also has to be said that teaching, both the fundamentals of computer science, including programming is difficult: extremely difficult. Of all the teaching experiences I have had, the teaching of programming to undergraduates was the hardest subject area I have ever had to tackle. I wonder therefore how we really will maintain and support an expert computing teaching community.
There is of course a great role for technology itself to support the training and CPD of teachers and indeed to support the teaching of programming. For example, technology can provide a communication environment in which facilitators guide and link discussions so that practitioners share ideas, questions and probe more experienced, knowledgeable colleagues beyond their home workplace. But to build these sorts of networked practitioner forums through which teachers may form learning communities, they need to be provided with:
- funding for practitioner time buy-out and small operational costs;
- support for the roles of leading and co-ordinating facilitators, and
- encouragement for self-organising communities, such as TeachMeet.
There also needs to be an acceptance that the benefits may not be immediate – practitioners and managers find it difficult to integrate technologies into their context. Their attitude and confidence with technology impacts on uptake and innovation requires. In the same way that Mr Gove accepts that his reforms may lead to a lowering in the number of top grades at GCSE and A Level, school leaders need to accept the possibility of some initial ‘failure’, and systematic mechanisms for dissemination by innovative teachers.
Technical skills alone are not enough
There is much more of importance that needs to be understood if people are to be able to build and use technology effectively and exploit its benefits for good. Students need to understand how people interact with and use their technologies to best effect. This is an interdisciplinary enterprise that includes social sciences as well as computer science. In order to build engaging applications of technology that are suitable for their purpose, students need to learn about the motivational and subjective experience of developing and using technology as well as the objective. Without this attention to Human Computer Interaction there is a risk that students will be unable to apply their new found technical prowess in ways that are effective for society and that will bring back the UK’s computing cutting edge.