Is summer over yet? You haven't banished your kids to a tent in the backyard have you (yet)? Still looking for a way to keep them busy, a means to help grow your young geek?
Well my friends, I'm here to help! Today's post is a project from MIT and while it's not really a "Microsoft" sphere thing (though Microsoft has provided grants to help support it), it's pretty cool, open source and is meant for your and your little terrors (err... um... I mean... um.... kids... yeah)
With Scratch, you can program your own interactive stories, games, and animations — and share your creations with others in the online community.
Scratch helps young people learn to think creatively, reason systematically, and work collaboratively — essential skills for life in the 21st century.
Scratch is a project of the Lifelong Kindergarten Group at the MIT Media Lab. It is provided free of charge.
Who Uses Scratch?
Scratch is designed especially for ages 8 to 16, but is used by people of all ages. Millions of people are creating Scratch projects in a wide variety of settings, including homes, schools, museums, libraries, and community centers.
Around the World
Scratch is used in more than 150 different countries and available in more than 40 languages. To change languages, click the menu at the bottom of the page. Or, in the Project Editor, click the globe at the top of the page. To add or improve a translation, see the translation page.
Learn More About Scratch
Learn to Code, Code to Learn
The ability to code computer programs is an important part of literacy in today’s society. When people learn to code in Scratch, they learn important strategies for solving problems, designing projects, and communicating ideas.
Scratch in Schools
Students are learning with Scratch at all levels (from elementary school to college) and across disciplines (such as math, computer science, language arts, social studies). Educators share stories, exchange resources, ask questions, and find people on the ScratchEd website.
The MIT Scratch Team and collaborators are researching how people use and learn with Scratch (for an introduction, see Scratch: Programming for All). Find out more about Scratch research and statistics about Scratch.
Support and Funding
The Scratch project, initiated in 2003, has received generous support from the National Science Foundation (grants 0325828, 1002713, 1027848, 1019396), Intel Foundation, Microsoft, MacArthur Foundation, LEGO Foundation, Code-to-Learn Foundation, Google, Dell, Fastly, Inversoft, and MIT Media Lab research consortia. If you'd like to support Scratch, please see our donate page, or contact us at email@example.com.
I mentioned it was open source?
An open source version of the Scratch 2.0 project editor has been made available on GitHub, enabling more people to get involved with this popular bloc-structured programming language suitable for kids.
LLK-Scratch-flash is the basis for the online and offline versions of Scratch 2.0 and its code has been released under the GPL version 2 license.
Scratch 2.0 was released in May 2013 so it has taken a year for its source code to get open sourced. The main improvement of Scratch 2.0, over the earlier version which is already open sourced, is that users can create edit, and view projects directly in a web browser - you no longer have to download or upload projects or install any software.
Scratch, which is an event-driven imperative language influenced by both Smalltalk and Logo was designed by Mitchel Resnick and is developed at MIT Media Lab Lifelong Kindergarten (LLK) Group. It has a a large community of users, both individuals and in education and research. You'll find over 5.5 million projects shared on the Scratch website and on May 17 2014, designated Scratch Day, live events took place around the globe.
Now that the Scratch 2.0 editor and player have been open sourced more people can join in the task of identifying bugs and fixing or documenting issues. However, it does seem that the MIT-based Scratch team isn't looking for too much volunteer activity. The README.md notes:
This is the open source version of Scratch 2.0 and the core code for the official version found on http://scratch.mit.edu. This code has been released under the GPL version 2 license. Forks can be released under the GPL v2 or any later version of the GPL.
If you're interested in contributing to Scratch, please take a look at the issues on this repository. Two great ways of helping Scratch are by identifying bugs and documenting them as issues, or fixing issues and creating pull requests. When submitting pull requests please be patient -- the Scratch Team is very busy and it can take a while to find time to review them. The organization and class structures can't be radically changed without significant coordination and collaboration from the Scratch Team, so these types of changes should be avoided.
It's been said that the Scratch Team spends about one hour of design discussion for every pixel in Scratch, but some think that estimate is a little low. While we welcome suggestions for new features in our suggestions forum (especially ones that come with mockups), we are unlikely to accept PRs with new features that we haven't deeply thought through. Why? Because we have a strong belief in the value of keeping things simple for new users. To learn more about our design philosophy, see this forum post, or this paper.
To build the Scratch 2.0 SWF you will need Ant, the Flex SDK version 4.10+, and playerglobal.swc files for Flash Player versions 10.2 and 11.4 added to the Flex SDK. Scratch is used in a multitude of settings and some users have older versions of Flash which we try to support (as far back as 10.2).
Finally, here's some more information, just you...
Scratch is a programming language and an online community where children can program and share interactive media such as stories, games, and animation with people from all over the world. As children create with Scratch, they learn to think creatively, work collaboratively, and reason systematically. Scratch is designed and maintained by the Lifelong Kindergarten group at the MIT Media Lab.
What is the age range for Scratch?
While Scratch is primarily designed for 8 to 16 year olds, it is also used by people of all ages, including younger children with their parents.
What resources are available for learning Scratch?
If you’re just getting started, there’s a step-by-step guide available inside Scratch, or you can download the Getting Started guide (PDF). The Scratch Cards provide a fun way to learn more. For an overview of Scratch resources, see Scratch Help.
For a one-page overview of what young people learn with Scratch, see Learning with Scratch.
Read an article on the creative learning approach.
It's easy, free and should keep the kids busy for hours! Woot!