4 ms·
The first "programming language" that I learned to use was LEGO Mindstorms, when I was around 8 years old. I think that was an absolutely AWESOME way to teach t
by thetwiceler 13y ago
The first "programming language" that I learned to use was LEGO Mindstorms, when I was around 8 years old. I think that was an absolutely AWESOME way to teach the principles of computer programs to children. (And transferring the programs to the robot was WIRELESS! Serial -> Infrared, that is)
Each "instruction" was represented on a computer as a "LEGO block". For example, there was a conditional block. You'd place it under a block that would return an output (like a "sense" command), and then you'd place two blocks below it for the True/False conditions. So basically you ended up building a tree of the logical structure of the program.
I think this style is the BEST way for children to learn programming. In fact, I think a block-like/tree-like structure is often a great way to think about program structure (even for advanced programs; Simulink is really great!).
Now, once you get comfortable with the constructs, actually dragging-and-dropping blocks often gets too slow. But for children, and for building simple programs, I think it's great.
I'm afraid that text-based languages are just unnecessarily difficult for children - only a small fraction of what you can type actually represents a valid program. The blocks allow programming without having to deal with these syntactic barriers. After all, when I program in a language like Haskell, 90% of my programming errors cause the program to fail to compile. These sorts of errors (syntax errors or type errors) can be prevented as the program is built with the block interface.
And while I'm extolling Mindstorms, another great thing about creating these programs was that you weren't just flipping bits on a computer; it was pretty satisfying to see a robot "in the real word" follow your commands.
- iknight 13y agoHa! I still have my Mindstorms set and I plan to knock the dust off of it in a few years when my son is old enough.
- codyb 13y agoAnd not only that, but if you're already interested in playing with legos (as I was as a child, although mindstorms was windows only back then much to my chagrin!), what a great way to learn basic programming concepts without even realizing you're learning! You're not even interested in programming, you're adding extra functionality to something you already enjoy in a fun way. It's like asking some one to learn how to do the rainbow kick move over the head with a soccer ball when they don't play soccer at all compared to when they do if that is an okay analogy.