Scratch is a simple yet powerful programming language for children that is very easy to use yet contains many of the important programming constructs found in more "grown up" languages.
This presentation looks at some of the key ideas behind programming in Scratch, explores some possible tasks that students could be given to encourage problem solving and higher level thinking, and finishes with a snapshot of a student view into how Scratch is making a difference to learning.