He'll also have a working knowledge of algebra before he starts secondary school. A lot of the leavers at the school where I work don't have that

I often find a fun pair of commands for a young child are as follows:
10 PRINT "NAME"
20 GOTO 10
Where NAME is replaced by the kid's name.
We then went on to cover FOR loops:
10 FOR A = 1 TO 10
20 PRINT "NAME " + STR$(A)
30 NEXT A
Not that we covered what the STR$ command does. I'll tell him next time.
Finally we did some maths (he loves seeing times tables for some reason), using an IF statement to end the program:
10 B=0
20 C=13
30 B=B+C
40 PRINT STR$(C) + " X " + STR$(B/C) + " = " + STR$(B)
50 IF B<200 THEN
60 GOTO 30
70 ENDIF
I know GOTO is a messy form of program control, but it is simple to understand for beginners.