I think when I write my autobiography, the title of this post will match the title of the book! I owe a lot of what I know about how computers work to the home computers of the 1980s. I had a (several actually) Spectrum, and later on an Atari ST (FM…then an E….then a Mega…). Lack of internet and (being around 10 years old) lack of money, along with a long held interest in taking things apart, led to learning how to write programs – games, utilities, whatever. I couldn’t just pop on the net to download a program to do something, I couldn’t go down the shops and buy one, so I wrote one myself. I wrote platform games, I dabbled in 3D, I wrote image compression algorithms that worked like JPEG before JPEG was popular…later on I wrote routines to compress audio in a similar manner. A few years later the MP3 explosion happened – I should really have profited from those two things…
The biggest thing for me about the whole experience was how much fun it was. The challenge of solving a problem. The thrill of actually seeing my solution working…then being able to save it tape or disc…and watch it work on someone else’s computer!
My kids have a foundation in programming. One is only 8, but knows the basics of application design and how to get the computer to do STUFF. Straight out teaching doesn’t work to well – but when they have a problem to solve, that’s when the magic happens. And the concepts and principles can be quite easily translated to PHP or JavaScripting, so that also keeps them amused.
Instead of looking for a pre-made solution on the internet, it’s a good exercise to get them to think it through and see if they can come up with their own solution. Obviously, there’s no point in reinventing the wheel – I myself am quite partial to some JavaScript libraries – but if it gets the kids to think rather than accept the solutions and ‘truths’ they are told, so much the better.
Now, must be off. Apparently I need to play Minecraft. The joys of parenting!