Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

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 built a Logo[2] implementation so that we can move into writing modular, reusable procedures and play with graphics.

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.


Remember those laptops for African kids? They integrated Python for learning to program. I only watched the video, back then, but I remember them showing the Python console.

  http://en.wikipedia.org/wiki/One_Laptop_per_Child
  
  Pippy https://www.youtube.com/watch?v=E7aQxYuKJ18
  Turtle Art https://www.youtube.com/watch?v=i2MblcmwWo8


Interestingly, OLPCs also come preloaded with a Forth environment by virtue of the fact that they use OpenFirmware: http://wiki.laptop.org/go/FORTH




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: