Recently I started teaching teens programming. I use Python for them.

An adult approached me and asked if I would teach her. The problem is that she's in her 40s, and hasn't had to think logically or algorithmically since high school, if ever. Scratch/Snap is too basic, and Python, in my opinion, would be too advanced.

I decided to use Small Basic. Great choice, as it introduces things in a workable, but small-step format. I particularly liked how it teaches loops with "goto," and then loops later. Doing so shows how loops can be constructed from a "goto" routine. I.e. you can construct loops with "goto" and have the student see the mechanics of how loops work. Ditto subroutines.

Though Small Basic is not quite legacy, it does utilize Basic, and can be a good choice for those just starting out.

I've had experience teaching programming to friends and I have found that involving them in a project gives them encouragement to follow through.

Beast of luck with your students.

Well, C has a goto statement.
However, an interpretive language with a good IDE is better for beginners.

The problem with Small Basic is that it has a goto but no comefrom.

commented: Nice! +15