Stories
Slash Boxes
Comments
typodupeerror delete not in

Comments: 124 +-   How To Teach Programming To Kids, Via XBox on Saturday July 11, @04:37PM

Posted by timothy on Saturday July 11, @04:37PM
from the if-it's-fun-it's-educational dept.
education
programming
entertainment
games
it
technology
An anonymous reader writes "Chris Wilson reviews Kodu, the new XBox game that he calls 'Logo on Steroids.' The game allows you to build a world and program every object in it with an in-house graphical language, making the game a primitive example of 'reactive state machines' in a 'multi-agent concurrent system.' It sounds like what we call 'application specific integrated circuits' in engineering, where every line of code runs in parallel."
story

Related Stories

This discussion has been archived. No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More
Loading... please wait.
  • adults? (Score:5, Interesting)

    by sopssa (1498795) * on Saturday July 11, @04:37PM (#28663439)

    This is actually quite interesting. First time I came across state machines was in Max Payne level editor, which was something fantastic for a creator-minded / "lets try out what this shit can do" person like me. Now I'm mainly a programmer / game developer, but I always love to mess around with things and create fun things quickly just to see what they can do.

    Too bad its mainly made for kids, there's not enough such toys for us adults :) However just out of the interest I guess I'll be getting this anyways (yeah, obviously for my kids that will born in ~5 years)

  • by Anonymous Coward on Saturday July 11, @04:50PM (#28663559)

    Your turtle shrinks.

  • MindRover [cnet.com] came out about ten years ago with a programming model that sounds like this one.

    It was really cool. The GUI generated code in an intermediate language ('Ice', C-ish I think), then compiled that to some kind of VM. You were never meant to see those guts though, and it didn't let you hack the intermediate files. It's a shame, it would have gotten a lot more geek cred, even if it shattered the level playing field :\

    This, will probably be limited to the GUI parts, being on a console and all.

      • Omega was based largely on the '70s-'80s classic RobotWar [wikipedia.org]. There weren't even really any BBSs to speak of yet, so people used to snail mail their source code to each other to battle it out. Magazines also ran mail-in tournaments.
  • My first real encounter with programming was The Games Factory and later multimedia fusion from ClickTeam - it did a darned good job of teaching the concepts of programming, while being easy enough to get something very decent quickly and easily, but being multipurpose enough to be surprisingly useful (Multimedia Fusion along with MooSock and a little creativity was sufficient to crash remote windows machines running a particular firewall software...)
    I was later taught a tad of VBS inside access by a frie
  • by davek (18465) on Saturday July 11, @05:08PM (#28663691) Homepage Journal

    My first program was in 1991 on a TI-something:

    print hello

    this came with a syntax error. My second program was

    print "hello"

    And it worked. Over a decade later, I'm still programming. I'm not really convinced that "game" based programming systems do anything to inspire the young programmer. I say put them in front of a blinking cursor, the apt ones will just get it.

    • by stevied (169) * on Saturday July 11, @05:21PM (#28663767)
      Mine was something similar, but a few years earlier on a borrowed ZX Spectrum, and a few months later a BBC B+.

      I don't know about you, but there were less "distractions" in my childhood - for example, only 4 TV channels, and I didn't watch that much. I spent a lot of time reading (books) - including under the bed covers with a torch when I wasn't supposed to be.

      Modern kids have a lot distractions available - multi-channel TV (usually available in their rooms), PC or console based games, mobiles, the internet .. if we're going to get them hooked [xkcd.com], we might have to use something that's more obviously visually appealing, and easier to get into with the systems they already have around them. It might seem depressing (especially to those of us who already feel like old-timers before they've reached 35), but sometimes you have to bend to reality a little.

      And on the positive side, they have python available to them to progress to. Beats the crap out of any form of BASIC on the elegance and features front ..
      • I don't buy it. You're not much older than me, and I remember there being plenty of distractions around when I was a kid. We had TV, movies on VHS, NES, Sega Master System, and the great big outdoors where you could play MMRL(real life) RPGs like Cops 'n' Robbers and Cowboys 'n' Indians. I didn't pick up programming for a lack of other (presumably better) things to do. I did it because I had a fascination with figuring out how things worked. The thing my dad did that got me going was to buy a computer-

        • Personally I think parents do a great harm to their children by allowing them to have a TV in their room, or a cell phone just like all the other kids have, or INet Access in their rooms.

          I respectfully disagree with you on that last point. I mean, each parent has to make their own decisions, yeah, but at the very least, let them access a whitelist of sites. You know, gnu.org, sourceforge, google's code hosting, their distro's package mirror, etc.

          Sure, keep 'em off 4chan, but let them have the opportunity to learn.

          Me, I spent most of my early childhood (80's) without access. Had an Apple II, and a few games. 90's came along, I got a PC, with a modem. It wasn't long before I was on every loca

        • Remember that Refrigerator box you turned into Jupiter 2 and flew across the Universe?

          Not allowed. Health and safety.

          How about those "woods" only a block away that you could explore for hours without ever getting bored?

          Not now. There's a peadiophiddlerist behind every tree!

          Or those Caves those men are making, if you go around to the other entrance you can get in without getting caught!

          Better hope it's nothing to do with power generation, or you'll be charged as a terrorist.

          Sigh.

        • Outdoor distractions are arguably more purposeful, teaching coordination, balance, navigation, all that stuff.

          The two things that bother me about the half-generation or so below me (and probably lots of my peers who I just failed to notice, if I'm honest) are (i) the excessively social side to it, the constant need to be in touch, the complete inability to amuse oneself or develop a personal sense of security, and (ii) the completely artificial nature of most of the amusements, that teach absolutely noth
        • "Torch" in British English = "Flashlight" in American English.

          • You've got to admit though, the idea of a young kid reading under his duvet whilst wielding a flaming brand is rather more dramatic and visually appealing ;-)
    • Sweet. I started on a TI-82 sometime around then too. My first program was a Russian roulette program where the user had to pick 1-6 and if they picked the wrong number they died. Since I didn't know how to generate a random number, I hard coded the "kill" number in. After I figured out how to generate a random number I didn't look back. I agree, give coders a language/environment they can easily jump into and they will get it. :D
    • My first program was on a Commodore VIC-20 [wikipedia.org] in 1981, I was 8 years old at the time.

      10 PRINT "HELLO ";
      20 GOTO 10

      What happened when I ran it just blew my mind and brought me 28 years later where I am now. Instead of wanting to be a fireman or a policeman like every other boys, I wanted to work with computers for a living. Great memories.

      I think, a simple interactive language like that is still the best way for a child to learn how to program.

      Valtor

      • Forgot an interesting tidbit from the wiki page.

        A young Linus Torvalds was given a VIC-20 as his first computer.

        Its high accessibility to the general public meant that quite a few software developers-to-be cut their teeth on the VIC-20, being introduced to BASIC programming, and in some cases going further to learn assembly or machine language.

        Valtor

      • "10 PRINT "HELLO ";
        20 GOTO 10 ...and brought me 28 years later where I am now."

        You are still in the loop?

    • Re: (Score:2, Interesting)

      Personally, this attitude drives me nuts. Sure, the kids with a real natural love for it will pick it up no matter what interface you put in front of them. But you will hook MORE if you provide them something entertaining to get them interested. There are two major bars to clear: one to initially get interested in the profession and the second is to become a professional. I want the first bar low and the second bar high. There is plenty of time in the middle to filter out those people who lack the necessary
      • I agree completely. A typical child will get 10 years of music classes and 10 years of art classes as well as a shop class and a home economics class before they graduate high school -- not because people need these things later in life, but to expose them to these subjects hoping some may find interest in one of these areas. Yet when a student takes their first programming class, often its shoveled at them as a dry unpalatable set of instructions to memorize. Only a few of the very most interested end u

    • And it worked. Over a decade later, I'm still programming. I'm not really convinced that "game" based programming systems do anything to inspire the young programmer. I say put them in front of a blinking cursor, the apt ones will just get it.

      Logo was my first brush with programming. I still have fond memories. Obviously, no one approach works for everyone and just because one way worked for you, that does not mean another might not work for someone else.

      Even if people don't become programmers, just understanding the way computers work is invaluable. Where I work, I'm providing classes on how to do reporting off our CRM system. Do I expect every user to write their own reports? Not really. The hat I was hired in under is report writer and there'

    • I say put them in front of a blinking cursor, the apt ones will just get it.

      Yeah, I take the same view about life in general. I put my kids in the jungle and let them fend for themselves. If my forefathers could survive there, my kids should be able to do the same. Although so far, none of them have come back to me, which is strange because I wrote my address down on a pair of dog tags around their neck.

    • And it worked. Over a decade later, I'm still programming. I'm not really convinced that "game" based programming systems do anything to inspire the young programmer.

      I'm convinced that it does. Since I wrote my first line of code in FoxPro (yeah, I know, a weird choice of a first language) at 10, I kept trying to write a "proper" game. I never made it (though I did manage to write a few simple clones of basic arcane games back then), but I've learned so much in the process, and I was genuinely interested in pursuing any knowledge even very remotely related to the subject while I was working at it.

    • Even if it doesn't help people program, maybe it can help the less technically inclined to get a better idea about how software works. I got interested in programming because of games. When I saw games glitch, and saw programming limits showing through and tried to figure out why they couldn't achieve what they wanted, it gave me insight on how things worked. Through observation, I knew enough about making games that it made learning programming theory easier, and I was quickly able to achieve what I wan
      • Hmm... now that I think about it, I think you were correct. Which means that my young brain instantenously made not only one programming discovery (syntax), but two (variable substitution). Thanks for reminding me!

        And it was all because of that provocative blinking cursor....

  • by HangingChad (677530) on Saturday July 11, @05:34PM (#28663845) Homepage

    I first read the article title as How To Program Kids Via XBOX.

    That would have gotten me right into console gaming.

  • No need to bring hardware design into this. I believe the term is 'functional programming'.

    http://en.wikipedia.org/wiki/Functional_programming [wikipedia.org]

    • actually, from the video, its almost exactly declarative programming

      • yeah, looking at the (current) wikipedia breakdown, I guess 'declarative' would have been the better choice. Though under declarative they only have 'functional' and 'goal-oriented' as members of that class, with the latter not yet having a wikipedia page yet. So I don't think 'functional' is too bad a choice. In fact, when I consider the classes of programmings from the best intuitive definitions of the words, I think 'functional' is better at conveying the meaning to people familiar with traditional im
  • Seriously, while a toy can help provide familiarity, it's not enough to learn the field well. A more powerful and useful set of tools for an X-Box are at http://www.xbox-linux.org/ [xbox-linux.org]. Enjoy.
  • Kids these days. Back in my days ... well, I'm too senile to continue. You guys finish this off.
  • I can't believe I've this read this far in the comments and have yet to see a reference to Klik and Play [wikipedia.org]

    Certainly good memories with that program.
  • If it is all this "programming" done with a controlpad (or joystick), it doesn't look like a real programming tool. Looks more like a level editor to me. Prove me wrong.
    BTW, the guy who wanted a mouse to program may be interested on this.

    • Out of curiosity, if I used the Xbox 360 on-screen keyboard to type a novel, would it not be a "real" novel? You know, since I used a gamepad to make it.

      • Re: (Score:3, Interesting)

        I think what he means is that is it more like the warcraft 3 level editor than programming, in which case I think the answer is "yes", although in reality it sounds like it is more like a 3d Klik and Play. For example, I don't forsee the ability to write to a file and read from a file or create complicated data structures as being features.
  • I really want Kodu just for some prototyping and maybe messing around (5€ is a nice price for that IMO) but it's only available in countries which have the community games available which doesn't include Germany (presumably because of the enforced age ratings that no community games will have so they'd effectively be 18+). I wish MS hadn't thrown it on the community games system and instead gone for plain XBLA.

  • by jjl (514061) on Sunday July 12, @06:26AM (#28666531) Homepage

    I don't think these kind of approaches really teach programming. Programming is so much more about the structure of a whole program down to the minute details and everything in between, including the strict syntax.

    These game-oriented things are great, but what one learns with them is basically just a certain way how logic how object and AI interaction can work in games. And the logic is input using a finely crafted UI.

    • Re: (Score:3, Insightful)

      You make programming sound like some elitist club that only a few can joined and only if they do it the right way. I would say programming is totally useless with the ability to do any sort of logic processing.

      Any tool that allows to execute some arbitrary set of rules on a computing platform based on a series of log process would constitute as programming to me. Syntax is truly just semantics here. "Strict syntax"?? - are you a Python programmer or something? (sorry... some languages are just not s
    • Re: (Score:3, Insightful)

      That finely crafted UI is a strict syntax, it's just designed in such a way that you can't write anything invalid.

      Is there really any difference between typing the keyword FORWARD followed by the argument 10 and dragging a FORWARD block and then moving a slider?

      Personally I'd say it's analogous to the difference between a menu driven GUI and a command line. Both can accomplish the same things but the GUI might be more discoverable and thus easier to learn whereas the command line lets you get things done mo

    • You could say the same about ZZT.

      And I'm sure I'm not the only one on Slashdot who became interested in programming thanks to ZZT.

    • by FiveDozenWhales (1360717) on Saturday July 11, @04:59PM (#28663625)
      It's elementary programming--as TFA states, you define rules for the behavior of objects and the interactions between objects.

      While this certainly isn't as nitty-gritty as Logo, it still introduces kids to the ideas of determining conditions, and processes to undergo under those conditions, a very important concept in programming. It also introduces them to an object-oriented environment.

      Maybe it doesn't "teach programming to kids," but with any luck it will get them interested and excited enough about this kind of thing to pursue it academically... and maybe even give them a very basic foundation of skills.
    • IWhat games are kids supposed to create? It's a tool without a purpose.

      And the purpose of Logo was.....?

      • Logo was created to teach kids procedural programming, so that they could escape the tyranny of line numbers.

I am the mother of all things, and all things should wear a sweater.