User Ipad41001 asked me for my opinion of the kid’s guide on the wiki that he had written. Once I found time to do so, he asked me to post it so others could see it, because he felt he had learned something. Here it is, unedited:
Finally got some time to look at it.
I think that trying to write an online tutorial for kids under 12 (which it seems like you were targeting) is kind of pointless. (unless its a guide for a non-technical parent to follow, to in turn teach their child)
There is a development milestone called ‘the onset of abstract thought’, before which trying to teach certain concepts (programming, algebra, etc) is basically useless. For most people this happens when they are ~11 (it can vary widely in some cases), and it actually happens fast (Ive had students who in the spring couldn’t grasp the most simple of concepts, then come in during the fall and do just fine on much harder material).
Basically, things to avoid:
Lack of a clear goal: Show them what they will be making first. Talk about it. Show them its parts, and explain where you are going to start. This helps them conceptualize what is going on, and build a bridge between what they see in the code, and what it represents/means/yields. [remember, they likely have NO experience or relevant preconceptions!]
Lack of tangible progress: Younger people need a quicker and (most importantly) clearer effort/reward cycle. Starting them off with creating an ‘invisible rectangle’ is the perfect way to spoil this. Instead, front load the fun as much as possible. Have them immediately create something that is interesting.
Unnecessary non-literal phrases (such as “set the stage”): If you do this, immediately explicitly explain what it means. Do not rely on context. This is particularly a problem for autistic children, who are going to be more likely to try to program in Codea in the first place.
Ambiguity: At one point you say “add this” and then list code. Where do they add it? A kid’s first instinct will be to do so after the end of all the text on the screen, as that is how they are used to writing. This specific case is misleading for everyone, but ambiguity in general is again more challenging for autistic people.
Text: You avoided using big blobs of text, which is good, however you still relied upon the text for getting the message across. Include pictures of how the code/program should look, and at the end of each section a complete copy of the code.
Giving them half the tools: You tell them how to do things like move a sprite based off of the accelerometer, but you don’t tell them how to look up how to do that. I did not follow along with the tutorial word for word, but did you ever explain the difference between putting code in setup() or draw()?
As for what to do to improve the materials available to children coming to Codea… I’ll think on it.