How To Teach Programming To Kids, Via XBox
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 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)
This is just a game, kind of cool, but just a game.
Your turtle shrinks.
MindRover 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.
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 friend, and moved onto VB5, and reluctantly VB6. A lot more powerful, not quite as easy and fun though.
I then taught myself C and later C++ from scratch by Sams' books. I never really got the hang of programming for the windows API or any particular GUI toolkit, but I've latched onto the core of the language more and learnt to love embedded programming in C and assembler (Microchip PICs).
So, for anybody with young kids showing an interest in that sort of thing, I can recommend Clickteam's stuff, and Sams' books if they want to get more serious (Although the Sams' books teach the ANSI standard and stuff very well, they lack any information on system libraries which would be needed to actually do anything useful, so bear in mind, until you read up on that, you are going to be seeing an awful lot of the command prompt. Without the means to do anything really useful like graphics / networking, I can see a lot of people quickly losing interest.)
-- All your booze are belong to us.
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.
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.
6th Street Radio @ddombrowsky
When I saw this I thought someone beat me to the punch for a programming game.
In my game, you send out programming jobs to India and the winner is the one who gets the most money by selling and producing solutions to Fortune 1000 companies.
I first read the article title as How To Program Kids Via XBOX.
That would have gotten me right into console gaming.
That's our life, the big wheel of shit. - The Fat Man, Blue Tango Salvage
Porn for functional LISP code, instead of porn for broken CAPTCHAS?
No need to bring hardware design into this. I believe the term is 'functional programming'.
http://en.wikipedia.org/wiki/Functional_programming
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 give it stupid rules, things still work to some degree. You can't cause their system to infinite-loop, for example. (The length of a rule is strictly limited.)
However, to make certain types of games, some users ended up having to do strange and complex tricks involving the creation of invisible objects. Rules would then test for interactions with these objects. That type of thing could be avoided easily with a more traditional programming language. I suppose the problem is indicative of a small failing in trying to reach a balance between programming and modding development styles.
Still, I think it will be a very interesting "toy" for people to experiment with in the near future.
Insert self-referential sig here.
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/. Enjoy.
I don't know about Xbox, but if the kids have a PS3, I would just get them Little Big Planet http://www.youtube.com/watch?v=ZiRgYBHoAoU&feature=PlayList&p=3E0EC424B446242F&playnext=1&playnext_from=PL&index=8
This signature serves no purpose other than to help you see which posts were made by me.
Jeeze, don't let the cat out of the bag already! ;-) Nudge nudge, and all that...
Cheers,
"What in the name of Fats Waller is that?"
"A four-foot prune."
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. one of the hardest video games ever made, so it did not sell well :)
Why the h*ck does everybody always call xbox 360 for xbox? The xbox is a couple of year old black ugly box...
I hoped this would be a great game for me to play on my xbox... but no no...
they could/should have!
It seems like Alice, except on a console [ http://www.alice.org/index.php?page=downloads/download_alice ]. 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.
the video of the demo looked like someone just took garry's mod, stripped it, dumped in 20 year old graphics and left it..
Kids these days. Back in my days ... well, I'm too senile to continue. You guys finish this off.
Fuck systemd. Fuck Redhat. Fuck Soylent, too. Wait, scratch the last one.
Xbox wasn't responsible for the death of the Dreamcast, you're thinking of Playstation 2. Xbox 1 didn't really blow anything out of the market. It held it's own, but it wasn't until the Xbox 360 that they were in serious competition for head of the pack. If anything, Xbox 360 is proving Sony can't coast on their prior success and actually has to work if the PS3 will be successful.
Communist huh? How's that working out for you Castro?
I can't believe I've this read this far in the comments and have yet to see a reference to Klik and Play
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.
DNA in your Linux: DNALinux
How fucking hard is it to just learn a real programming/scripting language? What aged kids are they talking about? Maybe it used to be harder, but now there are many easy to learn languages that also have real uses. I learned javascript when I was 10 (for use in a game engine), and a few other simple languages before that---but not logo, or such. VB is understandable because you can actually make stuff in it. LOGO/such are pointless in my opinion.
The game actually looks kind of cool (still don't think I'd buy it), but the best way to learn to program is to learn to program.
"It sounds like what we call 'application specific integrated circuits' in engineering, where every line of code runs in parallel."
Does the guy DO engineering ? well, I do ;-)
ASIC is a process for doing a particular class of integrated circuits.
What the guy refers to is the kind of languages that describe these circuits, "RTL" (register-transfer languages) such as VHDL or Verilog, which can be used for other kinds of processes (half-custom, high-level SoC integration or FPGA for example).
Oh, and VHDL is derived from ADA, which is derived from Pascal...
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).
One of these days I'm going to cut you into little pieces. - PF
Disclaimer: I don't have kids (yet)
What about getting out of the lawn, and go RTFM?
Mastering the English language is fucking easy: all you have to do is to put an f* word in every fucking sentence.
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.
Justice is the sheep getting arrested while an impartial judge declares the vote void.
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.
--
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
--------------------------------------------- "In the end, we're all just water and old stars."
Why the h*ck does everybody always call xbox 360 for xbox?
So that they don't always have to remind themselves where Microsoft allegedly got the name. X Square Circle: You can't unsee it.
Cool, I'm glad you agree.
I just want Microsoft completely out of my life. I've been using PCs since 1996 and have had enough with Windows.
I feel like I've been forced to use Microsoft, just to use a computer.
I was sickened when they killed Netscape then broke all the W3C standards. In my opinion, they tried to corrupt the web.
I'm so glad we have the power of Google and Apple nowadays, cause they actually respect the W3C standards and don't try to corrupt the web.
Oh, and then there was Vista, that crippled OpenGL on the desktop and replaced it with DirectX, Yuk!
I used to like Windows 95, but now I've simply had enough of Microsoft.
Life without Microsoft please...
How did you know who I was?
Amazing guess :)
I remember when the Xbox was released, the Sega Dreamcast was stopped being manufactured and Sega announced that they were only going to produce games software.
Microsoft Xbox in -> Sega Dreamcast out.
There can only be so many consoles in the market place at a time.
I guess the Sega execs thought it may be too risky to try and compete with the might of Microsoft.
Microsoft have aggressively expanded their market into the console market, using their existing monopoly with PC software.
I ported it to the Wii
http://www.wiibrew.org/wiki/Bfi
"Without curiosity and knowledge, the mind is a vast void. Without the mind, curiosity and knowledge are nonexistent."
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.
The Dreamcast was circling the drain already, it's coincidental that Sega pulled the plug when they did. I say this as someone who owns and loves his Dreamcast.
How, pray tell, do you believe Microsoft leveraged their PC marketshare to push Xbox, or are you simply angry that they have capital to blow and dev tools that don't suck?