Scratch – Designed by MIT students and aimed at children ages 8 to 16, this easy-to-use programming language lets kids build almost anything they can dream up. No crazy lines of code here. Instead you arrange and snap together Scratch blocks as if they were virtual Legos. But it's more than just a coding guide, it's a vibrant online community of programmers who swap ideas and inspiration.
Scratch is a programming language that makes it easy to create interactive art, stories, simulations, and games – and share those creations online.
According to Scratch developers, Scratch supports the nine types of 21st century learning skills identified by the Partnership for the 21st Century (http://www.p21.org) ;these skills include: thinking creatively, communicating clearly, analyzing systematically, collaborating effectively, designing iteratively, and learning continuously.(Rusk,Resnick,& Maloney,n.d.).
The Scratch programming languages was designed for educational use, to support the constructionist approach to learning which encourages creative problem-solving. Students will be problem solving as soon as they load up Scratch.
Although, Scratch programming facilitates higher order thinking such as problem solving skills, teachers can provide instructional support to students, to help them think through difficult programming problems. This can involve having students break down problems into smaller sub-components through the creation of algorithms, and exploring multiple solutions to problems.
Resources for Learning Scratch
Porting Scratch Projects: Instructions for turning Scratch apps into standalone apps for Mac and Windows.
Michael’s Exercises: An archive of notes for the exercises mentor Michael Katz has presented at CoderDojo.
Learn Scratch: 64 free lessons in Scratch.
Learning How to Program with Scratch: Introduces computing and Computer Science to a younger audience using the Scratch programming environment.