Channels ▼
RSS

Open Source

Programming With (and From) Scratch



Scratch is a simple, easy-to-learn programming language designed at MIT's Media Lab that lets anyone create and share video games and animated stories. Introduced just over a year ago, it has already attracted a wide following -- particularly among kids aged 8 to 15 -- and a variety of uses that its creators never imagined. Now, Scratch users from around the world are gathering for the first of what is planned as an annual conference to discuss the software and its uses and to share ideas.

"It's grown beyond our greatest expectations," says Media Lab professor Mitchel Resnick, who leads the Scratch project. The three-day Scratch@MIT conference is a chance for "sharing experiences, people talking about new initiatives they're starting, and what worked and what didn't," he says.

Already, more than 160,000 projects created using the Scratch system have been uploaded to the Scratch web site, where anybody can try them out. Resnick compares the web site to YouTube as a place anyone can post or view files, but in this case the files are games or interactive stories rather than videos. "There's a new project uploaded every two minutes," he says. "It's an open-source programming community for kids."

Scratch uses a simple set of modular building blocks that can be dragged into place and snapped together on a computer screen like Lego bricks, to create simple computer programs and animations. The software is available for free download from the Scratch web site and runs on both PC and Macs. The web site also offers tutorials, forums and the extensive archive of projects that people have decided to share.

Besides the games and animated stories envisioned by its creators, users have come up with other ways to use the system that he had never imagined, Resnick says. For example, some people have created an ongoing soap-opera program with new episodes every week, and others have created online competitions and even sophisticated simulations that reproduce scientific, historical or cultural settings, such as a simulation of Easter Island or of the layers of the Earth's structure.

One group even created an online animated newscast, the Scratch News Network. SNN, as it is called, features the Scratch cat (the cartoon character that is the logo for the software) reading news about what's new on the Scratch site. "First I thought, oh, that's cute, it's a simulated newscast," Resnick says. "But then I realized, it's not simulated. It's a real newscast, it's providing information about the Scratch community."

And while the greatest use of Scratch has been within the expected age group, Resnick says the software has also extended beyond, even finding use in college-level programming classes as a way of introducing students to the basic concepts. Even Harvard uses Scratch in the first weeks of a programming class aimed at non-computer science majors. "It's a good way to get a sense of what it's like to program," Resnick says.

At the three-day conference, most of the sessions will feature educators talking about how they have been using Scratch in their classrooms, and sharing tips about effective projects. In addition, four schoolchildren from around the world -- Russia, Belgium, England and the United States -- will speak at the conference's opening session, describing especially successful ways they have used the software.

Scratch is already available in many different languages that use the standard Roman alphabet, but now it will be made available in about 30 languages including Chinese, Japanese, Arabic and Hebrew. The software will also be made available soon for low-cost computers such as the One Laptop Per Child XO and the Intel Classmate.

The development of Scratch was initially funded by the National Science Foundation and the Intel Foundation, and now has additional support from Microsoft and Nokia.


Related Reading


More Insights






Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

 
Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.
 

Video