In the spring of 2019, my wife suggested that I homeschool my 11 year old son, Neo, in Computer Programming. He had already demonstrated an aptitude for creativity and patience by creating some stop-motion lego movies with an old camera I’d given him, and I thought he was the right age to start, so I began.
My intention was that he should have the same experience learning computers that I did. When I learned computers, I taught myself by entering computer programs – the hands-on approach. I believe this is the best way for children to learn programming; by seeing the results of actual code as quickly as possible, and as often as possible. In this way learning to program computers becomes like learning a new language. My goal was to apply the “Acquisition” approach to Computer Programming. Any Stephen Krashen lecture will do, such as this one, off the top of my head.
I also believe that the reason I became good at computers is because when I learned computers they were small and easy to understand. The VIC-20 and Commodore 64 had a small memory and therefore the operating system was very small (unlike today’s Linux, OSX and Windows computers). In addition there was no multitasking – computers could only do one thing at a time. Although today this is seen as a limitation, it is a benefit when you are learning because you can understand how the entire system works together. Once you learn this on a smaller computer, you can easily learn the concepts behind today’s multicore, multitasking systems.
I began by teaching him BASIC programming on a Commodore 128 simulator. And, as we continue our journey, I will journal our progress here!