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."
adults? (Score:5, Interesting)
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)
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)
There are plenty of toys for adults
There are indeed.
Re: (Score:1, Offtopic)
A certain "flashlight", misspelled?
Re: (Score:2)
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:1)
Does that do 3D? I can make 2D games with PyGame easily but 3D ones are more complicated to get working.
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]
Re: (Score:2)
I just rezzed an exploding dildo! Wooo!
Re: (Score:1)
for my kids that will born in ~5 years
That is an immensely long gestation period.
Re: (Score:2)
Re: (Score:2)
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.
Re: (Score:2)
Re: (Score:1)
obviously for my kids that will born in ~5 years)
*cough* *cough*
This isn't programming. (Score:1)
Re: (Score:2)
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.
Re: (Score:2)
Re:This isn't programming. (Score:5, Funny)
programming thanks to ZZT
Cos every girl's crazy 'bout a C#-dressed man.
Re: (Score:1)
I may be old, infrequent, and/or unhip but that's hilarious ;-)
Re: (Score:1)
Re:This isn't programming. (Score:5, Insightful)
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.
Just say NO to Logo on steriods (Score:5, Funny)
Your turtle shrinks.
Re: (Score:1, Funny)
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!
Like MindRover? (Score:2)
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.
Anyone remember Omega! (Score:1)
Re: (Score:2)
My First Programming (Score:2)
I was later taught a tad of VBS inside access by a frie
It's not directed enough (Score:1, Interesting)
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.
Re: (Score:2)
IWhat games are kids supposed to create? It's a tool without a purpose.
And the purpose of Logo was.....?
Re: (Score:2)
Logo was created to teach kids procedural programming, so that they could escape the tyranny of line numbers.
programming without typing? (Score:5, Interesting)
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.
Re:programming without typing? (Score:5, Insightful)
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
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
Re: (Score:2)
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-
Re: (Score:1)
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
Re: (Score:2)
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
Re: (Score:2)
Not allowed. Health and safety.
Not now. There's a peadiophiddlerist behind every tree!
Better hope it's nothing to do with power generation, or you'll be charged as a terrorist.
Sigh.
Re: (Score:2)
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
Re: (Score:2)
I had to read that twice.
Re: (Score:2)
"Torch" in British English = "Flashlight" in American English.
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
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
Re: (Score:2)
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)
"10 PRINT "HELLO "; ...and brought me 28 years later where I am now."
20 GOTO 10
You are still in the loop?
Re: (Score:2)
LOL... Yep still in the loop. I try to keep myself in the loop, it helps in this field ;-)
Valtor
Re: (Score:2, Interesting)
Re: (Score:2)
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
Re: (Score:2)
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.
Re: (Score:1)
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...)
Re: (Score:2)
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....
Re: (Score:1)
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.
Re: (Score:1)
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.
Re: (Score:2)
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'
Re: (Score:2)
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.
Re: (Score:2)
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.
Re: (Score:2)
Re: (Score:1)
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?
Re: (Score:1)
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
Need reading glasses (Score:4, Funny)
I first read the article title as How To Program Kids Via XBOX.
That would have gotten me right into console gaming.
SHHH! (Score:2)
Jeeze, don't let the cat out of the bag already! ;-) Nudge nudge, and all that...
Cheers,
Re: (Score:2)
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.
it's called functional programming (Score:2)
No need to bring hardware design into this. I believe the term is 'functional programming'.
http://en.wikipedia.org/wiki/Functional_programming [wikipedia.org]
Re: (Score:2)
actually, from the video, its almost exactly declarative programming
Re: (Score:2)
Re: (Score:1)
No, looks more like the sensor-actuator approach seen in something like the Blender Game Engine.
Polish, Programming, and Hidden Complexity (Score:1)
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
And Etch-A-Sketch Teaches Art!!!! (Score:2)
Re: (Score:2)
Unlike Sony, Microsoft chose to kill off its existing line when they introduced the 360. So for the purpose of current-day market, "Xbox" and "XBox 360" are the same.
X Square Circle (Score:2)
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 [wikia.com].
and they did not release for PC? :( (Score:1)
they could/should have!
ALICE (Score:1)
Get the fu (Score:2)
wow (Score:2)
Certainly good memories with that program.
Re: (Score:2)
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.
Isn't this just a level editor? (Score:2)
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.
Re: (Score:2)
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)
Re: (Score:2)
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
Re: (Score:2)
Re: (Score:1)
Re: (Score:2)
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 (Score:1)
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).
Not available in my country (Score:2, Interesting)
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.
Teaches game logic, not programming (Score:3, Insightful)
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:2)
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)
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:2)
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)
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)
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
Web based graphical programming (Score:2)
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
Kids should use brainfuck (Score:1)
http://www.wiibrew.org/wiki/Bfi [wiibrew.org]
it actually makes sense (Score:1)
Re: (Score:2)
Re: (Score:1)