Do we seriously think everyone should become a software developer?
I work in I.T., and I’ve loved experimenting with computers from an early age. I certainly don’t think that everyone should become a coder, just like I don’t think that everyone should become an author… but I do think that everyone should have the opportunity to explore coding, from an early age.
I doubt that many people question the merit of enabling children to write, paint, act, role play, sing, run, climb, participate in sports, play with clay, or play an instrument. These are all such valuable communication and expressive mechanisms for a child to explore.
I feel the same about coding. Whatever role it ends up taking in the individual’s life as they get older - at this stage it is another incredibly powerful tool for self expression, and as with many activities, it can be even more powerful when combined with other disciplines.
Understanding how things works
When I was a teacher, I taught Physics, and loved helping pupils develop a richer and more complex mental model about how the world worked, from the atomic and sub-atomic to the astronomical, and everything in between.
It is hard to picture the modern world without computers and internet technologies. From our smartphones, tablets, laptops, smart billboards and even wearable devices such as watches, and smart consoles in our cars. One of my broader concerns is that as our devices become smarter, fewer of us are in a position to understand what is really going on, and how best we can make use of the potential all around us.
It is hard to picture a world without social media. Where you can keep in touch with friends and events from across the world, or even from the edge of our solar system. Even mainstream media more and more utilises the photos, videos and commentary from everyday people as events unfurl near where they happen to be
Just using social-media is like doing paint-by-numbers. Learning how to code or write your own website extends the available palette and canvas.
Like all skills, logical thinking needs practice. We all naturally learn how to undertake a series of tasks in a logic order to achieve a goal such as making a jam sandwich. Learning to encode these instructions in the form of an algorithm, or sequence of computer code, means that the outcome can be executed by a computer or device, such that we can partner with machines to complete more complex and varied tasks.</p>
#Problem solving In the school code club, problem solving is one of the trickiest mindsets to impart, such that the pupils get used to fixing their own problems, and thinking methodically. The first few weeks tend to see endless calls of “it doesn’t work”…. before we get them to start trying different things… exploring for themselves the possible root causes, and possible solutions. Once they adjust their mindset, it can be extremely empowering.
Start simple - make it work, then add complexity.