3 ms·
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.
by tarr11 13y ago
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!
FYI - Here's more info about that particular class: http://douglastarr.com/coding-class-week-1/ http://douglastarr.com/coding-class-week-1/
- gsaines 13y agoHi 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)!
- tarr11 13y agoDefinitely contact me (contact info is on my website) - happy to give you more feedback and I have a small army of young beta testers in Marin. ;)
- zachlatta 13y agoI 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.
- leoc 13y agoBetter, 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.
- vinceguidry 13y agoI 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.
- plantsbeans 13y agoAutocorrect, code completion!
- serickson 13y agoIt's on the list!