I'm a bit late to this, hopefully not too late to be relevant.
Don't underestimate your child's capacity to learn algebra. I taught myself to program with BASIC in 3rd grade. Part of how I learned was by copying program listings from magazines and modifying them. When I came in contact with math that I didn't understand, I taught that to myself as well. I learned algebra from my older brother's textbook.
I was lucky, because I had an excellent book to learn from. It was the book that accompanied my Radio Shack Color Computer 2. If you can get your hands on one of those, you might have a look at it for your curriculum planning.
My recommendations for languages:
Logo
http://www.alancsmith.co.uk/logo/
Scheme
http://www.drscheme.org/
Python
http://www.python.org
I'd say they are written in order of least "real world" usable to most useful. Personally, I think I'd use scheme for my own kid (if I had one). Or perhaps start with logo, move to scheme, then python. The three will give him a very wide perspective of the world of programming.
Stay away from C. If your son is really into programming, he'll pick up C eventually. C is notoriously tedius to program with. It was the 5th or 6th language I learned, and it still is among my least favorite to use. I only use it because often there is no choice, and even then I often use python to build prototypes.
But learning languages like those listed above will give him a higher level and broader perspective, and perhaps most importantly faster results. When I was learning, fast results kept me interested. If I got stuck on something for too long, I'd quit and play with legos or something.
-kev