Follow Slashdot blog updates by subscribing to our blog RSS feed

 



Forgot your password?
typodupeerror
×
Education Programming Entertainment Games IT Technology

How To Teach Programming To Kids, Via XBox 124

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."
This discussion has been archived. No new comments can be posted.

How To Teach Programming To Kids, Via XBox

Comments Filter:
  • adults? (Score:5, Interesting)

    by sopssa ( 1498795 ) * <sopssa@email.com> on Saturday July 11, 2009 @04:37PM (#28663439) Journal

    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)

    • Re:adults? (Score:4, Insightful)

      by JustKidding ( 591117 ) on Saturday July 11, 2009 @05:13PM (#28663729)

      There are plenty of toys for adults, and you don't even need an Xbox for that. Just pick up a FPGA development board, and start coding stuff in VHDL or Verilog or something. Throw in a microcontroller, buy an oscilloscope and logic analyser, and you're good to go!

      • Re:adults? (Score:4, Funny)

        by similar_name ( 1164087 ) on Saturday July 11, 2009 @06:53PM (#28664337)

        There are plenty of toys for adults

        There are indeed.

      • There are plenty of toys for adults, and you don't even need an Xbox for that. Just pick up a FPGA development board, and start coding stuff in VHDL or Verilog or something. Throw in a microcontroller, buy an oscilloscope and logic analyser, and you're good to go!

        If you already have an xbox, the added cost would be the cost of the game. If you don't have an xbox and want this, you also get a gaming platform/dvd player out of it. FPGA dev board+oscilloscope+logic analyzer+pic+VHDL/Verilog is at least twice as much (probably more for decent equipment) as xbox+game (hell I think the modelsim license alone is over $100) and can't be used for anything else.

    • Re: (Score:3, Informative)

      Too bad its mainly made for kids, there's not enough such toys for us adults :)

      Actually there sort of is, it's called Garry's Mod.
      If you link it up with a third party mod called "WireMod" you can do all kinds of crazy stuff in the game by wiring things together, besides what you can do outside the game with Lua scripting.

      http://store.steampowered.com/app/4000/ [steampowered.com]

    • for my kids that will born in ~5 years

      That is an immensely long gestation period.

    • Throw a copy of Paranoid Linux on an XBox, crank up XNet and Clockwork Plunder and you can teach your kids to fight the man starting at an early age.

      Since its XBox the obligatory Cory Doctorow, Little Brother [craphound.com] references are mandatory :) Don't trust anyone over 25 and down with the man.

      • by elrous0 ( 869638 ) *
        The other day I looked in the mirror and realized that not only was I no longer fighting the man, but, in fact, I *am* the man now.
    • by ami.one ( 897193 )

      obviously for my kids that will born in ~5 years)

      *cough* *cough*

  • This is just a game, kind of cool, but just a game.
  • by Anonymous Coward on Saturday July 11, 2009 @04:50PM (#28663559)

    Your turtle shrinks.

    • Re: (Score:1, Funny)

      by Anonymous Coward

      OH GOD NO! Not my turtle!! It is already tiny as it is!
      If that tiny thing gets any smaller, atoms will start bullying it!

  • 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 that was a serious game man, you had to program a simulated tank in a very high level programing language. game was made by origin in the 1990s. you could save your "tank" to disk and give it to a friend he could then load up your tank and have a tank ai battle against one of his own tank. origin even had a dedicated bbs so you could download others tank ai and compete even get their source so you could analyze their tank ai. the manuals were like intro programming books. two of em a believe. o
      • by MeanMF ( 631837 ) *
        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 Anonymous Coward

    In Logo one could draw 2d pictures. One would have to think out how to move the turtle to draw the picture that one wanted to draw. There was the setpos command to make things easy but more interesting was using the move/turn commands.

    But Kodu doesn't seem to have any direction. What games are kids supposed to create? It's a tool without a purpose.

    • by brusk ( 135896 )

      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.

  • by davek ( 18465 ) on Saturday July 11, 2009 @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, 2009 @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 ..
      • by tool462 ( 677306 )

        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.

        Sure, the distractions are out there, but it's the parents job to keep those away from their kids, not the kids job to ignore them.

        While it's true, growing up there were less "Technological" distractions, we had our share of distractions none the less. Remember that Refrigerator box you turned into Jupiter 2 and flew
        • by ibbie ( 647332 )

          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.

        • by stevied ( 169 ) *
          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
    • 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
    • by Valtor ( 34080 )

      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

      • by Valtor ( 34080 )

        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

      • Re: (Score:3, Funny)

        by dvice_null ( 981029 )

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

        You are still in the loop?

        • by Valtor ( 34080 )

          LOL... Yep still in the loop. I try to keep myself in the loop, it helps in this field ;-)

          Valtor

    • Re: (Score:2, Interesting)

      by ug333 ( 919867 )
      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

        • by tepples ( 727027 )

          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.

          In other words, they get spammed.

    • if you were using basic or basica, as i believe, your first program would have not come with a syntax error.
      it would have printed a 0 [zero].

      (now, if you moderated this comment as redundant, i would understand and agree. i just could not resist...)

      • by davek ( 18465 )

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

        • Well you know you are getting old when you find yourself being prickly, on a saturday, about the syntax of a language dead 15 years ago..

          I'll go rehearse some cobol now.

    • by audunr ( 906697 )

      When I grew up, we didn't even have calculators to teach us programming. One person would say to another:

      10 PRINT "HELLO"
      20 GOTO 10

      and then force the other guy to run the code.

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

      Me neither. Besides, do we need MORE of Visual Basic programmers?

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

        Me neither. Besides, do we need MORE of Visual Basic programmers?

        The problem is not that the interface is graphical and interesting. As long as the programming abilities are equivalent to other languages there is no issue. The issue arises when people think that because they can arrange blocks or click through a wizard, they can model and then code the flow of information in a company. There is a subtle difference between the two, but it has little to do with Visual Basic per se.

        Given ten co-workers, 9 out of 10 without formal computer science education, which would you

  • by HangingChad ( 677530 ) on Saturday July 11, 2009 @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.

    • Jeeze, don't let the cat out of the bag already! ;-) Nudge nudge, and all that...

      Cheers,

    • by toriver ( 11308 )

      The only kid you can program via the XBox is that creepy one from the Natal (motion sensor thingy) demos at this year's E3.

  • 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

      • by jdogalt ( 961241 )
        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
    • by KDR_11k ( 778916 )

      No, looks more like the sensor-actuator approach seen in something like the Blender Game Engine.

  • Kodu is pretty well done. At a presentation I attended a couple months back, I was impressed by the level of polish they gave the system. The UI is fairly slick considering you have to use an Xbox 360 controller.

    As far as programming is concerned, it is essentially a rule based system. You give it conditions and actions to take when the conditions are met. The rules fire behind the scenes and you don't have to worry about it. One of their design goals was to make it somewhat unbreakable. Even if you g

  • 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.
  • they could/should have!

  • It seems like Alice, except on a console [ http://www.alice.org/index.php?page=downloads/download_alice [alice.org] ]. I suppose if you want to teach to kids though, you have to show them something cool, which is where Kodu succeeds. Kids like to be cool, and making it look cool helps. Also, it looks like it can be a bit of fun on the xbox.
  • 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.
    • by tepples ( 727027 )

      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]

      Then you must have missed this comment [slashdot.org] about The Games Factory and Multimedia Fusion, the successors to KNP.

  • 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)

        by JimboFBX ( 1097277 )
        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've never used the Warcraft 3 level editor, but what distinguishes it from "programming?"

          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.

          Last I checked, neither of those were required for "programming." I have lots of programs on my iPhone that don't read/write from files or create complicated data structures. By your definition, they're not "real" programs.

          What it all sums up to is: don't be an elitist prick. Programmi

          • actually your iphone programs do read/write files (that aspect is hidden from the user) and they are capable of creating complicated data structures. They were created with a general purpose programming language, as opposed to a tool that responds to counters, positions, collisions, and button presses, and most likely makes array-type operations cumbersome and time consuming.
      • While Blakey probably made the point well enough I'd add the following the question: If I speak into a microphone and and perfectly describe my desired algorithm so that a machine can execute (and the machine can in fact interpret it) the code I have spoken am I somehow less of a programmer because I didn't use a keyboard? Or was I just sitting around chatting rather than being productive or doing real work.
    • If it is all this "programming" done with a controlpad (or joystick), it doesn't look like a real programming tool.

      I would agree, but only insofar as "programming" with an IDE with templates, autocompletion, and GUI builders (and, especially, wiring up BPMN or similar diagrams) isn't "real programming".

  • Logo was great for it's time, and so is this. Anything that makes interfaces and / or programming more intuitive is great in my book. If nothing else it will hopefully get people (including possibly the next generation of programmers and engineers) more cognizant of user interfaces in general. I think usability and quality of interface on both HW and SW has often taken a back seat in many industries to varying degrees (consumer electronics and automobiles come to mind specifically).

  • 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, 2009 @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.

    • Very insightful. I agree.

      The last thing we need is to brainwash kids into the current dead-end methods of implementing software: "coding".

    • Re: (Score:3, Insightful)

      by revlayle ( 964221 )
      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
      • I think it depends on what you're trying to do. In high-school I was on a botball team. It's a robotics competition using Lego Mindstorms controllers (and others). Teams are given goals, then make & program robots with the supplied parts kit, and use the robots to compete at achieving those goals.
        We could have done some programming with the graphical software Mindstorms includes. But it was too limited, too slow, and not nearly as useful as the using C & a compiler. It's not that graphical programm
    • Re: (Score:3, Insightful)

      by aj50 ( 789101 )

      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

    • Re: (Score:1, Insightful)

      by Anonymous Coward

      You're kidding, right?
      All any kind of programming is is just a certain way of logic for putting object and interaction together.
      Whether its a compiler, processor, or something else handling the interaction makes no difference.
      A program can be made of punch cards, mechanical spindles, light and shadow, fluid dynamics or raw probability, it doesn't matter.
      You can interact with it by physically moving punch cards or mechancial spindles or using a finely crafted UI. It doesn't matter.
      Computer programming is ab

  • We developed http://btrules.com

    It's another extension of the logo idea, actually it is based on the ideas in Scratch from the same group at MIT, but it's web based and enables customization and mash ups of web properties like Google Apps and Twitter

  • I ported it to the Wii

    http://www.wiibrew.org/wiki/Bfi [wiibrew.org]
  • when I was a kid I was brought up with logo in the art class and basic in our math class as part of an experimental learning program. I think that it is really important to give kids the understanding of logic and result, a lot more important than teaching actual code since in the end the language itself is transitory but the concepts of logic will remain the same in any programming or scripting language.
    • by eltaco ( 1311561 )
      god, I wish I could mod you up. all I hear is kids claiming maths is too hard. but otoh understanding strategy (ie games, social life, paradigms) is nothing different. maths, to my experience, has always been taught in a very strange way. truth be told, that's the experience I've had in germany - schools in england always managed to show me what's what. so maybe I'm culturally biased (even though my personal understanding of myself is to be highly international and intercultural). having said that, some iq
      • well it is kind of funny, but like a lot of other people I know who have worked in coding, scripting, programming, etc. I am not really that good at "math" but have a good deal of talent relating to "conceptual" math- that is I am really good at figuring out the way to get to a problem (logic) but I am not good at taking a bunch of numbers and computing them- arguably I think that I am more on the right track than those that have the opposite issue- but in school it was just "you are bad at math". Once I st

Two can Live as Cheaply as One for Half as Long. -- Howard Kandel

Working...