How To Teach Programming To Kids, Via XBox 124
Posted
by
timothy
from the if-it's-fun-it's-educational dept.
from the if-it's-fun-it's-educational dept.
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."
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.
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: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
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:Teaches game logic, not programming (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 strict, well, to me - esp. those with no type safety, I would argue the language at that moment, would be pretty lax)
This tool the article talks about may not be it... yet. Who is to say it couldn't evolve into such a tool that dwarfed many "traditional" languages in capabilities.
Any tool - text-based, graphic-based, hell, anything-based that could provide an excellent programming/development platform would be interesting to me. Any on that can teach logic AND programming at the same time would be beyond awesome.
Re:Teaches game logic, not programming (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 more quickly.
Re:Teaches game logic, not programming (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 about the algorithm/architecture/design of the logic. The implementation is important but is a circus act.