Scratch - Imagine, Program, Share

Scratch is the most popular tool for computer programming in schools around the world, and is used independently by millions of children for their own projects. Its block-based, drag-and-drop system supports accessible, creative learning for children of all abilities and levels of experience. Children can easily make presentations, games, simulations, puzzles - the possibilities are boundless.

Teachers can use Scratch to teach students just about any coding concept or element of computational thinking. Then, after students are proficient in using it, Scratch can become another tool for demonstrating learning in just about any content area. Through animation, audio, image, and text, students can tell stories, explain concepts, and create art. The Scratch platform can be another option for any project-based assessment or activity -- an alternative to writing, presentations, etc. For coding teachers, Scratch is a great springboard to traditional text-based coding languages like Ruby or Swift.  

Scratch has a huge associated community of users and educators (from around the world, since Scratch supports multiple languages). Because of this community, everyone from the complete novice to the seasoned expert can find tutorials, answers to questions, projects to remix, and, most important, inspiration to continue building their coding skills and finding new challenges.

https://scratch.mit.edu/