I have been steadily teaching my children computer programming using Scratch, which is a computer programming language from MIT that allows kids to learn programming while appreciating their creative outlets of games, art, and music. In my humble opinion Scratch is perfect for very young children and for children who have a very short attention span or really enjoy creating art, music, and interactive stories.
Another option for teaching programming to young children, little kids, and even adults is Small Basic, a programming language and environment modeled after the Basic language. Per the website:
“Small Basic helps beginners take the first step into the wonderful world of programming.
- Small Basic derives its inspiration from the original BASIC programming language, and is based on the Microsoft .NET platform. It is really small with just 15 keywords and uses minimal concepts to keep the barrier to entry as low as possible.
- The Small Basic development environment is simple, yet provides powerful modern environment features like Intellisense™ and instant context sensitive help.
- Small Basic allows third-party libraries to be plugged in with ease, making it possible for the community to extend the experience in fun and interesting ways.”
Small Basic has a nice graphics window for doing art work and games as well as the popular Turtle Graphics that is very popular for teaching young children. Although easy, Small Basic is definitely a bit more sophisticated compared to Scratch, so you may want to start with Scratch first.

Download Small Basic here.
Hope this helps.
David Hayden