Scratch is an excellent teaching tool for teaching kids to program. It’s essentially like programming with Lego blocks but on the screen. It’s well suited to let kids build little games. This is important because it peeks their interests and gets them involved at an early age. My daughter was successfully using this when she was 8 years old!