Learning Java Through Violence
Joe writes: "Someone introduced me to a new game called Robocode and now I'm hooked as well as my 17 year old son. We are both learning Java while playing the game or I should say while building our Java robots. The game is setup to teach you how to handle events, how to create inner classes, and other Java techniques to build more sophisticated Java bots. I have a c++ background so I've been helping my son with his bots, but he's catching on very fast. It's turning out to be a cool and easy way to get the kid clued into programming and best of all its free." I'll bet if the little Logo turtles shot at each other, I would have had more fun programming as a kid.
Joe: I think it's fantastic that you're teaching your son to program. I only wish my parents and teachers recognized the importance of learning computers when I was your son's age. But don't you think that there are better ways of teaching programming than encouraging unnecessary violence? There is enough sex and violence present in the media already without intermingling it with education. The road to knowledge should not be paved with death and destruction. This is certainly not the way to encourage our children to expand their horizons.
I say, reward our children for their good deeds with positive reinforcement. The violence is completely unnecessary, and can warp an impressionable young mind.
Children are notoriously suceptible to the power of suggestion, and if you present violence to your son as a prize for doing something good, he will receive the message that violence is okay and should be encouraged. This is unacceptable, and should be stopped immediately.
Slashdot: Open Source, Closed Minds.
1) Barney. Or, as I like to call it "unlearning through sensory numbing." Obviously not a good choice for anyone, at all, period.
2)Not learning, although still through violence. Example: most pointless video games. I say most, because I am still a firm believer in the idea that viedo games are great for the imagination, among other things.
This leaves us with the healthy alternative of:
C)Learning through violence! Yes, blowing up giant robots is FUN, and most kids would be thrilled to pull the trigger and show off his or her prowess on the virtual battlefield. I know I would love to destroy a an opposing process or script with the knack of my own creation. What is the big problem, when the kid would more than likely spend his or her time on a (possibly) less productice game? I say that this is a great idea. People learn better when they are having fun with what they are doing.
Finally, it is not "rewarding" the child for following through with a violent act - it is simply a mode by which the student can learn a new skill. Haven't you ever built an erector set? Most of them involved the construction of battlefield tanks or other war machines. It just happens to be one of the best-suited applications for teaching programming.
Man is born free; and everywhere he is in chains.
When I was in 3rd and 4th grades, way back, we had Apple ][ and IBM PC Machines, and we were taught BASIC, and LOGO, both turtle and mathematic instructions. We had district-wide competitions. Computing was for more than teaching productivity software and reader rabbit-crap.
This is something that has been lost from the curriculum, and should be regained.
Joe's son is 17, and while still developing, I'd venture that any associations he's made with violence and good were made long before he reached this age. Give the kid and parent some credit, the kid is an adolescent and hasn't rejected hanging out with his Dad- they must be doing something right!
A good way for each person to tout his programming skills. The project was updated over the years by each new class of ACM members. Kind of like a university of maryland cult legacy thing in the com sci department. Anyway, I was under the impression that pretty much every school had their own version of robot wars. I know at one point, U Texas had a world wide robot wars gaming contest based on similar concepts. This was about 18 months or so before lego bots got popular. They truely cunning would like at the compiler code and figure out how many instructions were executed per time unit and craft state machines accordingly.
there are no stupid questions, but there are a lot of inquisitive idiots
Why not make it be multi-lingual? Why just Java? Supply an API that any language can use. This issue comes up whenever stored procedures are mentioned and somebody wants to use another language besides PL/SQL or Java or whatever.
Table-ized A.I.
http://www.cognitoy.com
And, of course, Loki ported it to Linux.
It's an incredibly addictive robot battle game. You generally build robots with a GUI interface, but for serious hackers there is an object oriented definition language called Ice that compiles into the same VM code as the GUI builder.
-John
Learning throgh RoboWar to produce advanced behaviour out of a slow and limited language was a great help when I later went on to dabble in embedded systems--the skill set required is very similar.
I have a positive modifier on Troll. When I mod someone Troll their karma should go UP!
Have always wanted to see a version of this built inside an RTS game. Its the only reasonable way I see to solve the stupid AI pathing issues that seem to plague the games.