Learning to Code with a Boardgame
markmcb writes "While some of us cling tight to our memories of Apple-filled classrooms playing The Oregon Trail and driving our Turtle around in Logo, children today have many other ways to learn about the inner-working of computers and the code that drives them. Wired.com is running an interesting article about a boardgame in which players must use simple logic similar to that used in programming to get their skier down the mountain. From the article: 'Using basic math, players have to figure out which paths are open to them and then decide the fastest way to the finish line. The trick, however, is learning which paths are open to you using only programmer jargon like 'if (X==1)' then you can take the green path or 'while (X4) you can take the orange path,' where X is the roll of the die.'"
This could have good implications on future engineers. Where I read that the US is falling behind, this could help teach the logic engineers, especially electrical and computer engineers, need to use regularly.
Evolution or ID?
This is really more of a math game than a programming game per se. Yes, it teaches the concept of conditional branching, but that's not especially new to the world of board games. Also, "x" isn't really a variable, but instead represents the number you rolled, which is different from how programming actually works. (Which is potentially confusing, because c-jump otherwise uses a fairly C-like syntax, with == instead of = and everything.)
Not to say that this isn't a potentially educational game, but this is really more a way to practice doing simple arithematic and logic instead of anything specific to programming itself. (Although arithematic and logic is certainly worth learning.) It would probably lose absolutely nothing in playability or educational value if they removed all C stuff from it and just made it into a silly little math game.
"Never attribute to malice that which can be adequately explained by stupidity." -- Hanlon's Razor
Learning how to become a computer programmer has never been easy or fun for most people. Some would even call it boring.
This first line hints at an important point the article missed. Some of us actually liked learning to program. I remember learning BASIC on my Apple IIC when I was 12 years old. If you don't have the hacker mentality - the feeling that you want to figure things out - then you're going to have a hard time learning to program. I don't know, maybe this hacker mentality can be learned.Bradley Holt
What would be cooler is if while playing the game, you had to build a "program" of sorts, and you can't win the game until your program produces a specific output. You could then compete against other players for resources needed to finish your program. This would allow you multiple ways to win based mostly on your ability to understand programming concepts.
I see this game as a cool idea, but it's really just a first step.
And the men who hold high places must be the ones who start
To mold a new reality... closer to the heart
I just wrote code today that had a bunch of gotos in it.
pass in a string pointer, and if your return code was -1 log the string.
If you use Exceptions in Java or Ada under the covers they are just jumps.
In the future, I would want to not be isolated from my friends in the Space Station.
While there are uses for goto satements (I made a choose your own adventure-like story using only goto), gosub is a far more elegant solution to most of your redirection needs.
Ceci n'est pas une sig.
:wq!
It also teachs you about the aggressive tendancies of other programmers as well as the simple fact that other programmers just sometimes get in your way.
Paying taxes to buy civilization is like paying a hooker to buy love.
"All we need is more computer programmers... As if we don't have enough yet."
No, what we really need is more good computer programmers.
Good programmers NEVER use goto, great programmers do.
Your argument violates the prinicipal of not doing premature optimization. The choice between ++x and x++ should depend on readability.
If you are using it as a standalone statement the obvious choice is x++ in most object oriented languages since it follows the convention of writing the object first and the action afterwards.
If it is not standalone the different variants have different meanings so there is no need to choose because you are forced to use the correct one or the code won't work.
We need both types of projects to teach all kinds of kids logic.
Computers are useless. They can only give you answers.
-- Pablo Picasso
What's happening is that we are yet again changing the way we think. When we developed spoken languages it changed the way we think. When we developed written languages it changed the way we think. When we developed mathematical, chemical, financial and engineering languages it changed the way we think. Now we're developing graphical languages and that will again change the way we think, not to mention the way we communicate, work and create. This is really what the article hints at and this is why it's tremendously significant. When a person uses a graphical language instead of a text language it's an entirely different process, approach and result.