My 7 year old was learning how to program? (His idea is not mine, and he does things in the outside world. Thus, I am not too worried from this point of view. He has already gone so far as to release a game programming book from my office to read in bed.) The other day we sat down and wrote a very simple guessing number (you choose 8, and rightly so, something else is wrong).
Everything went well, but there were a few questions that he based on the syntax of the language. (I accidentally chose Java because the IDE was open at that time.) I teach the post-secondary introductory programming courses, so that was a little discovery for me (most high school students don't want to ask questions), because I really needed to figure out how explain the syntax to a 7 year old?
Obviously, any C-type language will have the same problems as most "languages". I looked at the squeak, but decided not to use it yet. I looked at Alice’s environment, but I didn’t like it either.
From a physical point of view, it is convenient with a keyboard / mouse and can easily assemble Lego sets (therefore, the following directions work for it with a funny result). I have access to Lego NXT, but it is still a little young for this (it takes too much time to see the results of work, even with the provided graphical environment).
Ideally, I would like experience to help him build confidence in mathematics and logic (if a 7-year-old has logic :-).
I remember how the turtle was a graphic / logo in childhood. I tend to do this, but wonder if there are any other ideas or can anyone recommend a good logo environment?
Change 1:
The logo works well. I need to teach him the concept of angles (90 degrees, 180 degrees). Unfortunately, they don’t actually do division at school, but so angles can be fun ...
First, cross out the square:
FORWARD 50 RIGHT 90 FORWARD 50 RIGHT 90 FORWARD 50 RIGHT 90 FORWARD 50 RIGHT 90
At some point, I will go into loops:
REPEAT 4 [ FORWARD 50 RIGHT 90 ]
And then the variables:
make "length 50 REPEAT 4 [ FORWARD :length RIGHT 90 ]
It works very well. Virtually no syntax simple for a 7 year old to remember vocabulary and immediate feedback.
Edit 2:
Well, that was a success because he was able to write a simple program (not yet loops) while I was outside the room. This actually works very well - we went out and got graphic paper and a protractor, we guessed 90 degrees, and he made a bunch of squares, turned the square into a rectangle and saw where he didn’t do how to debug it. I would recommend this approach to anyone with a 7 year old who is interested in programming. I think I will recommend it to my students after graduating from high school (!)