I am a big supporter of Code Combat. I am teaching a few kids to code in person (including my own kids). I discovered it through an HN post a few months back.
My first session of 4th graders used Code Combat on the first day, and they loved it.
I was thinking about using Code Combat through my whole session, as a way to introduce programming, because the kids loved the site so much.
But, there are issues.
* The browser loses focus. Kids don't touch type so they don't notice this until they have been typing for a few minutes sometimes(?!)
* Finding typos is incredibly frustrating for these kids. Javascript has a lot of "syntactical overhead" that gets in the way of learning core concepts.
* They just get stuck and need someone to help them. At the elementary school age level, they have about 5 minutes of total patience before they stop. They don't "rage quit" like middle school kids would, they just start goofing around.
I think these are resolvable issues, and I actually think the Olark idea is a fairly good one.
In the end, I ended up using MIT Scratch to teach most of the class. It got rid of the syntactical issues, and lets them express their creativity visually and with sounds as well.
It has its own set of issues too though since it's a visual language and some things are just hard.
That said, I'm still excited about Code Combat and watching developments closely. Keep it up guys! All the kids want to keep coding so maybe I'll try again in January!
Hi tarr11, thanks a lot for the in-depth feedback, this is hugely helpful for us. I had actually read your blog post when it was posted, and we got a lot of helpful information out of it.
Here are some responses to the problems:
* When you the browser loses focus, do you mean the code editor or the entire browser? Also, have you kids had any problems with backspace taking them to the previous page? We're trying to diagnose the latter problem and can't reliably reproduce it, but know that it's causing users a lot of frustration.
* Syntax is actually our hardest problem for new players, and we're considering ways to make it easier for people to get into the game. One idea is to shorten the method names (say to this.attack(); rather than this.attackNearbyEnemy();) enabling drag and drop or click and insert from the spell editor, etc. Do you have any specific recommendations for changes we might make?
* We're definitely shielded from the distraction-quits since our UX testing sessions tend to be either paid or semi-compulsory (classroom time), but I imagine this is a big problem. Do you find that there's a point of reliable minimum interest among players? Say during a particular level or challenge?
Again, thanks a lot for so deeply engaging and getting us some areas to work on. If you are interested, we'd love to have someone as communicative and engaged working on the open source when it gets released (hopefully in the next week or so)!
I think simplifying method names is a very good idea. However, please don't implement any sort of drag and drop interface. I've taught a few programmers using drag and drop tools and all of them have run into significant issues transitioning to "real" coding.
Better, probably, to learn programming through a drag-and-drop interface, then make a difficult transition to typing, than try to overcome both challenges at the same time and likely give up. Having done microcomputer BASIC programming as a primary-school child I can testify that syntax errors are just a horrible waste of time and enthusiasm at that level.
I think the problem is better solved by using a DSL rather than a general purpose programming language. You can make the syntax simple as pie and still keep the platform as expressive as you need it.
>American Students Are the Best Trolls and the Worst Programmers
Do you think the trolling had any effect on Americans being the worst programmers. Or were the Americans who tried coding truly "the worst." How did you determine Americans were even the ones you were talking to (by time zone?). I would like to see some data for the total students who participated by each country.
I suspect that while American kids might have been dragged into it by schools and teachers whether interested or not, international kids were all interested in it or at least choosen by teachers as good students.
Also, I do not know how many languages do they support. However, if it is only english, almost all international participating kids are someone who learned foreign language. Which rules out worst cases.
As far as I know, there was huge campaign in usa involving president and "everybody has to code" slogans. As far as I know, there was no such thing elsewhere.
I know for a fact that the hour of code was compulsory for American students, which is definitely a big contributor to trolling behavior. I know that most of my classes in HS would have reverted to juvenile behavior given an open-ended social situation like an Olark chat. That said, it was still startling!
Hey wil421, Olark gave us geoIP for each person we were chatting with, and we are able to join any player's game session (so we can assist with bugs in real time), so we got a lot of first hand experience with American student's code.
I'm not sure if the trolling was related to programming ability to be honest, I suspect that there was a strong selection effect: because most of the traffic was America, there were more American trolls, and because the trolls complained the most, we saw their code the most and the correlation was stark. As we mentioned in the blog, there were plenty of reasonable, interesting kids, but the ratio was pretty skewed towards trolls.
We edited out the location data (since it didn't really add much to the post), but it was about 85% American, 3% UK, 2% Canadian, and the remaining 10% was international with no strong traffic source leading the pack.
Given that the vast majority of the users were American, it only makes statistical sense that all the worst trolling was from there. Both because the majority of all your chat logs would be from there, and because it means you got a wider range of students from America than from other places.
The fact that the game is in English and "only partially localized" also contributes, as there is probably an inverse correlation between "tendency to troll" and "ability to learn a foreign language and play unlocalized web games."
Now, I don't doubt for a minute that Americans are the best trolls and worst programmers, but it seems disingenuous to use this data to throw more firewood on the "Americans are illiterate boors" pyre.
Trolling is more difficult if you're not a native speaker or come from a different culture, so even if there were any international trolls they didn't know proper expletives for trolling in english.
Every child should be shown how to program for a few days, but merely so that those few who are genuinely interested get to know that programming "exists".
Definitely. I didn't even know what programming was until I was about 20 years old in college, and this was after I'd settled on a major. After graduating and starting my first startup, I saw my two cofounders working on the website the first week or two and actually said "Wait, THAT'S programming?" I thought it was exclusively for making rabbit simulators in Java or something. Our goal is to get more people exposed to it earlier. I wish someone had told me, and hopefully CodeCombat will tell other kids!
And if they are genuinely interested, that they have access to the necessary resources to continue.
In middle school we had a two week section on computers and programming, which I absolutely devoured. But I didn't have access to the computer lab again in middle school, the two high schools I attended didn't even have computer labs, and my family wouldn't own a computer until more than a decade later. :-(
My first computer was my father's Amstrad '86 with a whopping 1MHz processor and 512k of RAM. He bought it so he could work on his master's thesis in the late 80s. A friend of mine in high school (during the early 00's) got his first computer in the late nineties and he bought it with own cash because his parents didn't think computers were worth it. By that time I knew a lot more about computers just by having it around the house. Simply put, you're right: access is a huge issue.
But as a programmer, awesome job Code Combat! Your turnout was pretty inspiring. I'm a little sad at the observation that American kids were such trolls though. I mean, I don't know what I expected; I meet them all the time in online video games. I guess I just had hoped the ones that would come across a code competition and be interested enough to click would also be mature enough to show some restraint.
Playing two hours a day per person would make 4380000 players. Which seems pretty realistic considering there were 12 million active Wow players at one point.
Many COD and WOW players are adults. According to some stats I read, an average player of big single player games is more then 30 years old male. So I assume that many of them will play multiplayers too. Plus, I know many adults that play those games.
I'm not sure that COD is "ultra-violent". It is violent of course, but not much more then an average action movie.
No, but death in most action movies are much more effective. Meaning they "feel" more real and killed people are more real. Plus, they are often framed in real world like story and often as positive action did by good hero.
Killed guys in COD are just pictures - they have no personality or story. The action is in context of warfare and no one there is believably "good" and "bad". Only better at shooting.
I do not think you can judge violence in such simple way. To use analogy, the movie reservoir dogs has scene with ear cutting where nobody dies. That scene is way more violent and disturbing then dozens of killed enemies by James Bond.
Basically you're pretending to be a terrorist, you have to shoot up an airport full of civilians (who die very realistically, beg for their lives, etc.), and then at the end of the level the main terrorist whose cell you're trying to infiltrate shoots you in the face and you die.
The thing is, in a multiplayer FPS, the "killing" is just a competitive metaphor. The mechanics for "killing" are oft-remarked as being very unrealistic, and the "death" is just a temporary delay before respawn. It's a kill in name only.
As far as the single-player mode goes, I can't speak from experience... and neither most other CoD players, I wager.
I had multiplayer in mind - most call of duty players do not play campaign. But yes, that scene was debated a lot.
I think that scene is something that makes Call of Duty: Modern Warfare 2 a game for adults, the same way as ear cutting scene in reservoir dogs makes it something for adults.
As far as I know, other call of duty games do not have such scene. I may be wrong on that one through.
It's slightly possible to do the level without shooting the civilians yourself (your terrorist buddies can kill them for you), but you do have to kill the Russian airport police who show up to stop you. If you refuse to shoot them, the battle just continues forever until you open fire.
Definitely, the really shocking bit is that number is about a year old, so presumably it's even higher now. Nick researched it and I thought he was being his normal hyperbolic self, but no, it's legit. PG's essay about addictiveness definitely springs to mind.
So the claim is that there have been at least 9 million hours played per day by an unknown number of "kids". That's... profoundly difficult to unpack from "more than a millennium per day". And I'm still not actually sure that's what they meant. Is this kind of construction common?
I understand "man-hours", but I've never heard words like "millennium" inserted like that.
My first session of 4th graders used Code Combat on the first day, and they loved it.
I was thinking about using Code Combat through my whole session, as a way to introduce programming, because the kids loved the site so much.
But, there are issues.
* The browser loses focus. Kids don't touch type so they don't notice this until they have been typing for a few minutes sometimes(?!)
* Finding typos is incredibly frustrating for these kids. Javascript has a lot of "syntactical overhead" that gets in the way of learning core concepts.
* They just get stuck and need someone to help them. At the elementary school age level, they have about 5 minutes of total patience before they stop. They don't "rage quit" like middle school kids would, they just start goofing around.
I think these are resolvable issues, and I actually think the Olark idea is a fairly good one.
In the end, I ended up using MIT Scratch to teach most of the class. It got rid of the syntactical issues, and lets them express their creativity visually and with sounds as well.
It has its own set of issues too though since it's a visual language and some things are just hard.
That said, I'm still excited about Code Combat and watching developments closely. Keep it up guys! All the kids want to keep coding so maybe I'll try again in January!
FYI - Here's more info about that particular class: http://douglastarr.com/coding-class-week-1/