Thinking in Code: "Antao's Tetris Ported from Python"

 

If you want to have a go at my version of the game, you can install it from here at the Google Play Store (Python version running on the Chrome Browser here).
 
Any idiot can code, and many do. The skill is in understanding the maths and algorithms (speaking as an idiot who codes).
 
Lazy (or to be fair perhaps just poorly informed) people have taken to use the word "coding" as a synonym for software development. Actually, coding is tricky in and of itself (read the C++11 reference manual and tell me it ain't so) but it is still only the "bricklaying" part of construction, so to speak. Programming is creative and exploratory and stimulating to the imagination. It's a different way of thinking that serves people well in all sorts of life situations outside of software. So as a way to develop skills in logical thinking, problem solving and invention it's very useful. Not every child will go on to write software as an adult but having a basic understanding and insight into systems has to be a fundamental part of every child's education I say. If you don't understand the systems controlling your life how can you ever use them to your best advantage?
 
Actually the basics of code are not directly computer related at all. A simple binary device is an on-off light switch which says something like when I am 'on' my user is at home and when I am 'off' my user is away. A second light switch allows this develop into when both lights are on my user is awake and when only one light is on my user is asleep and so on. The code is what you make the light sequences mean. The same use is made of morse code, an abacus, flag signals , hand gestures, anything that can be logically explained to mean something for each different state. I think most children develop logic rather more quickly than we believe possible, and the only problem with computers is demystifying their apparent complexity when they are only ever very fast at very simple arithmetic and being given very precise instructions about what to do with all that speed adding numbers together.
 
 
If you're into Android Game Development, read on.