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.'"
Tell me again why they should learn the inner workings of the computer.
I was told to never use a goto...
Also try Robo Rally. Of course, this deals with how to program a computer with a VERY limited instruction set, and with damaged hardware. :)
[
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?
is the convention to use x++ when it is well known that in most languages ++x is faster? Yeah, I know that the compiler will choose the optimal one for the situation, but why leave things up to chance? left hand operators first!
I'd like a 20D +4 bonus please.
< must be escaped with <
Is there any computer game for learning algorithms?
Everything I know is from games or movies.
This game is supposed to teach kids about programming and they are talking about Goto?
Technoli
A skier down the mountain: { Full_Speed() } While !Crashed
"Job outsourced to India! Go directly to trade school, do not buy a house, do not get laid."
"High school reunion time! The same guy who kicked your ass every day in high school and barely passed wood shop laughs at you because he makes more than you as a plumber while you wasted 4 years at college. Go back 3 spaces."
There are fifty differnt robot kits floating about. They are much more entertaining and probably can help people program just as much as a boring board game.
Ooo man the floppy drive is broken. No wait. The computer is just upside down.
*Of course this omits thre pretty pictures*
c-jump: Ski & Snowboard Race
Discover fundamentals of computer programming by playing a board game!
c-jump helps children to learn basics of programming languages, such as C, C++ and Java.
Players:
2 to 4 players
Ages:
11+
Object Of The Game:
First player to move all skiers past the FINISH line is the winner!
Equipment:
One game board, one die, and sets of colored pawns representing skiers and snowboarders for each player.
Great and unique learning game for kids! It teaches the child basic commands of a programming language, such as "if", "else", "switch", and introduces variable "x" concept.
The child calculates number of steps in the move, including addition, subtraction, division, and multiplication of small numbers. The game helps to develop understanding of a complete computer program, formed by logical sequences of commands.
This game eliminates intimidation of many kids and their parents, bored by the mention of "computer programming", often associated with visions of geeky guys glued to their computers. c-jump reveals simple programming terms in a cool way!
By moving around the board , entering loops, branching under conditional and switch statements, the players gain physical experience of a complete program. Understanding of the internal action of a computer is essential to understanding what software is. Static program causes dynamic process in the computer. By playing the game, players see this process as physical and spacial motion.
c-jump facts:
This game is not only about teaching and learning: it's fun and entertainment for the whole family!
Skiing and snowboarding is a perfect programming analogy.
c-jump game is ideal for home school education.
The game is based on the code of a real computer program!
Proceedings of our business support Common Text Transformation Library, an open source programming project on the internet. Please feel free to visit and download!
US Patent 6,135,451
© 1997-2005 Igor Kholodov
You can't talk about Wikipedia's flaws on Wikipedia
Here are the rules, in case people want to check the game out further.
http://www.fairplaygames.com/gamedisplay.asp?gamei d=797
I played it once. Not too bad from what I can remember. The box art actually includes a can of Jolt and real 80's hacker references like "Legion of Doom"
Technoli
Don't piss off The Angry Economist
Maybe some kid will figure out how to finally get past that damn monster!!
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
The quote is
I do security
Choose Lisp! You have nothing to lose but your shackles and +++ATH CENSORED
Everybody's a libertarian 'till their neighbour's becomes a crack house.
Dam it. I keep on rolling 3. Ill never get down the mountain.
Ooo man the floppy drive is broken. No wait. The computer is just upside down.
One of my favorite early computer toys was the CARDIAC, the Bell Labs "Cardboard Aid to Computation," and I was hoping that this board game might re-create some of that excitement for today's kids. I liked the concept, but was a little dismayed by the attention to syntax. I'm more of the "Syntactic sugar leads to cancer of the semicolon" school of thought.
I worked on the Logo implementations for the Apple ][ at the MIT Logo lab, and at Terrapin did the Commodore 64 (and other ill-fated Commodore computers), Macintosh. (I also various implementations and translations for Japan, Spain, France, and Germany.)
All we need is more computer programmers... As if we don't have enough yet.
Apple-filled classrooms??
We had one damn TRS-80 Model I for the entire school!
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
If you find this interesting you might be interested in Bruce Schneier's Solitaire Encryption Algorithm, a real encryption algorithm using a deck of cards.
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
What? Afraid you might lose them?
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.
"(Although arithematic and logic is certainly worth learning.) " (emphasis mine)
:)
Yes, but grammar and syntax are certainly worth learning too
"Trolls they were, but filled with the evil will of their master: a fell race..." -- J.R.R. Tolkien on Olog-hai
any body click on the link to oregon trail, read the summary and suddenly have flashbacks about sitting in computer class in elementary school? i thought math munchers was number munchers? maybe im wrong
This was a great little Apple IIe style game that I enjoyed in elementary school. Looking back, I now see that it taught basic electronics and logic. It was lots of fun at the time. More info can be found here.
"Skiing and snowboarding is a perfect programming analogy."
It's a nifty little game, but that statement seems a little out there. I think the only thing that really links the two is that they both advance forward in time. He could have used any analogy: canoing down a river, walking to class, really anything that involves movement in some direction through time.
Hey, didn't Microsoft already come out with this?
Have fun: Join D.N.A. (National Dyslexics Association)
In certain script situations, I use goto for the main loop which is comprised of a series of gosubs.
The main trick is writing the gosubs so that they execute cleanly and return the state of the sub-routine when they return to the main loop.
Why not? It might be fun!
First off, the summary (didn't RTFA) never said they were forced to play. Second of all, it's a hell of a lot more usefull than some of the crap i learned in grammer school.
I had forgotten all about it until this article mentioned it.. and now I need to know, can I still get a copy of that game somewhere?
Don't anthropomorphize computers: they hate that.
We used LOGO on an Apple IIe and we liked it!
:D
That little turtle moving all over the scren to make what were essentially spirograph pictures? Back then that was state of the art shit, boy.
Made learning programming reasonably simple too, since you learned to think in terms of the algorithim. Also taught trig, since you had to deal with angles all the freakin time. But it worked, by gum!
- Give a man a fire and he's warm for a day, but set him on fire and he's warm for the rest of his life.
I remember seeing a similar theme a long LONG time ago, back when I was a little kid about 12 years old, when I wheedled access to the local university PLATO IV terminal.
The scenario was a little oval track with a train that went around and around, the computer randomly generated 3 numbers, and you would type in an algebraic expression to get the number of spaces you would move. You could go for the longest distance, or you could try to hit special squares, like bonus multiplers, or you could try to land on the computer opponent's train which would send him backwards. I was a pretty young kid back then, but I do recall it really made me think hard about algebra, and it was a lot of fun.
PLATO IV had another educational game I really liked, I think it was MoonWars or something like that. You could play live against online opponents too. You had a screen with a random placement of circles (representing craters, I guess). Then you and your opponent were placed on the playing field. You played in alternating turns, you could either shoot a laser at your opponent, or move. The laser would bounce off the sides of the screen, only stopping when it hit the opponent or a crater. Sometimes if you had a clear field, you could use angles really close to perpendicular or horizontal, yielding crazy shots that went back and forth dozens of times. But mostly you just tried to bank shots off the sides, trying to home in to the opponent until they chickened out and moved. The educational content was pretty good, obviously you learned that angle of incidence = angle of reflection, but it also allowed you to input your shot's angle in algebraic notation, in degrees or radians. I immediately realized it was a lot faster to do algebraic notations in radians.
PLATO IV really was a groundbreaking platform for educational games, someone ought to revive some of their old classics. I made a couple of feeble attempts to write a MoonWars clone but I never got anywhere.
...in an assembly language program.
Please ignore any obvious problems in this post.
Isn't this a kinda ripoff of Skifree... or is that a twisted repressed childhood memoryu of mine?
A bullet sounds the same in every language. So stick a fucking sock in it...
For slightly younger people, there's Rocky's Boots made by the same people (The Learning Company). It teaches a lot of the same things, but in an easier (and cuter) style.
All you need is an Apple II emulator like AppleWin and you're all set!
if (currentSpace == Boardwalk) { cuss; if (bankRoll > 2500) { transferMoney(2000); else cuss; accuseOfCheating(); hitBanker(); throwBoardOnFloor(); neverPlayAgain(); printf("Monopoly sucks!!"); } }
My copy is at home, but I believe Stevens' Unix Network Programming has an example with either listen() or accept() where using a goto is the only way to guarantee proper results.
(S(SKK)(SKK))(S(SKK)(SKK))
http://www.achewood.com/index.php?date=05132003
Oregon Trail was one of my first exposures to a computer.
It was back in elementary school, probably 2nd grade.
We were using the good old Apple IIe's.
We had to carefully insert the big 5 1/4 floppy, close the door, and turn on the computer.
It was sooo powerful.
I loved that game.
The best part was when you went hunting,
you would spin around and shoot pellets at bears and rabbits.
The 2nd best part was when you crossed a stream.
80% of the time when crossing a stream some member of your group would come down with malaria or some weird disease and die.
And you had to be careful of crossing some streams, they might be too deep and your wagon could float away.
That was the best game ever.
They should bring it back in 3D form... maybe as a MMORPG
"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."
Except, of course, that arithmetic and logic are the foundations of programming. Everything else is bells and whistles, since at their core, computers are a set of binary states.
Understanding of complex logic is not common at all. My days are consistently made more frustrating by the inability of my coworkers to understand a simple conditional action. I'm not even talking about programming syntax, I'm talking about real-life. If the expense is not approved, get the approval; if it is approved, proceed to step 2. Then again, I'm an accountant, so at least the arithmetic is pretty good.
Anything at all that helps people learn basic and complex logic is good.
I still think the best way to teach a kid logic is to sit him/her in front of a computer to program in Basic. Give them some sample games, they'll take it from there. Make them load programs from a tape cassette, and they'll learn about efficiency in writing code.
"Trolls they were, but filled with the evil will of their master: a fell race..." -- J.R.R. Tolkien on Olog-hai
Was anyone else's first thought after reading the newspost, of that game for the TRS-80 where you had to answer math questions to get the skier down the hill? Oh, how I miss those ASCII slopes!
-==- Buy a Mac and leave me alone!
But seriously, get out of the 1970's, boring person.
We have this feature in GCompris but focused towards the youger kid. There is no loops, just sequencial order of commands. http://gcompris.net/article.php3?id_article=5999 I believe we need to teach kids it can be powerful to type in commands for the computer to execute. Do you believe it can help them understand computers?
Changed a bit since it was being beta tested in 1996 and even more difficult getting 3 other programmer kids to play...
l
http://www.sierramadregames.com/smg/robotanks.htm
Often wrong but never in doubt.
I am Jack9.
Everyone knows me.
I thought of (and googled for) Robo Rally too when I saw the article, and it appears that they've reissued the game, which had been most lamentably out of print for 4 or 5 years.
Still costs around 50 bucks, but IMO definitely worth it.
http://www.wizards.com/roborally/
Yeah, I can remember the 1970s, back when people still took drugs and drank alcohol, never having any fun. So boring. Not like now, when virgins can post anonymous drivel to Slashdot. You'd make a terrible philosopher anyway, if anyone still had the patience to think before they spoke.
--
make install -not war
This looks really basic, and why skiing?
If you really want a kid to dive into programming, I'd think Mindrover is a better choice. It's got programming, simulated physics, simulated electronics and competition that doesn't involve a roll of the dice.
I don't see how the c-Jump game would ever teach the trial and error aspects of coding. In Mindrover, you code better to win, and get to see a lot of hilarious faliures as you learn.
$go (that way eq really_fast) ;
; ;
if $something (%gets_in_way) {
$turn
} else {
die print "You have crashed!"
This
that crashing is far more likly while skiing.
And you have to watch out for trees...sneaky sneaky trees.
The Kruger Dunning explains most post on
A fairly obscure Italian boardgame from 1994.
Check more about it here: http://www.boardgamegeek.com/game/7580
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.
Stacks were done with something like:
POP x = *(p++)
PUSH *(--p) = x
since stacks grew downward. With this method, p == 0 means empty stack, which is nice.
The only reason ++x might be faster than x++ is that no "temp" register is needed to store the unincremented original value. The two forms are NOT semantically equivalent, unless you are ignoring the return value. Any half-smart compiler would not allocate a temp register for an unused value.
And that's all, folks.
But none of this has anything to do with whether the summary said they were forced to play. This is about whether an indeterminate "they" "should" learn about the internal workings about computers. You could have countered his "Tell me again why they should learn the inner workings of the computer." with the reason "Because they want to" but you didn't, instead responding with a negative "should", so I countered your "should" with a reason.
are cheaper, and probably more fun than this.
ôó
So you crash and die if something DOES NOT get in your way? :)
Endless arguments over trivial contradictions in books written by ignorant savages to explain thunder in the dark.
I'll even help make the cards:
- You released your game prematurely and gamers avoided it because it was buggy. You lose $1000.
- You've passed "Go". You get $200 in PayPal donations.
- EA bought your company. Go back 5 spaces.
- Your lead developer left you and went back to school. Pick a card from the "Hire" deck.
- You met your deadline 2 days in advance. Roll again!
- You failed to hire any artists from your IRC chat room. Lose a turn.
"Go that way, really fast. If something gets in your way, turn."
1) Your analysis is based on bad assumptions so your result is way off. 2) You're a sick bastard for fucking a horse.
When I was a kid, I learned a lot about performing complex conditional logic playing ChipWits. Truly a masterpiece, and really should be reincarnated. Anyone?
c hipwits/
http://www.richardsnotes.org/archives/2005/03/29/
There was a game way back when on the Atari2600 called "Rocky's Boots" that presented sorting problems of objects on a conveyor belt in various factory situations.
The player took mechanizms like "not" and "or" and characteristics "round" or "filled" to make logic that would operate to sort the things.
It was a great game. I have not seen anything quite like it since.
Once upon a time job security for plumbers and carpenters wasn't so good. Now a lot of those skills are lumped under the term "contractor" which doesn't require a "client base." You can get lots of flexibility, the labor isn't that hard (although injuries can be pretty bad) And I never had a social life, and don't have a family to spend time on. Don't now try and take my bitterness and anger away from me. Its all I have left!
How about using tiles like in Spy vs. Spy?
:)
Have one big program and different courses of action (like if's / while's).
The tiles can have programming sentences or evaluations, and you could add or change sentences in ANY execution line. (yours or your opponent's).
Who knows, you might add some conditional loops or something!
The first one to do N iterations wins
It is a great little adventure game I played when I was a kid that helped me learn programming concepts. You can design your own levels and program little objects to do whatever you say. It was kinda like programmable Rogue. You could use the ZZT programming language to make the little objects do all kinds of neat stuff, very fun to play too. See it here
Meet new people, and kill them.
I'm kicking ass with the goto command:
GOTO FinishLine
...is to crack games. Nowadays all the games I have bought are on duplicatable CDs. But in the old days we learned a lot by trying to crack games. And unlike actually playing games, when you crack a game you feel like you really are pitting your wits against someone who was being devious because their job depended on it, not because it's some artificial contrived scenario concocted by a 'game designer'. Because it's more fun than actually playing you can feel highly motivated to actually learn about what you are doing and try to understand someone else's code from the ground up. I'd put money on the people who learn to code from cracking games ending up much better than people who learn from playing games.
Doesn't it make you feel good to know that our freedoms are protected by politicans, lawyers and journalists.
This doesn't look like much of a game to me. It is more like an exercise with a random element. It is 'chutes and ladders', which also is not really a game. The players never have to make a decision. 'Chutes and Ladders' is fun when you are 6, but not 11. I think the kids are going to figure out that the outcome is basicly random, and they have been tricked into doing math. Why the HELL did it take this guy 6 years to come up with this game anyway. A real programming game would allow players to invent their own syntax. Heck, a game like Drakon teaches better programming skills, even though it has nothing to do with programming.
GENERATION 25: The first time you see this, copy it into your sig on any forum and add 1 to the generation. Social exper
Ooo man the floppy drive is broken. No wait. The computer is just upside down.
You're right of course. I was gonna say that myself, but I had to get off the computer to get somewhere, so I ended up just saying it was "certainly worth learning."
This definitely develops skills which are useful for programming. But the skills are also useful for a lot of other things. Focusing on the programming aspect of things seems like a cheesy way to market this as a "programming game," which it really isn't. Nothing resembling actual computer programming is done in this. It's a math game, and all the programming aspects do is help give the game better PR. After all, if he had marketed this as a math game, he sure as hell wouldn't be in Wired right now.
And I'm a college student who has recently signed myself up with a math major, so I'm certainly not against kids learning math.
"Never attribute to malice that which can be adequately explained by stupidity." -- Hanlon's Razor
I did the same thing, but with a calculator form of BASIC.
:)
You have no idea what a revelation it was to me to finally learn about real loops, subroutines and *gasp* arrays!
And just so everyone else knows, it had *nothing* but if (blah) goto wherever for control of execution, so I had to be inventive to be able to solve my programming problems (e.g. to make games so I could slack off in class
I have often wondered if my generation (gen x) will be the last that has code monkeys that truly understand computers.
We grew up with computers, learning assembly, BASIC, and then OOP as they languages were evolving. Now, I see 'programming' books that only show how to code using GUI drag-and-drop components, and scripting languages. While that sort of thing is great for producing applications with low dev time, what does it do to the next generation of coders?
There are people running around that 'Code' html using WYSIWYG applications, and they wouldn't know the difference between a SPAN tag and pointer if it bit them on the ass.
HA! I just wasted some of your bandwidth with a frivolous sig!
"OK, kids... let's go over the rules! Let's see here. It says that we start on Start. Well heck, that's easy enough, isn't it, kids? OK, we're gonna ski down a mountain. I can almost feel the cold air now, can't you?"
"OK, everybody on Start and ready to go. OK, let's see here. Now the directions say Keyword int creates integer variable x."
"Hey, kids? KIDS?!?!? Are you coming back?'
I'm sorry. That was a really assinine thing for me to say. I was just having a bad day, and I apologize.
--AnonymousCoward
...and an even worse educational tool.
If you look at the actual game, you will find that it is simply a version of "Chutes and Ladders" with programming language terminology grafted onto it. There are no strategic choices involved, and no aspects of the game that require that kids do any programming whatsoever. It also incorporates sample code gems such as:
Wonderful - let's teach kids how to write really bad code.
I feel very sorry for any parent that spends $21.95 for this piece of junk. Scott Aldie's remark in the Wired article is right on the mark - this game is nothing more than a gimmick, and not a fun one.
By contrast, if you would like kids to learn programming, and have fun while doing it, take a look at Alice (http://www.alice.org/). Not to mention that you get to save the $21.95 for a game your kids will actually enjoy...
As if the game (if it can be called such having absolutely no actual gameplay) wasn't bad enough, the inventor applied for and received a patent on it. I have a diatribe on the rediculousness of this http://www.koontzfamily.org/david/blog/?p=214/here .
man RTFM
No manual entry for RTFM.
I was programming small graphical games at 9 with GWBasic!
If they want to prepare to a first programming experience, they should target a 5-7 yold audience, with something maybe easier.
\u262D = \u5350
This is only somewhat related but YEARS AGO I played a game on a CoCo II called (Robot Oddsey, i think). Inside the robot you could wire circuits to navigate a maze using standard gates (not, and, or, etc.) It even supported some more advanced logic (flip flops mostly). Isn't learning fun?? Does anyone else remember this game?? BTW if anyone has an emulator for it I would love to let my daughter play it. (Don't feel like digging out the CoCo and ROM)!!!!
I can just picture the look of disbelief on some poor child's face.
if you're missing PLATO, you might be interested in cyber1.org. They have a history section there, and also a free (as in beer) client to access PLATO via the internet, with a big collection of original software. See also our own /. user Baldrson :-)
VKh
I learned a lot about programming back in the '80s by playing Robot Wars on the Apple II.
You programmed virtual robots in a Basic-like language to go into the arena and do combat with other robots...
I even wrote my own version of the game for the Atari ST and the PC...Neither of which never left my home machine......
Goofy, Geeky Gifts and More!
Sorry, I mistyped. That's SPLIT horizon.
46. The Hobo smiles, his eyes glaze over, and he burps. "Beware the man who has lived longer than the Wasteland."
That's nothing - check out this computer/programming board game from 1977 - Computer Rage.
Are you a Candy Addict?
What is the easiest language to learn for a complete beginner. I've been working with computers for over 20 years but the one thing I've never gotten into is writing code. I am extremely busy so I have little time for learning unfortunately. What I'm really looking for is an online tutorial that I can use to learn a very basic language.
Jay Dale "If you're not living on the edge then you're taking up too much space!"
You remain a dickless morass of non sequiturs, Doc. Just end it already. Take the pills.
The board game turns players into slashdot editors who must create dupes in the quickest way possible
FGD 135
Mods have no sense of humor. That was funny. And I am not Doc.
Anonymous Limbaugh Coward, I will be happy to pry the pills from your cold, dead fingers. Since you're not smart enough to understand my posts, you obviously can't read the bottle label. I will happily enjoy just bits of what finally does you in.
--
make install -not war