How do we hold people’s attention as they struggle through that first difficult stage as they grapple with code and coding?
We think the answer might be in removing the focus from the technical skill they are learning, harnessing their creative thinking and helping them to identify and drive toward an inspiring result.
‘Hello World’ is traditionally the first program written in the process of learning a new programming language.
‘Hello World’ is supposed to be the simplest possible program in any language and it results in printing ‘Hello World’ to the screen or console. Its the first step of many in attempting to learn the syntax of a new language.
I have written ‘hello worlds’ in innumerable languages and I did so for many years.
I would sit down at the computer – generally with a big instructional book – and try to learn to program by following the prescribed steps; beginning with ‘hello world’.
I was massively unsuccessful time and time again.
I think it is interesting that the languages I first learnt to really use despite those frequent attempts were the ones in which I have never written a ‘Hello World’ and for the most part I never had step by step instruction.
They were the languages I learnt because I had a goal in mind. They were the ones that I was using not as a means in itself, or to become a ‘computer programmer’, but that I was using to achieve a goal or express an idea.
My engagement with these languages was never to ‘learn to code’ but rather to get the computer to do what I needed or wanted it to.
In these instances the code was more like an obstacle or puzzle than a language. It was something I had to ‘nut-out’ and the only way to do that was by coding and recoding until I worked my way to a particular end.
The aim wasn’t so much to talk to the machine but to get the machine to talk to me. Code was only useful as far as it facilitated that conversation – a two way conversation between me and the machine.
Occasionally something surprising happened and in listening to that machine speak I’d discover creative potential I didn’t know I was looking for.
These were the moments when programming became creative, when it became what its founding thinker called a ‘poetical science’ (Ada Lovelace ), the moment when, between the body and the machine, the human and the computer, I realised a creative difference.
In teaching young people creative technology I’ve found the best and most effective motivator for getting people to nut through coding challenges and to learn effectively, usefully, in the process, is by demonstrating creative potential rather than stepping through goals and prescribing steps.
Right from the outset we need to give students a reason to code by showing them what is possible, where creative potential lies by building machines together, imagining the ways we might modify results and explore the contingencies and potential of the machine via code.
If we can get them to listen to machines speaking then we might give the student a reason for learning how to code and we might never need to write another ‘hello world’ again.