×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

'CodeSpells' Video Game Teaches Children Java Programming

samzenpus posted 1 year,8 days | from the get-in-upstairs-and-play-your-games dept.

Education 245

CyberSlugGump writes "Computer scientists at UC San Diego have developed a 3D first-person video game designed to teach young students Java programming. In CodeSpells, a wizard must help a land of gnomes by writing spells in Java. Simple quests teach main Java components such as conditional and loop statements. Research presented March 8 at the 2013 SIGCSE Technical Symposium indicate that a test group of 40 girls aged 10-12 mastered many programming concepts in just one hour of playing."

cancel ×
This is a preview of your comment

No Comment Title Entered

Anonymous Coward 1 minute ago

No Comment Entered

245 comments

The spell book looks INCREDIBLE: (2)

Osgeld (1900440) | 1 year,8 days | (#43417945)

Or like a windows 3.11 ui for an edutainment product that came with the computer...

whatever, as long as it works

Re:The spell book looks INCREDIBLE: (4, Insightful)

Fluffeh (1273756) | 1 year,8 days | (#43418163)

The entire game looks pretty basic - and who the heck cares? Watch a two year old and see what happens when you give em a present. They are as likely to play in the big box as with the toy.

Graphics might be important for the latest 3D shooter, but a good game doesn't HAVE to have cutting edge graphics. A game with amazing graphics can still be crap.

If the idea is to teach kids how to code, and they enjoy playing the game enough to at least learn a little coding - then it is a GREAT product. If I was ten and wanted to learn java and had a choice of following tutorials/reading books/etc or playing a game that taught me the concepts, then I certainly know how I would have learned java. Sure, all my projectst might also include a random "Save the GNOMES!!" routine, but you know..

Re:The spell book looks INCREDIBLE: (1)

cusco (717999) | 1 year,8 days | (#43418961)

Gnomes? Now if the object were to attack the Land of Gnomes instead, even I might learn how to code.

Re:The spell book looks INCREDIBLE: (2, Insightful)

LordLimecat (1103839) | 1 year,8 days | (#43419063)

The entire game looks pretty basic - and who the heck cares? Watch a two year old and see what happens when you give em a present.

Polish can be incredibly important. If first impressions are bad, the student may not get hooked, which defeats the entire point of packaging the thing like a game.

Re:The spell book looks INCREDIBLE: (2)

McFadden (809368) | 1 year,8 days | (#43418871)

I got almost my entire introduction to programming in a C-like language through being a Wizard on an LP-Mud back in my student days in London. And that had no graphical UI at all - just text only. Until that point I had no prior programming experience, but it taught me the fundamentals that have now served me for over 20 years as a developer.

Re:The spell book looks INCREDIBLE: (1)

pushing-robot (1037830) | 1 year,8 days | (#43419021)

It's silly to complain about such an early version. Don't worry—Java 10 should catch up with the Windows 95 GUI.

Code Hero (0)

Anonymous Coward | 1 year,8 days | (#43417951)

Sounds like Code Hero.
Plays Like Code Hero.
Is Code Hero.

Re:Code Hero (2)

MrEricSir (398214) | 1 year,8 days | (#43418103)

Let's compare the two, shall we?

CodeSpells actually exists and is backed by a university. Code Hero shows no signs of ever being completed and is backed by a guy who's notorious for scamming people.

Re:Code Hero (0)

Anonymous Coward | 1 year,8 days | (#43418921)

Would you mind backing those words up?

You know, especially the part about 'scamming people'?

Re:Code Hero (1)

MrEricSir (398214) | 1 year,8 days | (#43419035)

Seriously? Never heard of something called "Google"?

Re:Code Hero (0)

Anonymous Coward | 1 year,8 days | (#43419649)

Oh.. Ill remember that one the next time I write a research article.

How about Python or something? (0, Flamebait)

spike hay (534165) | 1 year,8 days | (#43417965)

Why teach a crappy, relatively more difficult language like Java to children?

At least teach a hard but good language like Haskell or C.

Re:How about Python or something? (-1, Troll)

Anonymous Coward | 1 year,8 days | (#43418019)

no one uses python in the real world outside of linux nerds, and your not going to teach kids that confusing bullshit whitespace formats, fuck programmers hate it too

Re:How about Python or something? (1)

Anonymous Coward | 1 year,8 days | (#43418167)

no one uses python in the real world outside of linux nerds, and your not going to teach kids that confusing bullshit whitespace formats, fuck programmers hate it too

Yeah, like all those Linux nerds at Google. And the significant whitespace isn't confusing, at least not to anyone who has learned how to write an outline.
(I've been programming for more than thirty years, and I love Python.)

Obligatory xkcd: Python! [xkcd.com]

Re: How about Python or something? (0)

Anonymous Coward | 1 year,8 days | (#43418887)

The people at Google probably use as much java as python. Some examples are Android and gwt. I think the reason for something like java is that it doesn't have many of the cool automatic things. This means you can teach kids how to code the basics. For the same reason I think c would have been a better language, but perhaps they were trying to teach about objects or something.

Re: How about Python or something? (5, Informative)

Anonymous Coward | 1 year,8 days | (#43419197)

The reason that Java isn't as fun to program is the same reason that it's good for businesses. The language is very restrictive and prescriptive of how you should do things. For programmers that want flexibility and power, the constraints and extra typing (dual-meaning intended) chafe. But when you're using it as part of a large group, those same constraints become the things you can depend on. Where is a certain class located? Java requires it to be in a certain directory. What methods are available on a class? Java's static type system was designed to make tooling easy, so your IDE will tell you. And even talented programmers can mess up manual memory management...the less-talented wouldn't stand a chance without Java's memory management. The list of things that Java prevents you from screwing up is quite long.

Basically, for my home coding projects and projects where I work with a small team of talented developers, Java is one of my last choices. But for my boring 9-5 job where I'm working with 30 knuckle-draggers who don't understand the purpose of an interface, let alone how to write functional code that's easy to read, I want them writing Java and I'm willing to pay the Java price to get that.

Re:How about Python or something? (0)

Anonymous Coward | 1 year,8 days | (#43418969)

Python joins the list of excellent languages that have whitespace requirements:
    Makefiles
    COBOL
    ???

Re:How about Python or something? (-1)

Anonymous Coward | 1 year,8 days | (#43418975)

>I've been programming for more than thirty years, and I love Python

In my experience, the people who love Python are hack programmers who are sloppy with types and exceptions in the beginning, and python just enables the sloppiness. The author of python even stated that he designed python for web hacking - nothing wrong with it, but type systems and formalism exist for a reason.

Re:How about Python or something? (2)

cduffy (652) | 1 year,8 days | (#43419055)

The author of python even stated that he designed python for web hacking

I'll have to ask you to back that up. Python 1.0 is from 1994, and didn't have much by way of specialized facilities for this purpose. Sure you aren't thinking of PHP?

Anyhow, if you care about "type systems and formalism", you should be on Haskell; Java is distinctly half-assed. (Type-erasure generics? Really?!)

Re:How about Python or something? (2, Funny)

Anonymous Coward | 1 year,8 days | (#43418661)

Also, you said "your" instead of "you're"; if you are confused by this, these words are used correctly here: "you're a moron, your opinion doesn't count."

Re:How about Python or something? (0)

Anonymous Coward | 1 year,8 days | (#43419573)

shut up professor, don't you have a pathetic life making your students miserable already?

Re:How about Python or something? (0)

Anonymous Coward | 1 year,8 days | (#43418029)

If you taught C or Haskell, then the boys and religious people wouldn't be capable of comprehending the language. Picking Java over C means that you're not denying an education to over half of the public.

Re:How about Python or something? (2)

spike hay (534165) | 1 year,8 days | (#43418053)

Over half of the population is way too dumb to understand programming in the first place. It's better to start off with a good language.

Also, C is easier than Java. C++ maybe not, but then it sucks balls too.

Re:How about Python or something? (2)

xero314 (722674) | 1 year,8 days | (#43418301)

That's elitist bullshit. 90% of the population of the world could easily learn to program and learn to do it proficiently. If we taught binary and boolean logic earlier in life, programing would be second nature. And yes I interview crapy engineers regularly. It's not lack of capability holding them back, but rather piss poor education.

Re:How about Python or something? (2)

spike hay (534165) | 1 year,8 days | (#43418461)

Yeah, you interview crappy >. Try talking to liberal arts students or people who have not gone to college.

Re:How about Python or something? (3, Insightful)

xero314 (722674) | 1 year,8 days | (#43418557)

Gee, when you talk to people that never learned programming they know nothing about programming. If you are having trouble explaining it then the problem might not be on their side.

Re:How about Python or something? (0)

Anonymous Coward | 1 year,8 days | (#43418937)

I'd like to say that one might have a university degree, that doesn't mean they can code even if their life depended on it.

Re:How about Python or something? (0)

Anonymous Coward | 1 year,8 days | (#43419181)

90% of the population of the world could easily learn to program

Agreed.

and learn to do it proficiently

You're an idiot. Look at how easily manipulated and illogical most people are. There is simply no way that they can understand abstract logic in any significant way, and claims to the contrary are just the result of blind optimism.

Re:How about Python or something? (1)

Anonymous Coward | 1 year,8 days | (#43419463)

That's not their fault; it's the fault of our educational system.

Re:How about Python or something? (3, Insightful)

jrumney (197329) | 1 year,8 days | (#43418659)

Also, C is easier than Java.

Perhaps to someone who has been trained in C but not Java. The biggest problems with C when compared against Java is the limited extent of its standard library, sorting through the plethora of poorly documented non-standard libraries that are available (vs Java, where if there isn't a standard for it, then the next obvious stop is apache.org) and the fact that you need to understand the hardware architecture of the system you are developing for in a lot of cases, as well as distinctions between stack and heap and a bunch of low level gotchas in the language that are far from obvious to the newbie, or even to experienced developers sometimes.

Re:How about Python or something? (0)

Anonymous Coward | 1 year,8 days | (#43418989)

The thing is, everything you describe as a minus are requirements to becoming a competent programmer. Over the last 25 years as a programmer I've worked with programmers who didn't understand these concepts and they all sucked. Teach the essential concepts early so they inform all subsequent learning.

Re:How about Python or something? (0)

jrumney (197329) | 1 year,8 days | (#43419331)

When we teach maths to elementary school students, do we insist that they understand differential calculus before we teach them addition and subtraction?

Re:How about Python or something? (1)

qwak23 (1862090) | 1 year,8 days | (#43419195)

As opposed to the high level gotchas in Java? ;)

Java can be just as obtuse as C, if not more so.

Re:How about Python or something? (1)

Anonymous Coward | 1 year,8 days | (#43418065)

Java is a great language for beginners. It teaches you all the basics of OOP without all the confusing mess that can accompany garbage collecting and pointers.

Re:How about Python or something? (1, Insightful)

spike hay (534165) | 1 year,8 days | (#43418125)

Pointers are not complicated, I'm sorry. Mabye for 8 year olds, but that's why they should learn Python. It's actually really easy, it's a very popular language, and it teaches good coding practices as well as jack-off object oriented concepts.

Re:How about Python or something? (0)

Anonymous Coward | 1 year,8 days | (#43418169)

Python fails through bad syntax. It replaces curly braces with inferior trailing colons and worse.

Re:How about Python or something? (1)

spike hay (534165) | 1 year,8 days | (#43418199)

Nah, it's more readable to use whitespace to denote codeblocks. It's not like it's easy to match up a bunch of curly braces. And you should be indenting anyway, right?

Re:How about Python or something? (1)

xero314 (722674) | 1 year,8 days | (#43418389)

White space works to denote code blocks only if everyone agrees on what readable code looks like. But since K&R taught everyone the wrong way, you might find it hard to get people to agree. With white space being insignifacant each reader of the code can format it however they want. One might argue that we should not even be storing formatted code but leave the format up to the ide/editor.

Re:How about Python or something? (3, Insightful)

Anonymous Coward | 1 year,8 days | (#43418179)

Pointers really are complicated for anyone IQ 110 or below. Most people who attempt CS weed out classes are above average, but half struggle with pointers.

Re:How about Python or something? (1)

Anonymous Coward | 1 year,8 days | (#43418187)

FYI, the target audience IS elementary school students.

Re:How about Python or something? (0)

Anonymous Coward | 1 year,8 days | (#43418255)

I went on to become quite proficient at C. Prior to that I had experience with 6502 assembler on the C-64. My first exposure to pointers was in Pascal though, and it was tougher than assembly. I'm not sure if it was the syntax or what; but it was actually harder to get used to pointers in HLL than it was to STA to a memory location. Pointers got easier for me in C and C++ after a year or so until they were 2nd nature. I've often wondered what would happen if * wasn't used for pointers in C. There's a lot of cognitive dissonance between multiplication and pointers for newbies. p=enough_memory; *p=2 ; ASSERT(4==2**p). I can write that and read it now and it's like writing and reading English; but first year? Had to slow way down and parse it...

Re:How about Python or something? (0)

Anonymous Coward | 1 year,8 days | (#43419485)

Don't be proud of writing ASSERT(4==2**p). That's ghastly code. Nobody in their right mind would ever write that if they wanted the code to be readable.

Re:How about Python or something? (0)

Anonymous Coward | 1 year,8 days | (#43418977)

I learnt about pointers myself when I was a kid. And handles too.

So I don't think the problem is pointers. The problem is C is a poor language. If C was a power tool it would be one with cutting edges nearly everywhere and fewer than 10 people in the world could _consistently_ use it safely.

Re:How about Python or something? (1)

pspahn (1175617) | 1 year,8 days | (#43418849)

I would argue that it's probably more beneficial to teach children some completely fictional programming language. Let the intelligent ones figure out theoretical improvements.

Re:How about Python or something? (1)

Kagato (116051) | 1 year,8 days | (#43418925)

I was just visting with the good folks at the local Python users group. Nice folks, but the when I dug into where the actual jobs are it was clear Python was not a bread winner by a long shot. Most of them were using only Python when they were bidding out the work and the client had no input into the language to use. That tended to be side gigs. The 9-to-5 work was usually Java or .Net.

Python certainly has it's great points, but so do a dozen of so does Groovy, Clojure, Ruby and Scala. I know a lot of folks using Python to help manage their cloud deploys. But the actual applications tend to be written in Java or a language that's going to compile to Java Optcode. Like Jython.

Re:How about Python or something? (2)

Samantha Wright (1324923) | 1 year,8 days | (#43419735)

While the mods may not agree with you very strongly, I've seen a wealth of evidence that says Java is a bad introductory language. The CS department at my alma mater switched from an all-Java curriculum to one with a Python intro, and the student attrition rate dropped by a significant margin. A friend of mine—the daughter of two CS profs—was dead-set on avoiding programming as a teenager until I introduced her to languages other than Java.

While the formalisms and syntax are great for software engineers writing reusable and interoperable code, they're a serious blight to beginning programmers. The practice of teaching nothing but Java is probably more responsible for the post-dotcom drop in enrolment than the actual tech sector recession. Children should be taught something with a simple, easy-to-understand operating model like BASIC, Turing, or Pascal. It's frustrating to think about how much work went into programmer education in the sixties, seventies, and eighties, and how it's all been thrown away just because the languages at hand were obsolete.

not a complete success (4, Funny)

Anonymous Coward | 1 year,8 days | (#43417971)

38 of the 40 girls in the test group complained that, once they were written in Java, the spells took forever to execute.

Re:not a complete success (4, Informative)

Anonymous Coward | 1 year,8 days | (#43418099)

Your joke was funny 15 years ago when Java was actually slow.

Re:not a complete success (1, Insightful)

RightwingNutjob (1302813) | 1 year,8 days | (#43418225)

It's still funny today, when Java is slower than C, C++, Fortran, and pretty much any other fully compiled language.

Re:not a complete success (3, Insightful)

mark-t (151149) | 1 year,8 days | (#43418303)

I've seen java programs actually run *faster* than native code under certain circumstances. In particular, object allocation with the 'new' keyword in Java is often far faster than dynamic allocation with the 'new' keyword in C++, even when you factor in the costs of garbage collection compared to manually invoking delete in C++.

Re:not a complete success (3, Interesting)

Anonymous Coward | 1 year,8 days | (#43418901)

I really can't tell if you're trolling. If you're not trolling then you should know that the reason heap allocation is faster in Java is because Java allocates a sizeable chunk of the systems memory on runtime startup to use as a pool allocator. In C++ you're expected to come up with your own allocation strategies because you know more than the compiler about what the high level behavior should be. What you were actually benchmarking was the overhead of the system calls/context switches that come with operator new versus just grabbing the next page in a pool. If you were to use a simple pool allocator in C++ as well, it would smoke Java as expected.

Incidentally, this is the reason I started blacklisting the Java runtime on my machines: it used to render one of my older systems unusable because it would allocate a significant fraction of system memory if it was allowed to come up. Because it was a low-memory machine, occupying such a huge chunk of memory made it extremely easy to cause the machine to thrash if anything else were to run as well.

Re:not a complete success (1)

mark-t (151149) | 1 year,8 days | (#43419059)

Of course it would... but in C++, you have to manually write the code to be optimized for whatever types of objects you were pooling, where the java runtime environment is smart enough to figure out how to do that on the fly, without having to spend any effort writing custom allocators for each type of object.

Re:not a complete success (1)

chrism238 (657741) | 1 year,8 days | (#43418359)

May seem funny, but quite irrelevant. Programs don't need to run quickly for novice programmers.

Re:not a complete success (0)

Anonymous Coward | 1 year,8 days | (#43418953)

Wait, did you just imply *ALL* Java programmers are novices?!

OH YOU

Re:not a complete success (1)

Darinbob (1142669) | 1 year,8 days | (#43418411)

Funny thing is.. well, not funny it's actually kind of sad... most common high end languages today are scripting languages or interpreted with JIT. The traditional "compile it first and use a minimal run time" method is considered something that only ancient dinosaurs did before they died off. So in that sense Java is probably one of the fastest languages in that set.

Re:not a complete success (4, Interesting)

Kagato (116051) | 1 year,8 days | (#43419027)

Yeah, that's fairly outdated thinking. Speed isn't derived by the language anymore. It's the execution that counts. Java Compiles down to op-code, which is run in the JVM. The JVM has decades worth of run-time optimizations. The majority of large scale web sites are written in Java.

Hey, ever heard of Hadoop. You know the large scale Map-reduce framework based on Google's technology that sorts terabyte and petabyte of data? Java.

Re:not a complete success (0)

Anonymous Coward | 1 year,8 days | (#43418105)

Please stop spreading lies.

Re:not a complete success (0)

Anonymous Coward | 1 year,8 days | (#43418263)

Don't be ridiculous, they couldn't conjure their spells because they ran out of memory.

Re:not a complete success (2)

MrEricSir (398214) | 1 year,8 days | (#43418285)

The bigger problem is that once students exit the game, their memory gets garbage collected and they have no recollection of what they learned.

Re:not a complete success (2)

McFadden (809368) | 1 year,8 days | (#43418909)

38 of the 40 girls in the test group complained that, once they were written in Java, the spells took forever to execute.

Probably ran slow because their machines had been compromised by 5 separate zero-day exploits before they'd finished the lesson.

Re:not a complete success (3, Interesting)

b4dc0d3r (1268512) | 1 year,8 days | (#43419555)

When Java first took off, and the web was made of Java content executed via plugin, Java was written by idiots who concatenated strings instead of using string builders, and similar abuses of common sense through ignorance and teaching materials that focused on results rather than good practice. Executables outside of plugins suffered the same deficiencies, although they were probably attempting loftier goals, and the performance was... what is the opposite of magnified, because it was slower than a sloth taking a crap?

This lasted a number of years, even as the Java interpreter became stable and work was made to increase its performance. Idiot coders learned or abandoned Java, and the runtime made even the remaining idiots look better, if not "good".

If you don't find this comment amusing, you either lack historical perspective, are a Java programmer, or should consult a medical professional to be diagnosed for your deficiency in some manner or other.

Security problems these days seem to be focused on the browser plugin, rather than locally executing native apps, so the security comments mostly don't apply. Visiting a random internet web page and allowing it to execute poorly sand-boxed arbitrary code is a bit like licking random strangers' genitals. In case that interests you, let me state that it should not be done as a general practice, and you should consult a medical professional.

I have read Java for over a decade, and I have coded in Java for 3 years or so. Having experience with x86 ASM (AT&T and MASM), K&R C, ANSI C, GWBasic, Turbo Pascal, C++ (VC 5-2010, gcc 2.x - 3.x, mingw), VB 5-6, C#, VB.NET, Python, Powershell, JavaScript (advanced, not your normal getElementById().Blink() shit) and several other introductions, I can say this:

Java examples in the real world and in most printed books are the most incestuous, groupthink-y, overly-architected piles of verbosity I have ever had the displeasure to read. I completely understand the need for default parameters, dependency injection, constructor and method chaining, and all kinds of modern best practice.

But I have never seen another language embrace the overbearance of best practice teachings without implementing some balance of solution soundness. Java examples and implementations (open source of course, because I have read them) seem to abound with overloaded methods under 5 lines of code, which initialize another parameter to call another overload. Now you have multiple functions to unit test, multiple code paths, multiple exception sources, and unless you are brainwashed in the spirit of Java, comprehension of the complete workings are complicated by scrolling off-screen with essentially purpose-free function declarations, whitespace between functions, and an essentially functional programming paradigm split over several different methods to give the appearance of flexibility, OOP, and conscious design.

It reads to me like someone wrote that no method should ever take more than one additional parameter that you were not already given, and coherence be damned. I would much rather see a single method with 5 non-optional parameters than 5 overloads which calculate and pass one new parameter each time.

The Java paradigm seems to be calculating things within the overloaded methods is preferable to factoring out these into unrelated functions. In a truly sane, OOP world, those calculations would be a part of the object, or if sufficiently general would be part of the object's base object.

In fact, the Java approach seems to be the Builder design pattern, which I have not seen adopted as frequently as it should be. Obligatory link here. [stackoverflow.com]

As sensible as the Builder pattern seems to be, I think it would still require a number of extra Set/Get property methods, which are function calls. Maybe Java has optimized this, but if you don't adopt it optimization can't help you. And the chained method calling slows down the operation of the program as the runtime tries to do slow things quickly.

Groupthink and ignorance are the only things that make Java slow. They just seem to be more common in Java. I assume that is because it is easier to shoot yourself in the foot with a compiled language, or the runtime supports other options for an interpreted language.

If the educational materials were burned and re-written, Java would have a number of things on its side. My point is, without sufficient education, they will still produce output slower than expected performance.

Java? (0)

Anonymous Coward | 1 year,8 days | (#43417977)

Seriously? If they have to use a real, general purpose language, why not something less OO, like Python? It would probably be easier.

Re:Java? (0)

Anonymous Coward | 1 year,8 days | (#43418005)

Because most of the world uses Java? At least it's not BASIC.

Re:Java? (0)

Anonymous Coward | 1 year,8 days | (#43418277)

What's wrong with basic for 10-12 year olds? I guess I was a bit younger when I started with basic on an Atari 800 and when I eventually made my way to C as a young teenager I was able to appreciate and understand it better. I've learned since then that in a lot of ways the language is less important than the concepts behind how computers and programs work. For example I was able to convince some wacky servo control code written in visual pascal to do what I wanted in a few hours - 90%+ of that time was just sorting out the syntax of a language I'd never used before and most of the last 10% was figuring out how to talk to the servos politely (so they didn't slam the camera around). The programming logic behind what I was trying to do took me seconds to sort out in my head and that's the part we're trying to teach with basic and other "intro" languages.

Re:Java? (0)

Anonymous Coward | 1 year,8 days | (#43419245)

BASIC was my first programming language as well (TRS-80) and, yeah, made a lot of stuff in it and it wasn't a completely corrupting foundation for future learning. Maybe I should have said, at least it's not PHP. :)

But it's a really good thing to learn to compartmentalize program logic into testable chunks that, more or less depending on reality, perform one function. It's also good to have strong typing, and to be exposed to the concept of memory management, and OOP. BASIC is better than nothing, but I think it's easier to reach a plateau, whereas with Java you're dealing with something as powerful as C/C++ with better libraries. And if you only learn one language, Java's widely used and cross-platform.

If one really wants to be a programmer then it certainly helps to see a few different languages with a few different paradigms to be able to identify common themes and look at your go-to (heh) programming language in a new light. But for new programmers, if the up-front pain of a more complex language like Java is mitigated by large and frequent payoffs in a videogame environment, it seems like a win over teaching them BASIC or a scripting language where they might miss out on some important principles.

Fwa! Crikey! (0)

Anonymous Coward | 1 year,8 days | (#43417989)

The last thing the world needs is more people who think that they are programmers. Besides, Core Wars has been around for ages!

after 60 minutes (0)

Anonymous Coward | 1 year,8 days | (#43418017)

The girls all complained they couldnt chat to their BFF's and where was the online mall

Only for Mac (1)

Anonymous Coward | 1 year,8 days | (#43418023)

Java isn't what it used to be.

No Source? (0)

Anonymous Coward | 1 year,8 days | (#43418109)

I am disappoint

Let me read that again (0, Troll)

Dunbal (464142) | 1 year,8 days | (#43418123)

It takes a whole hour to teach 10 year olds loop and conditional statements, something that could be taught in 5 mins and mastered in 10? Why yes, sign my school district up for this, how many millions will it cost?

Different people learn in different ways. (1)

girlinatrainingbra (2738457) | 1 year,8 days | (#43418195)

right. you know everything. PLaying with something and engaging in it and relating it to fun and excitement like Harry Potter and "expelliarmus" (and knowing some of the roots of words and such) can teach you more than purely "rote memorization" could.
.
Rote memorization could maybe get them to pass a multiple choice exam where they can pick out which is "a conditional statement" out of the choices, or perhaps which is a valid beginning or end of a loop construct, but play-acting and engaging the mind into thinking and wanting to find a solution is more likely to instill concepts into the children's minds and brains. Concepts can cross domain boundaries, and learning a concept in topic A could allow you to use that concept in other seemingly unrelated topics.
.
Don't throw your derision at this. Different people learn in different ways.

No. (0)

Anonymous Coward | 1 year,8 days | (#43418265)

Different people learn in different ways.

No, we don't. Human beings learn the same way. We're all not that different.

All humans learn best when they do it by discovery and especially, when it's a topic that interests them. This "game" basically makes programming interesting for folks who wouldn't otherwise be interested in it.

Let's take some of those girls who really wanted to learn programming anyway and let's see how they do without the game.

Re:Let me read that again (5, Insightful)

Anonymous Coward | 1 year,8 days | (#43418453)

Yeah, you go ahead and explain loops and conditional statements to 40 10-year-olds. They'll learn it in 5, master it in 10, forget all about it in 15. They'll probably be bored, too.

Or you can use a software like this which will engage them, encourage them, and help them remember it when they go home that night. It sure would be a shame if they were excited to learn more the next day and had a platform that was there to teach them and give you time to grade their math tests.

Re:Let me read that again (3, Interesting)

qwak23 (1862090) | 1 year,8 days | (#43419069)

I wish I had mod points right now.

One of the best things I ever had as a kid was a TRS-80 (CoCo - and not a true TRS-80 either, even though that was stamped on it) that booted to a BASIC interpreter. The code for any games I loaded directly off disk could be tinkered with easily, no need to compile. This was awesome as a curious 5 year old.

Even better about it were the games "Rocky's Boots" and "Robot Odyssey". These games taught me the basics of digital electronics, lessons which have actually helped in my current career as a technician (with no formal training in digital logic). Seeing this kind of software being produced in a modern setting is awesome, I wish there was more of it.

Re:Let me read that again (1)

Anonymous Coward | 1 year,8 days | (#43418515)

It takes a whole hour to teach 10 year olds loop and conditional statements, something that could be taught in 5 mins and mastered in 10? Why yes, sign my school district up for this, how many millions will it cost?

Your statement is complete nonsense. I teach high school computer science, and even the most talented kids take hours of practice to master loops.

So can my pet monkey. (0)

Anonymous Coward | 1 year,8 days | (#43418145)

My pet monkey has mastered Java and can also paint modern art!

had a similar idea some time ago. (4, Interesting)

wierd_w (1375923) | 1 year,8 days | (#43418157)

I had a similar idea some time ago, but with an MMORPG setting.

One of the issues that has always rankled me hard was the "cookie cutter" nature of the world events in those games, as well as the limiting gameplay options, so I had this idea for "obfuscated and sigilized" programming syntax as the basis for a game's magic system. Rather than presenting a loop as a nested block of instructions, it would depict it as a "container", with subcomponents inside. Kind of a mix of flowcharting and stylized syntax.

The idea was that the layout of the "enchantment" could be moved and teased to make clever images out of the interconnected containers and symbolic representations, to make the programmatical nature of the system less banal, and much more aesthetically attractive, while simultanously making the kinds of magic and counter magic highly diverse and dynamic.

I never really did much with the idea (ideas aren't worth much, despite what the USPTO and several shell corps may claim. Implementations are far more valuable.), and all the "on paper" mental models I tried kept having non-trivial problems.

I like seeing that somebody had a similar idea, and made a working implementation.

Re:had a similar idea some time ago. (-1)

Anonymous Coward | 1 year,8 days | (#43418309)

Check out ROBLOX [roblox.com] to see an MMORPG world where kids learn how to program Lua while playing with game worlds. It is pretty sweet, and yes, I do work there.

Re:had a similar idea some time ago. (3, Funny)

exploder (196936) | 1 year,8 days | (#43418437)

Battlegrounds in World of Warcraft were kind of awesome back before they (quite correctly, I guess) put all sorts of restrictions on what kinds of things could be scripted. I used to *own* the level-19 battlegrounds with a warlock and an addon I wrote to keep track of enemy targets and optimally distribute my various curses and afflictions. I just ran around mashing the spacebar like crazy, because among the few restrictions was that every action had to be tied to a hardware event.

I also earned 10,000 gold in the auction house with another addon of mine that helped me find and relist underpriced stuff. At that time, 10K gold was an eye-wateringly large sum. It's probably pocket change now...I've been out five years.

Man, I really did feel like a wizard with arcane and hidden knowledge. It was great. I've often wished for a game where programming was the way you do magic, but only that once have I gotten it. I guess a key part of the experience was that hardly anyone else could do it, or knew how I was doing it, which is how magic is often imagined to be.

Not a new idea (1)

pokoteng (2729771) | 1 year,8 days | (#43418211)

Colobot was here before this, and I'm sure there are many other games that involve programming as major gameplay. Colobot itself didn't use an existing language (had some kind of OOP thing made up by the devs), but the idea is there. But still, I'm glad the idea is being pushed. I really enjoy games that pushes the skill on the players, with actual skill, not merely time invested or money invested.

Doomed (-1, Flamebait)

Anonymous Coward | 1 year,8 days | (#43418267)

Of all the languages to choose, Java will most certainly drive these students away from programming computers. I know several languages and the worst garbage language out there in my opinion is Java. Spit!

Re:Doomed (3, Funny)

Anonymous Coward | 1 year,8 days | (#43418365)

That's why Java has builtin garbage collection, DUH!

kturtle & minecraft vs codespell (2)

Ragica (552891) | 1 year,8 days | (#43418403)

My nearly six-year-old is doing great things (for a kindergartner) with KTurtle -- which is really a pretty cool environment (I was surprised to find). He also spends much time hacking crazy stuff with redstone in Minecraft. The next logical step to real programming language seems to me, keeping it fun and relevant to his interests, is to introduce some javascript (as much as I dislike it) so he can mess up web pages with little effort. From there it seems python is the friendliest, easiest and most resource-rich multi-purpose playground.

Maybe CodeSpell will be something to check out eventually. Though the java example on their blog doesn't look all that fun to me. I hope its fun. If it gets to the point where I'm teaching the kid OOP, and all the verbose java syntax requirements, he'll probably only want to make minecraft mods. That's what CodeSpell is up against in this house.

Re:kturtle & minecraft vs codespell (1)

qwak23 (1862090) | 1 year,8 days | (#43419147)

I would think any language that's fairly simple and can produce instant results would be a good language to introduce a child to. I say this because I had BASIC at the age of 5 and I could type out a few lines of code, hit run and see the results (almost) instantly. Better yet was having a ton of software written in BASIC that I could load up, tinker with and then try. I'm not really in touch with most modern languages, so I don't know what's out there that would have that same kind of feel, but I know that as a kid it was awesome for me (granted everyone is different, but hey).

Jumping on the bandwagon... (1)

gaelfx (1111115) | 1 year,8 days | (#43418651)

... but it seems they are willfully ignoring Linux as a platform. And teaching about computers. Yeah, cliche to complain about it, I know, but it does seem kind of disingenuous at best.

Neal Stephenson bet them to it (1)

williamyf (227051) | 1 year,8 days | (#43418773)

In the Diamond Age, the "premier" teaches logic, programming and nanotechnology in a similar fashion.

While it is good to see the concept taken to practice.....

Nothing new to see here, move along. ;-)

Re:Neal Stephenson bet them to it (2)

qwak23 (1862090) | 1 year,8 days | (#43419115)

There have been games that have done this before, even well before "The Diamond Age" was an idea in Stephenson's head. The problem is these kinds of games are so few and far between that it's fairly notable when one comes up.

While I certainly played my fair share of standard games as a kid, I also had quite a few educational ones as well (granted some of them were below me, my parents bought me a math game based on my age and not my ability). As much as I hate coding now (mostly due to syntax crap in languages like Java), I love the logic behind it and the games I had that involved various forms of programming to solve problems were always a lot of fun.

Jesus, Java? Why not COBOL? (1)

Xcott Craver (615642) | 1 year,8 days | (#43419189)

Java is an OK language, but it's kind of bureaucratic and boring. I can't think of a better way to suck all the magic out of a fantasy game than to have the spells written in Java---except maybe having the kids produce an ER diagram and a set of tables in Boyce-Codd normal form.

At the very least, they could do without the pointless punctuation. Does a spell really have to have semicolons and empty parentheses to denote that the spell is imperative?

Load More Comments
Slashdot Account

Need an Account?

Forgot your password?

Don't worry, we never post anything without your permission.

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>
Sign up for Slashdot Newsletters
Create a Slashdot Account

Loading...