5 ms·
I think "board game to teach kids programming" is a misdescription. This is a board game that teaches kids to think like programmers --- it teaches elementary l
by quotient 12y ago
I think "board game to teach kids programming" is a misdescription. This is a board game that teaches kids to think like programmers --- it teaches elementary logic skills and makes them familiar with programming concepts. It doesn't teach them anything about actual programming, though it makes them better potential programmers. I think this game is worthwhile as a general learning exercise, i.e. to develop structured thinking, but with regard to programming, it is a misdirection of efforts.
To elaborate: there's a certain magic moment when you write your first program. You realize that you can make the computer do things. First, you just have it print a test message. WOW. Then you have it add two numbers. It works, and you feel a surge of emotion: with this tool, anything is possible. It's an incredibly powerful and liberating feeling. It is very persuasive, and often gives rise to an immediate fascination.
The way to "teach kids programming" is to give them that experience, to let them feel that Eureka!-moment. Teaching kids about logical statements, loops, etc. is neat stuff, and will certainly make them into better thinkers, but it does not make them (significantly) likelier to open up a REPL and type in "print 'Hello World'".
And that is the critical point: if a parent wants their child to pick up programming, they'll have to get them to actually program. Playing games about conditional statements and basic logic is only very tangentially related to getting children to write and run code. (The same complaint goes for other products in this space: picture-books, games, etc. to bring children closer to programming have been released in great number recently.)
Perhaps there is some sort of general fear that actually opening up a terminal, notepad, etc. is somehow an intrinsically difficult task (likely because most parents have no idea how it works, either), so parents try to edge closer to programming with these educational toys, but the problem is that "learning to code" is not something that can be done by gradual immersion. A child can learn to swim by dipping their toes into the water and then slowly wading into the pool while moving their arms --- a couple hours of this, and they'll learn to swim. However, with coding, the process is not as gradual: at some point, the child has to open up an editor and start typing. An effective educational tool that "teaches kids programming" really must do only one thing: help them make this step.
- brandonhsiao 12y agoTwo things limit children from learning to program: ability and enthusiasm. Resources to teach programming to "kids" tend to optimize for fixing the former, but in my opinion it's the latter that matters so much more.
- joshvm 12y agoThe easiest way to teach kids how to program is via Lego Mindstorms. I don't know a single programmer who didn't play with Lego as a child. The Mindstorms kit is expensive, but you can do a lot with it and it also teaches the basics of sensors and robotics. Graphical languages are great ways to introduce programming without the rather inane things you need to learn like syntax. In hindsight Mindstorms was my first exposure to programming and I didn't even notice. I just enjoyed solving the problems in the book and making the little robot do what I wanted.
- thsealienbstrds 12y agoPretty neat that they have this now. When I was young I didn't have Mindstorms but there was the Lego that allowed you to create running electrical parts. Yeah... I sure played a lot with Lego. Now I play a lot with Haskell. Look mom, no state! Except the problem is I can't show this to my mother, she does not understand it. :(
- patio11 12y agoI wrote my first program before seeing my first Lego block, a toy which I never got in to. I realize this might sound unlikely, but it was cheaper to program than to buy Legos, in a manner which made a difference for my family at the time.
- joshvm 12y agoLego is exorbitantly expensive, though it is virtually indestructible. I was given Mindstorms for Christmas one year, but I was only able to play with it at my grandparents' house where the computer was good enough (i.e. had more than 16MB RAM).
- zarify 12y agoAfter using Mindstorms a bit at my school I'm not too sure about their value as introductions to programming. The kids I have coming through seem to have done better things after being introduced via something like Scratch (or Gamemaker) where there isn't a break between what they code and how they get it to work. ie for Mindstorms you need to physically build something that is capable of doing the job that your program requires. A surprising number of students either didn't have the interest in that aspect or were unable to build what they had in mind. (Also the Mindstorms software is awful.)
- dchanko 12y agoI agree that's the ultimate goal, but I think if opening a REPL is sitting at the grown-up's table, then this is a booster seat. Having a game like this helps things get moving in a non-intimidating way or at least seems better than searching for analogies or sketching out pseudo-code. And after the game you can say, "Remember that for each card? Well here's what that looks like in real life..." and have it relate better (perhaps). At least I now have a phrase for updating code written by several people who apparently didn't talk to each other: coding on monkey island.
- blahedo 12y agoI partially agree, but I want to clarify that "open up an editor and start typing" is not the sine qua non that it used to be. I would argue that Scratch (for instance) is very much a programming tool, and kids that play with it are learning to program, even though there's no text editor and all the manipulations are block-based. The "check" and "count" cards in this game remind me a lot of the sorts of control flow you build when you're just starting to use Scratch---one control element, one command inside it---and as such I could very much see using this board game as an introduction to be immediately followed up by putting the kids in Scratch. So as I said, I partially agree with you: this board game does not, by itself, teach programming. But, I think it's not anywhere near as distant or as tangential as you claim.