I just started a ‘Programming Fundamentals’ course last week to see if it looked like it could add comething above and beyond my codecademy classes alone. So far I’m interested. We use a language / coding environment called Alice, which was developed to provide a simple way to start thinking about programming. Essentially, it’s a self-contained program that lets the user drag and drop coding fragments in a way that it creates a program step-by-step. I suppose it’s good – although for old guys like me, it’s very strange. I’d much prefer just using a language and typing the code out. However, I do recognize how the Alice approach might be more accessible to users that have grown up with sophisticated touch devices, etc.
Presently, I’m just working through chapter two, so I’m not too deeply into it yet, but I have found some fascinating things. For one: I’ve completely re-invented the wheel. Through a lot of trial and error I’ve come to a coding style that this text describes as modular, ‘top-down’ design. I also have been doing all of my debugging (what I called troubleshooting) starting with unit testing within a testing shell and then putting everything together in an integrated test.
So far, the major difference between my coding methods and the book’s is that I didn’t develop a whole lexicon for what I was doing. (Ironically, that’s exactly one of the things that I teach in biology – Mendel was successful with his experiments in part because he developed a language to describe his work).
Well, enough chatter. I actually have homework to finish up before I go to class in one hour.