Is Coding The Key to Innovative Thinking?
With this week being Computer Science Education Week, I thought I would share a hypothesis. It is that coding can be a key to innovative thinking…
This story starts in a land far far from here, many years ago. The setting was Mr. Hildebrand’s Computer Science class and the time was 1981. We had three shiny new Commodore PET 4032’s all equipped with a cassette drive and one shared daisy wheel printer. The network consisted of my white canvas Nikes with a light blue swoosh (aka the ‘original sneaker network’). The language was CP/M Basic and given there were 30 of us in the class, actual computer time was precious – you had to have your code written, de-bugged, and double-checked before sitting down to key.
Luckily for me, there was a bus drivers strike that year and the vast majority of students could not get to school and/or used this as an excuse not to come to school. For me, it meant a massive amount of computer time and given that I was getting a drive home from school with my CS teacher, I had to stay late, waiting for him to leave which gave me HOURS in front of the green screen. I ended up scoring 100/100 on my year-end project – the first 100% I ever received.
For our year end project, we could choose to do anything we liked – as long as it solved some sort of problem. I chose to write a math game – how to place eight queens on a chessboard without any one queen being able to overtake another. It was a fun problem as not only did I have to write the algorithm for the permutations and combinations but I also had to graphically represent it – which was not easy writing in CP/M. Essentially, this is what my Graphical User Interface looked like: |
Now back to how coding is linked to innovative thinking.
For anyone who has been part of an innovative team, process, or solution, they know that innovation appears to be messy but in actuality, it is a series of micro experiments. It starts out with a question or problem and then many many discussions around conditions that exist, need to exist, could possibly exist, etc. In essence, it is the creation of conditional statements aka the If/Then statement (this link is for the geek readers only). Conditions are executed to test models until an appropriate solution / match is found.
While many believe that innovation is a big idea that the smartest person in the room comes up with and then creates the next big thing, this could not be further from reality. Innovation comes from many people evaluating many different models through a structured approach – one through which many tests are carried out and evaluated against certain conditions. This is what every single computer program does. It is what coders learn and do. If you also take into consideration that all great coders work to write programs with as few lines of code as possible (and avoid infinite loops) – i.e. efficiency in new models – we have a formula for creative thinking and design.
If this all computes, then it would be reasonable to assume that innovation and creativity are a result of logic, execution, and efficiency. What could be better to teach this than coding? Shouldn’t every student take at least one coding course?
There are great examples of how coding is changing the way we teach and learn. The Canadian Broadcasting Corporation’s (CBC) ‘Code Kids‘, documents the journey of educators in Canada’s Maritime provinces towards having coding taught in all schools (as well as a look into Finland, Estonia, and more).
Here at home in the US, Code.org, a non-profit organization, is focusing on expanding participation in computer science in more schools – and increasing participation of women and minorities. They have launched an initiative called an ‘Hour of Code‘, which is a one hour introduction to computer science. It is a game-based environment that anyone from eight to eighty can do. So far almost 60 million students have tried an Hour of Code and we (Pearson) have had over 5600 employees participate in the program (I even graduated!).
Final Thought:
10 CLS
20 PRINT “Hello, world!”
30 PRINT “I hardly remember BASIC.”
40 PRINT “… but what has been enduring is what I learned about logic, questioning, invention, and efficiency.”
50 PRINT “It seems to me that…”
60 CLS
70 PRINT “All Students Should Learn To Code!!!”
80 GO TO 60