Re:Assembly. (Score:4, Interesting)
by laird (2705)
on Thursday January 22, @03:03AM (#8052679)
(Last Journal: Monday April 07, @07:39AM)
I used to teach kids programming (at the Computer Ed summer camps in Boston) and I had kids programming in all sorts of crazy languages. I think that it’s wonderful what kids can achieve when they’re excited about learning.
A few random pleasant memories:
- I was teaching a little girl to program in C. She was pretty good, given that we were using pretty primal tools (I think it was Turbo C on my Osborne Executive). The best part was that she was so tiny that she had to reach _way_ up to hold my hand when we crossed the street that ran through the camp. That just blew my mind — one minute this brilliant kid was coding a sort routine in C, and the next she was a timid little girl holding my hand crossing the street.
- I had a whole gang of kids using the Lisp built into the BBC Micro (Acorn?). We had great fun writing an adventure game with a simple parser, so that kids could move around a simple network of rooms, pick stuff up and move it around and drop it. Some of the older kids implemented locking and unlocking doors. Pretty good for a two week, one hour a day course.
- A bunch of the older kids learned 6502 assembler on the Apple ][, using a simple assembler and the ROM debugger. Unlike the x86's, the 6502 is so simple to program (very clean design) that by the end of the class some of the kids were reading the binary straight rather than disassembling it. We wrote killer video games — they had snakes running around the screen, gobbling "apples" and growing longer, until you hit a wall and the game ended. That was two weeks at 2 hours a day, so it was only for the most dedicated little geeks.
- Programming Robot Wars — that was a very simple assembly language that controlled simulated robots. They loved coding their robots and seeing whose robot won. The modern robot simulators are superior in every way (e.g. alphaworks' Robocode [ibm.com], but Robot Wars was nice and simple and fun.
- Logo, of course. It’s an amazing language. People usually think of it as a simple language for teaching, and it’s great for that, but it’s actually nearly identical to Lisp, so you can do all of the cool recursion, etc., in Logo. The usual stages of the day were Logo for little kids, then BASIC, then Pascal for the advanced students. I found that kids that went straight from Logo to Pascal did 100% better than the kids who were taught BASIC — the BASIC kids had so many stupid ideals drilled into them that they were almost incapable of programming. But straight from Logo to Pascal was easy — though the kids did complain about having to wait for things to compile. :-)
- Logo turtles — the ones that were little robots that ran around on the floor, with a pen and an optical sensor. Those were fun…
Man, that was fun. I’ve got to get back into teaching.
Man, I _really_ have to get into teaching kids how to program…