Teaching young students or even your own kids to learn or be interested in programming can be really daunting. However, there are free programming languages that are designed to teach children the basic concepts and elements required in traditional programming that you can use to get the job done quite easily. Most of these languages are graphics-based that makes them fun and attractive for young ones or even for adults who are absolute beginner in programming. So enjoy and teach your kids programming with these free programming languages.
Alice is a creative "drag and drop" 3D programming environment that makes it easy for kids to create simple animations for story-telling, interactive games, or for sharing videos on the web. It can be a great teaching tool since it is designed to introduce students to object-oriented programming and at the same time allows them to learn fundamental programming concepts. In Alice's interactive interface, students drag and drop graphic tiles to create a program, where the instructions correspond to standard statements in a production oriented programming language, such as Java, C++, and C#. Alice is free and open source, and is available for Linux, Mac OS X, and Windows.
rest here