Saturday, September 27, 2008

Teaching children to program...

I remember when I was a kid (well, at least in high school) and I first got interested in programming. I was motivated by my physics teacher (who called everyone either "Bruce" or "a blob" - long story) when I asked him if I could ask our new, powerful TRS-80 Model 1 (4K of memory!!!!) when George Washington's birthday was, and he pointed a finger at me as he laughed his ass off. Then, he set about teaching me to program the thing. He even let me take one of the two school computers home over the Christmas break. Fantastic guy, and great mentor.

We started programming in BASIC, because that was pretty much all you had in the PC world at that time (except for assembly, of course - but that is hard to teach a novice).

I was turned on by the computer graphics at the time (which were SO crude to what is available today), and the instant gratification of seeing what you did right away. After learning to program in BASIC, I discovered LOGO, but thought it SO simple and pretty much worthless since it was a self-contained environment that couldn't get at the machine itself (no PEEK() or POKE() functions - at least that I knew of at the time).

I went on from BASIC to assembly, FORTH, FORTRAN, C and all the modern languages, both compiled and scripted like Java, PHP, etc. I found each one had cool features depending on the hardware you were using, but really fell in love with C. It gave you all the rope you needed to hang yourself, and the scissors to cut your way out.

So, fast forward almost 30 years, and I find myself looking to teach my 10 year old daughter to program. She is getting involved in the school Lego club, which uses Lego Mindstorms, the programmable "toy" from Lego.

Using google, there seems to have been at one time a simulator for the older version of Mindstorms, but I can't seem to find one for the NXT. I'm going to have to dig a little deeper to see exactly what the language options are - and see if they are suitable for a 10 year old.

Interesting to note, LOGO is still around, but looking at it now, it seems so archaic. Is it worth pursuing? I'm still not sure.

I still have my Apple ][+, so I could teach her BASIC. This is actually a very attractive option from an introduction point of view. So, I'll have to dust it off again. Note: the floppy disks I have from 1980 STILL work. And some of those were the $0.99 single sided MEI Micro disks that I used a hole punch to make double sided!!

Ahh... the good ole days...

10 PRINT "TORI ";
20 GOTO 10

How fun is that? *cough!*

There are a few Apple emulators out there as well. That's another option. Unfortunately, they are old, and are 16 bit application. My x64 box won't run 16 bit applications, so I'd have to run them on her laptop. Not bad, but just a pain to test and debug before giving it to her. And, most of these are not just click and go... Anyway, I've got my Applesoft manual here, and I'm trying to remember all those wonderful commands. Oh - and there's my 6502 Cookbook. Cool!

Update: Check out http://applewin.berlios.de/ - it is a nicely done Apple ][ and e emulator. Works well on x64 as well as x32.

No comments: