'CodeSpells' Video Game Teaches Children Java Programming
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."
Or like a windows 3.11 ui for an edutainment product that came with the computer...
whatever, as long as it works
Sounds like Code Hero.
Plays Like Code Hero.
Is Code Hero.
Why teach a crappy, relatively more difficult language like Java to children?
At least teach a hard but good language like Haskell or C.
If you don't understand any of my sayings, come to me in private and I shall take you in my German mouth.
38 of the 40 girls in the test group complained that, once they were written in Java, the spells took forever to execute.
Seriously? If they have to use a real, general purpose language, why not something less OO, like Python? It would probably be easier.
The last thing the world needs is more people who think that they are programmers. Besides, Core Wars has been around for ages!
The girls all complained they couldnt chat to their BFF's and where was the online mall
Java isn't what it used to be.
I am disappoint
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?
Seven puppies were harmed during the making of this post.
My pet monkey has mastered Java and can also paint modern art!
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.
System.out.println("You win!");
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.
My personal favorite is Io. Heck I'd even recommend Scheme. But pease not Java.
But... the future refused to change.
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.
the game
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.
That's why Java has builtin garbage collection, DUH!
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.
Bollocks.
... 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.
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. ;-)
*** Suerte a todos y Feliz dia!
Read it ages ago and enjoyed it a lot.
Perl Programmer for hire
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?
I just looked at the architecture of CodeSpells - the Unity3D game launches a JVM when a spell is executed. The JVM makes a TCP connection to the Unity3D engine, so that, when a Java spell is executed, the framework issues over the socket commands in UnityScript, a dialect of ECMAScript.
Oh, boy, just wait until we have to explain to the next generation of programmers the difference between Java and JavaScript.
Link to the framework: https://github.com/srfoster/June
Java: Write once, run anywhere. The game that teaches it: "The Windows version will be coming out soon!"
While I agree with your sentiment about "why use Java" for something like this, I also really applaud this kind of thing. Yeah, different language or language invented specifically for this app probably would have been better, but introducing kids to programming at an early age is win over all.
From the dictionary: "to become thoroughly proficient"
I think I need an hour of CodeSpells and I can add Java proficiency to my CV; I've only spend a hundred hours coding in it, so I've set my skill as "exposed to" instead.
We really shouldn't be teaching them Java. Maybe Basic or C variants, but Java is just sadistic.
Try tekkit for minecraft, it will give you a mod called computercraft which will allow you to place computers with consoles on the map and even hook up wireless modems and a disk drive to them. Using lua you can then program these computers to do whatever you want basically, me and my brother made 3 train stations which would handle carts and track switches with the computers. You can even program "bots" with lua and have them build structures and whatnot. They can even defend your area if you want. All this is done with lua inside the minecraft game. You can of course import larger scripts from outside the game since typing them in the console minecraft provides can take a while.
Anveto
They could have the spells backfire if they put credentials or access tokens in plain text within the applications.
A one-two dose of video games and computer programming was deemed more effective than traditional abstinence-only education.
How about Javascript and run in the browser or on the cloud instead? There's nothing commenting on why Java was chosen but it seems a very surprising decision to come out of a computer science department ... or maybe not. Are academics really keeping pace with technology or the public interaction with technology?
"Consensus" in science is _always_ a political construct.
For more on the concept of magic as programming, pick up the "Wizardry" series by Rick Cook.
http://en.wikipedia.org/wiki/Rick_Cook - 'What "Wiz" Zumwalt could do with computers was magic on Earth. Then, one day the master computer hacker is called to a different world to help fight an evil known as the "Dark League". Suddenly, the "Wiz" finds himself in a place governed by magic – and in love with a red-headed witch who despises him.'
I feel like my signature is very relevant today.
Apparently wizard is not a legitimate career path, so I chose programmer instead.
What if the purported caches of "evil spells" proves to be false?
Nevermind, I need an way overpriced machine with a fruity logo on it to do so.
You do realise Gerry Garcia is dead, the Soviet Union collapsed, and prawn cocktails are not in fact sophisticated?
Oh, and if you want VHS tapes you'll need to go rummaging round charity shops.
Confucius say, "Find worm in apple - bad. Find half a worm - worse."
A big point was made about creativity and the passion of experienced programmers. Then 40 students were recruited (how?) for an experimental study and given one hour to poke around in Java code. I don't quite see how the observations made can be interpreted as compelling evidence for the conclusions reached. Where exactly was the creativity? The game seems more like LEGO Star Wars, as opposed to just regular LEGO, with all the pieces are given. Could they make their own characters from scratch? It did not seem so.
good
We'll see spells like Fire.FireFactory.FireElementalBuilder.CreateElemental() and Ice.Wizardry.Spell.Hailstorm.CreateFriggingStormCloud()
The reason they are doing this is because they know their business model- the $60,000 / 5 year degree financed by unbankruptable debt- is fucked. They are massively overpriced for the value they deliver -a value which can be gotten for free online. In an attempt to create a value which cannot be had for free online, they're trying to make education dependent on very high tech- the sort that is not a commodity.
Of course, people don't actually learn any BETTER or FASTER or MORE using this 3d game, so WRT to pedagogical value the value is zero.
This is something UCSD would do. Expect glowing reports of increased comprehension etc etc to be issued presently.
I had a lot of friends who went there and they all say the same thing UCSD is a open running sewer of academic corruption set amidst a backdrop of a kiss-up / kick-down culture with the students at the bottom, then the TAs, then the adjunct, then the tenured staff through various levels of admin with each hating - and harboring a hair trigger readiness to act out that hatred- the one below it.
Here's a little piece of advice., Don't go there. Even if you (still) believe going into to debt for college is a good idea, go somewhere else, unless you're the sort of person who thrives in an atmosphere of skullduggery, tit-for-tat vindictiveness surrounded by untrustworthy, highly manipulative personality types.
Imagine kids whose first exposure to programming is Java, with the standard libs as written by Sun. They will be wrecked for life..
public static void main( string args[]) .... indeed, poor things...
lets hope they use the acm.jar at least.
The website cheap wholesale and retail for many kinds of fashion shoes, like the nike,jordan, also including the handbag,sunglass,jeans,shirts,hat,belt and the decorations, online store,All the products are free shipping, and the price is competitive, after the payment, can ship within short time. the goods are shipping by air express, such as EMS,DHL,the shipping time is in 5-7 business days! YOU MUST NOT MISS IT, === http://www.sheptrade.com/ === cheap jordan shoes $35, Air max shoes $36, Nike/shox $35, handbag $36, Sunglasses $16, New era cap $12, wallet $19, belt $18, jewelry $15, T-shirts $20, Jeans $36, (NFL MLB NBA NHL) jerseys $25, === http://www.sheptrade.com/ ===