You can call me old school, but you can teach some basic to kids (Print statements, basic syntax), however, I would not start teaching concepts even like loops, or algorithms, until the child has basic grasp of algebra. In this case the math helps but it's not the math, but to ensure the child has organization, and ordering skills.
Of course a book about good or planning/organizing I think might make a great starter for a kid you want to become a good programmer. I have seen some a few already burn out (Even in childhood, often it's an adult pressure getting these kids into coding) however, without the organizational skills learned first, when things get even a little complex, the kids buried or set back by the lack of some formal reasoning or lack of organizational skill.