|
For someone who already knows how to program, Python seems to be very easy to pick up. It's still a tremendously more complex language than BASIC. I help teach an after-school programming class for middle schoolers. Last year, we tried using Python. While some students got the hang of it, many seemed confused and demotivated. This year, I wrote a simple TinyBASIC REPL from scratch[1], aiming to produce the simplest subset of the language that made it possible to do interesting things and illustrate concepts like looping, branching, variables, etc. It was a big hit with the kids, and the whole class has been extremely engaged. As a next step, I've built a Logo[2] implementation so that we can move into writing modular, reusable procedures and play with graphics. Learning to program is almost entirely orthogonal to learning a language, and I think that starting with very small "toy" languages is a good way to approach teaching core concepts without getting lost in the quirks and complex features of popular "real" languages. BASIC is small, Python will never be. [1]https://github.com/JohnEarnest/Mako/tree/master/demos/Masica
[2]https://github.com/JohnEarnest/Mako/tree/master/demos/Loko
|
I've always felt that it's hard to go against Logo. When I was a kid, there was a direct connection between what I did on the keyboard and what the turtle would do.
That language changes your brain, not your data. Thus, it is one of the most important languages.