Pretty fun to use it to create some games, highly recommended for beginners
Scratch - Scratch is the programming language & online community where young people create stories, games, & animations.
Blockly - Blockly is a library for building visual programming editors.
EduBlocks - Making the Transition from Scratch to Python easier.
Snap - Snap (formerly BYOB) is a visual, drag-and-drop programming language.
Tynker - Game Worlds for Kids to Learn Programming
Unity - The multiplatform game creation tools for everyone.