Google Blockly is a visual, web based, programming language that works by having users drag blocks of commands and programming together to build their application. It is a great way to learn about programming because the blocks will only fit where the commands would work, like a puzzle. There is no need to memorize terms or worrying about brackets and formatting. You can also export your blockly code as real code to use.
It is still in preview, with demo's available for practice and to give feedback to Google on how it works.
I'm hoping this goes live soon as I think it is a great learning resource for learning how to program. I'd love to use it to learn and refresh my programming skills, seeing as how I only know some HTML. I have taken courses and used BASIC, Visual BASIC, Pascal and Fortran. I'd love to learn how to make apps though and think that teaching students how to make apps is a great idea for education.
Free computer science resources for teachers and students
Google Code University - free computer science classes