Why am I Doing This?
My beliefs on the matter are in-line with what a lot of people are saying — everyone should know how to code. It’s not so much knowing a specific language, as those come and go, but understanding the basic principles behind creating logic structures and moving data around effectively, and I believe that that knowledge not only makes someone a better candidate for any position they pursue, but it gives them a fall-back skillset. As technology increases and the need for more unique-case applications crop up, the more helpful it is to know how to code.
As Eddy has grown and shown an interest in the world around him and how things work, I have found myself thinking a lot about how computers are handled in schools and how our views on them have changed since the 80’s. For most people, a computer is merely an appliance — shove some software onto it and go to town. It’s become a television — 99% of the people who use one, can’t tell you how it works.1 I think it’s important that computer education go beyond “here’s how to use a spreadsheet” and “this is the CPU.”
Thus, I’ve been trying to decide how to teach Eddy about computers — and I want him to learn them the way I did. I had a command line on a CRT with a blinking cursor, and a BASIC interpreter. It won’t be that rudimentary, but I do want him to have a cheap Raspberry Pi (or whatever the equivalent is by then), so that he can start learning from the ground up when he’s young. To that end, it’ll be helpful if I can answer his questions (or at least have enough knowledge to give him a framework to build his experiments around), plus it’ll be good to get back into coding again.
I view Eddy learning to code as important for his personal development as him learning to play an instrument, playing a sport, and taking the usual array of classes in school. I view my skill-sharpening as important for my career as taking leadership courses, or networking, or learning any other non-technical skill.
1. Yes, I know I over-use the emdash.