Slashdot Mirror


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.'"

13 of 204 comments (clear)

  1. engineering application by millahtime · · Score: 4, Insightful

    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.

    1. Re:engineering application by Anonymous Coward · · Score: 1, Insightful
      This could have good implications on future engineers

      I doubt it. The last thing we need is yet more engineers (in computing or elsewhere) who aren't really interested and don't really get it. The article says:

      Learning how to become a computer programmer has never been easy or fun for most people

      Then don't bother. Seriously. Find something you enjoy doing. You'll have a better life. Don't study programming just because you think you might make some money (which is looking increasingly less likely anyway.)

  2. This really is only dimly connected with programs by UserGoogol · · Score: 3, Insightful

    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
  3. Learning to Program by mysqlrocks · · Score: 2, Insightful

    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.
  4. Looks boring by LordNimon · · Score: 5, Insightful
    I tried reading the rules, but they're hard to understand just by reading the web page (and yes, I'm a programmer). From what I gather, there are no real decisions that the player makes. That is, you roll the dice and your move is based solely on that dice roll and whatever square you happen to be on.

    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
  5. Yeah, they're like exceptions in C... by mekkab · · Score: 2, Insightful

    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.
  6. Re:Bad Design by PalmerEldritch42 · · Score: 2, Insightful
    The gosub command is a wonderful thing that more BASIC programmers should have used. It allows one to develop a subroutine that any other part of the program can access. It was the foundation for how I learned OOP. Goto statements were seen as hackish attempts at redirection, too often resulting in Spaghetti Code that is all but meaningless to anyone else who ever had to look at the code.

    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!

  7. Re:Robo Rally by ArsonSmith · · Score: 2, Insightful

    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.
  8. Re:Great! by kkek · · Score: 1, Insightful

    "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.

  9. Re:Bad Design by Anonymous Coward · · Score: 0, Insightful

    Good programmers NEVER use goto, great programmers do.

  10. Re:Why oh why?!! by Wildclaw · · Score: 2, Insightful

    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.

  11. Re:Why not build a robot?? by lawpoop · · Score: 2, Insightful
    Board games (and probably games in general) appeal to people who are interested in competing with others. Robotics kits appeal to loners, and certainly don't lend themselves to a group effort or competition. Sure, you can have robot battles *after* you or a team has built a robot, but at that point you are making a game out of the robot-building.

    We need both types of projects to teach all kinds of kids logic.

    --
    Computers are useless. They can only give you answers.
    -- Pablo Picasso
  12. Paradigm Shift Underway by viewtouch · · Score: 2, Insightful

    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.